invalid_ annotation_ constant_ value_ from_ deferred_ library
Detalhes sobre o diagnóstico 'invalid_annotation_constant_value_from_deferred_library' produzido pelo analisador do Dart.
Constant values from a deferred library can't be used in annotations.
Descrição
#O analisador produz este diagnóstico quando uma constante definida em uma biblioteca importada como biblioteca adiada (deferred) é referenciada na lista de argumentos de uma anotação. Anotações são avaliadas em tempo de compilação, e valores de bibliotecas adiadas não estão disponíveis em tempo de compilação.
Para mais informações, veja Carregando uma biblioteca sob demanda.
Exemplo
#
O código a seguir produz este diagnóstico porque a constante pi está sendo
referenciada na lista de argumentos de uma anotação, embora a biblioteca que a
define esteja sendo importada como biblioteca adiada:
import 'dart:math' deferred as math;
class C {
const C(double d);
}
@C(math.pi)
void f() {}
Correções comuns
#
Se você precisar referenciar a constante importada, então remova a palavra-chave
deferred:
import 'dart:math' as math;
class C {
const C(double d);
}
@C(math.pi)
void f() {}
Se a importação precisar ser adiada e houver outra constante adequada, então use essa constante no lugar da constante da biblioteca adiada.
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ê.