invalid_ super_ formal_ parameter_ location
Detalhes sobre o diagnóstico 'invalid_super_formal_parameter_location' produzido pelo analisador do Dart.
Super parameters can only be used in non-redirecting generative constructors.
Descrição
#
O analisador gera este diagnóstico quando um parâmetro super é usado em qualquer lugar que não seja um construtor generativo não redirecionador.
Exemplos
#
O código a seguir gera este diagnóstico porque o parâmetro super x está em um construtor generativo redirecionador:
class A {
A(int x);
}
class B extends A {
B.b(super.x) : this._();
B._() : super(0);
}
O código a seguir gera este diagnóstico porque o parâmetro super x não está em um construtor generativo:
class A {
A(int x);
}
class C extends A {
factory C.c(super.x) => C._();
C._() : super(0);
}
O código a seguir gera este diagnóstico porque o parâmetro super x está em um método:
class A {
A(int x);
}
class D extends A {
D() : super(0);
void m(super.x) {}
}
Correções comuns
#
Se a função que contém o parâmetro super pode ser alterada para ser um construtor generativo não redirecionador, então faça essa alteração:
class A {
A(int x);
}
class B extends A {
B.b(super.x);
}
Se a função que contém o parâmetro super não pode ser alterada para ser um construtor generativo não redirecionador, então remova o
super:
class A {
A(int x);
}
class D extends A {
D() : super(0);
void m(int x) {}
}
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ê.