prefer_ const_ literals_ to_ create_ immutables
Detalhes sobre o diagnóstico 'prefer_const_literals_to_create_immutables' produzido pelo analisador do Dart.
Use 'const' literals as arguments to constructors of '@immutable' classes.
Descrição
#
O analisador emite este diagnóstico quando um literal de lista, mapa ou conjunto
que não é const é passado como argumento para um construtor declarado em uma
classe anotada com @immutable.
Exemplo
#
O código a seguir produz este diagnóstico porque o literal de lista ([1]) está
sendo passado para um construtor de uma classe imutável, mas não é uma lista
constante:
import 'package:meta/meta.dart';
@immutable
class C {
final List<int> f;
const C(this.f);
}
C c = C([1]);
Correções comuns
#Se o contexto puder se tornar um contexto constanteConstant contextUma região do código em que a keyword const está implícita e tudo dentro dessa região precisa ser constante. Saiba mais, então faça isso:
import 'package:meta/meta.dart';
@immutable
class C {
final List<int> f;
const C(this.f);
}
const C c = C([1]);
Se o contexto não puder se tornar um contexto constanteConstant contextUma região do código em que a keyword const está implícita e
tudo dentro dessa região precisa ser constante. Saiba mais, mas
o construtor puder ser invocado usando const, então adicione const
antes da
invocação do construtor:
import 'package:meta/meta.dart';
@immutable
class C {
final List<int> f;
const C(this.f);
}
C c = const C([1]);
Se o contexto não puder se tornar um contexto constanteConstant contextUma região do código em que a keyword const está implícita e
tudo dentro dessa região precisa ser constante. Saiba mais
e o
construtor não puder ser invocado usando const, então adicione a palavra-chave
const antes do literal de coleção:
import 'package:meta/meta.dart';
@immutable
class C {
final List<int> f;
const C(this.f);
}
C c = C(const [1]);
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ê.