Pular para o conteúdo principal

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:

dart
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:

dart
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:

dart
class C {
  int c;
​
  C(this.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ê.