getter_ not_ subtype_ setter_ types
Detalhes sobre o diagnóstico 'getter_not_subtype_setter_types' produzido pelo analisador do Dart.
The return type of getter '{0}' is '{1}' which isn't a subtype of the type '{2}' of its setter '{3}'.
Descrição
#O analisador produz este diagnóstico quando o tipo de retorno de um getter não é subtipo do tipo do parâmetro de um setter com o mesmo nome.
A relação de subtipo é exigida tanto quando o getter e o setter estão na mesma classe quanto quando um deles está em uma superclasse do outro.
Nota: Isto deixou de ser um erro a partir do Dart 3.9.
Exemplo
#
O código a seguir produz este diagnóstico porque o tipo de retorno do
getter x é num, o tipo do parâmetro do setter x
é int, e
num não é subtipo de int:
// @dart = 3.8
class C {
num get x => 0;
set x(int y) {}
}
Correções comuns
#Se o tipo do getter estiver correto, altere o tipo do setter:
class C {
num get x => 0;
set x(num y) {}
}
Se o tipo do setter estiver correto, altere o tipo do getter:
class C {
int get x => 0;
set x(int y) {}
}
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ê.