const_ constructor_ with_ non_ const_ super
Detalhes sobre o diagnóstico 'const_constructor_with_non_const_super' produzido pelo analisador do Dart.
A constant constructor can't call a non-constant super constructor of '{0}'.
Descrição
#
O analisador emite este diagnóstico quando um construtor marcado como const invoca um construtor da sua superclasse que não está marcado como
const.
Exemplo
#
O código a seguir produz este diagnóstico porque o construtor const em B invoca o construtor
nonConst da classe A, e o construtor da superclasse não é um construtor const:
class A {
const A();
A.nonConst();
}
class B extends A {
const B() : super.nonConst();
}
Correções comuns
#Se não for essencial invocar o construtor da superclasse que está sendo invocado atualmente, invoque um construtor constante da superclasse:
class A {
const A();
A.nonConst();
}
class B extends A {
const B() : super();
}
Se for essencial que o construtor atual seja invocado e você puder modificá-lo, adicione const
ao construtor da superclasse:
class A {
const A();
const A.nonConst();
}
class B extends A {
const B() : super.nonConst();
}
Se for essencial que o construtor atual seja invocado e você não puder modificá-lo, remova const
do construtor da subclasse:
class A {
const A();
A.nonConst();
}
class B extends A {
B() : super.nonConst();
}
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ê.