Pular para o conteúdo principal

type_literal_in_constant_pattern

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

Use 'TypeName _' instead of a type literal.

Descrição

#

O analisador produz este diagnóstico quando um literal de tipo aparece como um padrão.

Exemplo

#

O código a seguir produz este diagnóstico porque um literal de tipo é usado como padrão constante:

dart
void f(Object? x) {
  if (x case num) {
    // ...
  }
}

Correções comuns

#

Se o literal de tipo deve corresponder a um objeto do tipo informado, então use um padrão de variável:

dart
void f(Object? x) {
  if (x case num _) {
    // ...
  }
}

Ou um padrão de objeto:

dart
void f(Object? x) {
  if (x case num()) {
    // ...
  }
}

Se o literal de tipo deve corresponder ao próprio literal de tipo, então escreva-o como um padrão constante:

dart
void f(Object? x) {
  if (x case const (num)) {
    // ...
  }
}

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