Pular para o conteúdo principal

non_const_call_to_literal_constructor

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

This instance creation must be 'const', because '{0}' is marked as '@literal'.

Descrição

#

O analisador emite este diagnóstico quando um construtor que tem a anotação literal é invocado sem usar a palavra-chave const, mas todos os argumentos do construtor são constantes. A anotação indica que o construtor deve ser usado para criar um valor constante sempre que possível.

Exemplo

#

O código a seguir gera este diagnóstico:

dart
import 'package:meta/meta.dart';
​
class C {
  @literal
  const C();
}
​
C f() => C();

Correções comuns

#

Adicione a palavra-chave const antes da invocação do construtor:

dart
import 'package:meta/meta.dart';
​
class C {
  @literal
  const C();
}
​
void f() => const C();

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