mixin_ application_ no_ concrete_ super_ invoked_ member
Detalhes sobre o diagnóstico 'mixin_application_no_concrete_super_invoked_member' produzido pelo analisador do Dart.
The class doesn't have a concrete implementation of the super-invoked member '{0}'.
The class doesn't have a concrete implementation of the super-invoked setter '{0}'.
Descrição
#O analisador emite este diagnóstico quando uma aplicação de mixinMixin applicationUma classe criada quando um mixin é aplicado a uma classe. Saiba mais contém uma invocação de um membro da sua superclasse, e não existe um membro concreto com esse nome na superclasse da aplicação de mixin.
Exemplo
#
O código a seguir gera este diagnóstico porque o mixin M contém a
invocação super.m(), e a classe A, que é a superclasse da
aplicação de mixinMixin applicationUma classe criada quando um mixin é aplicado a uma classe. Saiba mais
A+M, não define uma implementação
concreta de m:
abstract class A {
void m();
}
mixin M on A {
void bar() {
super.m();
}
}
abstract class B extends A with M {}
Correções comuns
#
Se você pretendia aplicar o mixin M a outra classe, uma que tenha uma
implementação concreta de m, então altere a superclasse de B
para essa
classe:
abstract class A {
void m();
}
mixin M on A {
void bar() {
super.m();
}
}
class C implements A {
@override
void m() {}
}
abstract class B extends C with M {}
Se você precisar fazer de B uma subclasse de A, então adicione uma
implementação concreta de m em A:
abstract class A {
void m() {}
}
mixin M on A {
void bar() {
super.m();
}
}
abstract class B extends A with M {}
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ê.