Pular para o conteúdo principal

undefined_super_member

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

(Antes chamado de undefined_super_method.)

The getter '{0}' isn't defined in a superclass of '{1}'.

The method '{0}' isn't defined in a superclass of '{1}'.

The setter '{0}' isn't defined in a superclass of '{1}'.

Descrição

#

O analisador emite este diagnóstico quando um membro herdado (método, getter, setter ou operador) é referenciado usando super, mas não existe nenhum membro com esse nome na cadeia de superclasses.

Dart 3.15 e versões posteriores reportam este caso como undefined_super_member_read, undefined_super_member_write ou undefined_super_operator.

Exemplos

#

O código a seguir produz este diagnóstico porque Object não define um método chamado n:

dart
class C {
  void m() {
    super.n();
  }
}

O código a seguir produz este diagnóstico porque Object não define um getter chamado g:

dart
class C {
  void m() {
    super.g;
  }
}

Correções comuns

#

Se o membro herdado que você pretende invocar tiver outro nome, faça o nome do membro invocado corresponder ao do membro herdado.

Se o membro que você pretende invocar estiver definido na mesma classe, remova o super..

Se o membro não estiver definido, adicione-o a uma das superclasses ou remova a invocação.

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