type_ init_ formals
Detalhes sobre o diagnóstico 'type_init_formals' produzido pelo analisador do Dart.
Don't needlessly type annotate initializing formals.
Descrição
#
O analisador produz este diagnóstico quando um parâmetro formal de inicialização (this.x) ou um parâmetro super (super.x) tem uma anotação de tipo explícita que é igual à do campo ou do parâmetro sobrescrito.
Se um parâmetro de construtor usa this.x para inicializar um campo, então o tipo do parâmetro é implicitamente o mesmo tipo do campo. Se um parâmetro de construtor usa
super.x para repassar ao construtor da superclasse, então o tipo do parâmetro é implicitamente o mesmo do parâmetro super do construtor da superclasse.
Exemplo
#
O código a seguir produz este diagnóstico porque o parâmetro this.c tem um tipo explícito que é igual ao do campo
c:
class C {
int c;
C(int this.c);
}
O código a seguir produz este diagnóstico porque o parâmetro super.a tem um tipo explícito que é igual ao do parâmetro
a da superclasse:
class A {
A(int a);
}
class B extends A {
B(int super.a);
}
Correções comuns
#Remova a anotação de tipo do parâmetro:
class C {
int c;
C(this.c);
}
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ê.