Pular para o conteúdo principal

must_call_super

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

This method overrides a method annotated as '@mustCallSuper' in '{0}', but doesn't invoke the overridden method.

Descrição

#

O analisador emite este diagnóstico quando um método que sobrescreve um método anotado com mustCallSuper não invoca o método sobrescrito, como exigido.

Exemplo

#

O código a seguir gera este diagnóstico porque o método m em B não invoca o método sobrescrito m em A:

dart
import 'package:meta/meta.dart';
​
class A {
  @mustCallSuper
  void m() {}
}
​
class B extends A {
  @override
  void m() {}
}

Correções comuns

#

Adicione uma invocação do método sobrescrito no método que sobrescreve:

dart
import 'package:meta/meta.dart';
​
class A {
  @mustCallSuper
  void m() {}
}
​
class B extends A {
  @override
  void m() {
    super.m();
  }
}

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ê.