Pular para o conteúdo principal

primary_constructor_cannot_redirect

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

A primary constructor can't be a redirecting constructor.

Descrição

#

O analisador emite este diagnóstico quando um construtor primário redireciona para outro construtor.

Exemplo

#

O código a seguir gera este diagnóstico porque o construtor primário tem um redirecionamento para o construtor C.named:

dart
class C(int x) {
  C.named() : this(0);
  this : assert(x > 0), this.named();
}

Correções comuns

#

Se o redirecionamento não for necessário, remova-o:

dart
class C(int x) {
  new named() : this(0);
  this : assert(x > 0);
}

Se o redirecionamento for necessário, converta o construtor primário em um construtor com corpo (in-body) e reescreva os outros construtores conforme necessário:

dart
class C {
  new named();
  new(int x) : this.named();
}

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