super_ formal_ parameter_ without_ associated_ positional
Detalhes sobre o diagnóstico 'super_formal_parameter_without_associated_positional' produzido pelo analisador do Dart.
No associated positional super constructor parameter.
Descrição
#O analisador produz este diagnóstico quando há um parâmetro super posicional em um construtor e o construtor da superclasse invocado implícita ou explicitamente não tem um parâmetro posicional na posição correspondente.
Parâmetros super posicionais são associados aos parâmetros posicionais do construtor da superclasse pelo índice. Ou seja, o primeiro parâmetro super é associado ao primeiro parâmetro posicional do construtor da superclasse, o segundo ao segundo, e assim por diante.
Exemplos
#
O código a seguir produz este diagnóstico porque o construtor em B tem um parâmetro super posicional, mas não há um parâmetro posicional no construtor da superclasse em
A:
class A {
A({int? x});
}
class B extends A {
B(super.x);
}
O código a seguir produz este diagnóstico porque o construtor em B tem dois parâmetros super posicionais, mas há apenas um parâmetro posicional no construtor da superclasse em
A, o que significa que não há um parâmetro correspondente para y:
class A {
A(int x);
}
class B extends A {
B(super.x, super.y);
}
Correções comuns
#Se o construtor da superclasse deve ter um parâmetro posicional correspondente ao parâmetro super, então atualize o construtor da superclasse de forma apropriada:
class A {
A(int x, int y);
}
class B extends A {
B(super.x, super.y);
}
Se o construtor da superclasse está correto, ou não pode ser alterado, então converta o parâmetro super em um parâmetro normal:
class A {
A(int x);
}
class B extends A {
B(super.x, int y);
}
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ê.