Pular para o conteúdo principal

unnecessary_final

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

Local variables should not be marked as 'final'.

The keyword 'final' isn't necessary because the parameter is implicitly 'final'.

Descrição

#

O analisador emite este diagnóstico quando um parâmetro que inicializa um campo ou um super parâmetro em um construtor tem a palavra-chave final. Em ambos os casos, a palavra-chave é desnecessária, porque o parâmetro já é implicitamente final.

Exemplos

#

O código a seguir produz este diagnóstico porque o parâmetro que inicializa o campo tem a palavra-chave final:

dart
// @dart = 3.11
class A {
  int value;
​
  A(final this.value);
}

O código a seguir produz este diagnóstico porque o super parâmetro em B tem a palavra-chave final:

dart
// @dart = 3.11
class A {
  A(int value);
}
​
class B extends A {
  B(final super.value);
}

Correções comuns

#

Remova a palavra-chave final desnecessária:

dart
// @dart = 3.11
class A {
  A(int value);
}
​
class B extends A {
  B(super.value);
}

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