Pular para o conteúdo principal

prefix_shadowed_by_local_declaration

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

The prefix '{0}' can't be used here because it's shadowed by a local declaration.

Descrição

#

O analisador emite este diagnóstico quando um prefixo de importação é usado em um contexto onde ele não está visível, porque foi ocultado (shadowed) por uma declaração local.

Exemplo

#

O código a seguir gera este diagnóstico porque o prefixo a é usado para acessar a classe Future, mas não está visível, pois é ocultado pelo parâmetro a:

dart
import 'dart:async' as a;
​
a.Future? f(int a) {
  a.Future? x;
  return x;
}

Correções comuns

#

Renomeie o prefixo:

dart
import 'dart:async' as p;
​
p.Future? f(int a) {
  p.Future? x;
  return x;
}

Ou renomeie a variável local:

dart
import 'dart:async' as a;
​
a.Future? f(int p) {
  a.Future? x;
  return x;
}

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