Pular para o conteúdo principal

invalid_use_of_type_outside_library

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

The class '{0}' can't be extended outside of its library because it's a final class.

The class '{0}' can't be extended outside of its library because it's an interface class.

The class '{0}' can't be extended, implemented, or mixed in outside of its library because it's a sealed class.

The class '{0}' can't be implemented outside of its library because it's a base class.

The class '{0}' can't be implemented outside of its library because it's a final class.

The class '{0}' can't be used as a mixin superclass constraint outside of its library because it's a final class.

The mixin '{0}' can't be implemented outside of its library because it's a base mixin.

Descrição

#

O analisador gera este diagnóstico quando uma cláusula extends, implements, with ou on usa uma classe ou mixin de uma forma que não é permitida, considerando os modificadores da declaração dessa classe ou mixin.

A mensagem especifica como a declaração está sendo usada e por que isso não é permitido.

Exemplo

#

Dado um arquivo a.dart que define uma classe base A:

dart
base class A {}

O código a seguir gera este diagnóstico porque a classe B implementa a classe A, mas o modificador base impede que A seja implementada fora da biblioteca onde ela é definida:

dart
import 'a.dart';
​
final class B implements A {}

Correções comuns

#

O uso desse tipo é restrito fora da biblioteca que o declara. Se existir um tipo diferente e não restrito que possa oferecer funcionalidade semelhante, então substitua o tipo:

dart
class B implements C {}
​
class C {}

Se não houver outro tipo apropriado, então remova o tipo e, possivelmente, a cláusula inteira:

dart
class B {}

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