Pular para o conteúdo principal

invalid_internal_annotation

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

Only public elements in a package's private API can be annotated as being internal.

Descrição

#

O analisador produz este diagnóstico quando uma declaração é anotada com a anotação internal e essa declaração está em uma biblioteca públicaPublic libraryUma biblioteca localizada no diretório `lib` de um pacote, mas não dentro do diretório `lib/src`. Saiba mais ou tem um nome privado.

Exemplo

#

O código a seguir, quando estiver em uma biblioteca públicaPublic libraryUma biblioteca localizada no diretório `lib` de um pacote, mas não dentro do diretório `lib/src`. Saiba mais, produz este diagnóstico porque a anotação internal não pode ser aplicada a declarações em uma biblioteca públicaPublic libraryUma biblioteca localizada no diretório `lib` de um pacote, mas não dentro do diretório `lib/src`. Saiba mais:

dart
import 'package:meta/meta.dart';
​
@internal
class C {}

O código a seguir, esteja em uma biblioteca pública ou interna, produz este diagnóstico porque a anotação internal não pode ser aplicada a declarações com nomes privados:

dart
import 'package:meta/meta.dart';
​
@internal
class _C {}

Correções comuns

#

Se a declaração tiver um nome privado, então remova a anotação:

dart
class _C {}

Se a declaração tiver um nome público e se destinar a ser interna ao pacote, então mova a declaração anotada para uma biblioteca interna (em outras palavras, uma biblioteca dentro do diretório src).

Caso contrário, remova o uso da anotação:

dart
class C {}

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