Pular para o conteúdo principal

const_deferred_class

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

Deferred classes can't be created with 'const'.

Descrição

#

O analisador emite este diagnóstico quando uma classe de uma biblioteca importada com um import adiado (deferred) é usada para criar um objeto const. Constantes são avaliadas em tempo de compilação, e classes de bibliotecas adiadas não estão disponíveis em tempo de compilação.

Para mais informações, consulte Carregando uma biblioteca sob demanda.

Exemplo

#

O código a seguir produz este diagnóstico porque tenta criar uma instância const de uma classe de uma biblioteca adiada:

dart
import 'dart:convert' deferred as convert;
​
const json2 = convert.JsonCodec();

Correções comuns

#

Se o objeto não precisar ser uma constante, altere o código para que uma instância não constante seja criada:

dart
import 'dart:convert' deferred as convert;
​
final json2 = convert.JsonCodec();

Se o objeto precisar ser uma constante, remova deferred da diretiva de import:

dart
import 'dart:convert' as convert;
​
const json2 = convert.JsonCodec();

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