sdk_ version_ ui_ as_ code
Detalhes sobre o diagnóstico 'sdk_version_ui_as_code' produzido pelo analisador do Dart.
The for, if, and spread elements weren't supported until version 2.3.0, but this code is required to be able to run on earlier versions.
Descrição
#
O analisador produz este diagnóstico quando um elemento for, if ou de spread é encontrado em código que tem uma restrição de SDK cujo limite inferior é menor que 2.3.0. Usar um elemento
for, if ou de spread não era suportado em versões anteriores, então esse código não vai conseguir rodar em versões anteriores do SDK.
Exemplo
#Aqui está um exemplo de um pubspec que define uma restrição de SDK com limite inferior menor que 2.3.0:
environment:
sdk: '>=2.2.0 <2.4.0'
No pacote que tem esse pubspec, código como o seguinte produz este diagnóstico:
var digits = [for (int i = 0; i < 10; i++) i];
Correções comuns
#Se você não precisa oferecer suporte a versões antigas do SDK, então pode aumentar a restrição de SDK para permitir o uso da sintaxe:
environment:
sdk: '>=2.3.0 <2.4.0'
Se você precisa oferecer suporte a versões antigas do SDK, então reescreva o código para não usar esses elementos:
var digits = _initializeDigits();
List<int> _initializeDigits() {
var digits = <int>[];
for (int i = 0; i < 10; i++) {
digits.add(i);
}
return digits;
}
Salvo indicação em contrário, a documentação neste site reflete Dart 3.13.7. Relatar um problema.
Encontrou essa página sem tradução ou que precisa de correção? Abra uma issue e nos ajude a manter esse site em PT-BR para ajudar pessoas como você.