invalid_ field_ name
Detalhes sobre o diagnóstico 'invalid_field_name' produzido pelo analisador do Dart.
Record field names can't be a dollar sign followed by an integer when the integer is the index of a positional field.
Record field names can't be private.
Record field names can't be the same as a member from 'Object'.
Descrição
#O analisador produz este diagnóstico quando um literal de registro (record) ou uma anotação de tipo de registro tem um campo cujo nome é inválido. O nome é inválido se for:
- privado (começa com
_) - igual a um dos membros definidos em
Object - igual ao nome de um campo posicional (faz-se uma exceção se o campo for um campo posicional com o nome especificado)
Exemplos
#
O código a seguir produz este diagnóstico porque o literal de registro tem um
campo chamado toString, que é um método definido em Object:
var r = (a: 1, toString: 4);
O código a seguir produz este diagnóstico porque a anotação de tipo de registro
tem um campo chamado hashCode, que é um getter definido em Object:
void f(({int a, int hashCode}) r) {}
O código a seguir produz este diagnóstico porque o literal de registro tem um
campo privado chamado _a:
var r = (_a: 1, b: 2);
O código a seguir produz este diagnóstico porque a anotação de tipo de registro
tem um campo privado chamado _a:
void f(({int _a, int b}) r) {}
O código a seguir produz este diagnóstico porque o literal de registro tem um
campo chamado $1, que também é o nome de um parâmetro posicional diferente:
var r = (2, $1: 1);
O código a seguir produz este diagnóstico porque a anotação de tipo de registro
tem um campo chamado $1, que também é o nome de um parâmetro posicional
diferente:
void f((int, String, {int $1}) r) {}
Correções comuns
#Renomeie o campo:
var r = (a: 1, d: 4);
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ê.