unnecessary_ no_ such_ method
Detalhes sobre o diagnóstico 'unnecessary_no_such_method' produzido pelo analisador do Dart.
Unnecessary 'noSuchMethod' declaration.
Descrição
#
O analisador emite este diagnóstico quando há uma declaração de
noSuchMethod, a única coisa que a declaração faz é invocar a declaração
sobrescrita, e a declaração sobrescrita não é a declaração de Object.
Sobrescrever a implementação de noSuchMethod de Object (não importa o que a
implementação faça) sinaliza ao analisador que ele não deve reportar métodos
abstratos herdados que não são implementados nessa classe. Isso funciona mesmo
se a implementação sobrescrita for herdada de uma superclasse, então não há
valor em declará-la novamente em uma subclasse.
Exemplo
#
O código a seguir produz este diagnóstico porque a declaração de
noSuchMethod em A torna desnecessária a declaração de noSuchMethod
em
B:
class A {
@override
dynamic noSuchMethod(invocation) => super.noSuchMethod(invocation);
}
class B extends A {
@override
dynamic noSuchMethod(invocation) {
return super.noSuchMethod(invocation);
}
}
Correções comuns
#Remova a declaração desnecessária:
class A {
@override
dynamic noSuchMethod(invocation) => super.noSuchMethod(invocation);
}
class B extends A {}
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ê.