Pular para o conteúdo principal

unnecessary_overrides

Detalhes sobre o diagnóstico 'unnecessary_overrides' produzido pelo analisador do Dart.

Unnecessary override.

Descrição

#

O analisador emite este diagnóstico quando um membro de instância sobrescreve um membro herdado, mas apenas invoca o membro sobrescrito com exatamente os mesmos argumentos.

Exemplo

#

O código a seguir produz este diagnóstico porque o método D.m não faz nada além de invocar o método sobrescrito:

dart
class C {
  int m(int x) => x;
}
​
class D extends C {
  @override
  int m(int x) => super.m(x);
}

Correções comuns

#

Se o método deve fazer algo além do que o método sobrescrito faz, implemente a funcionalidade que falta:

dart
class C {
  int m(int x) => x;
}
​
class D extends C {
  @override
  int m(int x) => super.m(x) + 1;
}

Se o método sobrescrito deve ser modificado, alterando o tipo de retorno ou um ou mais tipos de parâmetros, tornando um dos parâmetros covariant, adicionando um comentário de documentação ou anotações adicionais, atualize o código:

dart
import 'package:meta/meta.dart';
​
class C {
  int m(int x) => x;
}
​
class D extends C {
  @mustCallSuper
  @override
  int m(int x) => super.m(x);
}

Se o método que sobrescreve não altera nem aprimora a semântica do código, remova-o:

dart
class C {
  int m(int x) => x;
}
​
class D extends 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ê.