Pular para o conteúdo principal

assert_in_redirecting_constructor

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

A redirecting constructor can't have an 'assert' initializer.

Descrição

#

O analisador emite este diagnóstico quando um construtor de redirecionamento (um construtor que redireciona para outro construtor da mesma classe) tem um assert na lista de inicializadores.

Exemplo

#

O código a seguir produz este diagnóstico porque o construtor sem nome é um construtor de redirecionamento e também tem um assert na lista de inicializadores:

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

Correções comuns

#

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

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

Se o assert for necessário, converta o construtor em um construtor factory:

dart
class C {
  factory C(int x) {
    assert(x > 0);
    return C.name();
  }
  C.name();
}

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