missing_ named_ pattern_ field_ name
Detalhes sobre o diagnóstico 'missing_named_pattern_field_name' produzido pelo analisador do Dart.
The getter name is not specified explicitly, and the pattern is not a variable.
Descrição
#O analisador gera este diagnóstico quando, dentro de um padrão de objeto, a especificação de uma propriedade e o padrão usado para casar com o valor da propriedade não têm:
- um nome de getter antes dos dois-pontos
- um padrão de variável a partir do qual o nome do getter possa ser inferido
Exemplo
#
O código a seguir gera este diagnóstico porque não há nome de getter antes dos dois-pontos e nenhum padrão de variável depois deles no padrão de objeto (C(:0)):
abstract class C {
int get f;
}
void f(C c) {
switch (c) {
case C(:0):
break;
}
}
Correções comuns
#Se você precisa usar o valor real da propriedade dentro do escopo do padrão, então adicione um padrão de variável cujo nome seja o mesmo da propriedade que está sendo casada:
abstract class C {
int get f;
}
void f(C c) {
switch (c) {
case C(:var f) when f == 0:
print(f);
}
}
Se você não precisa usar o valor real da propriedade dentro do escopo do padrão, então adicione o nome da propriedade que está sendo casada antes dos dois-pontos:
abstract class C {
int get f;
}
void f(C c) {
switch (c) {
case C(f: 0):
break;
}
}
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ê.