Pular para o conteúdo principal

invalid_annotation_from_deferred_library

Detalhes sobre o diagnóstico 'invalid_annotation_from_deferred_library' produzido pelo analisador do Dart.

Constant values from a deferred library can't be used as annotations.

Descrição

#

O analisador produz este diagnóstico quando uma constante de uma biblioteca importada usando um import adiado (deferred) é usada como anotação. Anotações são avaliadas em tempo de compilação, e constantes 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 usada como anotação quando a biblioteca dart:math é importada como deferred:

dart
import 'dart:math' deferred as math;
​
@math.pi
void f() {}

Correções comuns

#

Se você precisar referenciar a constante como anotação, então remova a palavra-chave deferred do import:

dart
import 'dart:math' as math;
​
@math.pi
void f() {}

Se você puder usar outra constante como anotação, então substitua a anotação por uma constante diferente:

dart
@Deprecated('...')
void f() {}

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ê.