non_ generative_ constructor
Detalhes sobre o diagnóstico 'non_generative_constructor' produzido pelo analisador do Dart.
The generative constructor '{0}' is expected, but a factory was found.
Descrição
#O analisador emite este diagnóstico quando a lista de inicializadores de um construtor invoca um construtor da superclasse, e o construtor invocado é um construtor de fábrica. Somente um construtor generativo pode ser invocado na lista de inicializadores.
Exemplo
#
O código a seguir produz este diagnóstico porque a invocação do construtor
super.one() está invocando um construtor de fábrica:
class A {
factory A.one() = B;
A.two();
}
class B extends A {
B() : super.one();
}
Correções comuns
#Altere a invocação do super para invocar um construtor generativo:
class A {
factory A.one() = B;
A.two();
}
class B extends A {
B() : super.two();
}
Se o construtor generativo for o construtor sem nome, e se nenhum argumento for passado a ele, então você pode remover a invocação do super.
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ê.