Pular para o conteúdo principal

subtype_of_deferred_class

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

Classes and mixins can't implement deferred classes.

Classes can't extend deferred classes.

Classes can't mixin deferred classes.

Descrição

#

O analisador produz este diagnóstico quando um tipo (classe ou mixin) é um subtipo de uma classe de uma biblioteca importada usando um import deferred. Os supertipos de um tipo precisam ser compilados ao mesmo tempo que o tipo, e as classes de bibliotecas deferred não são compiladas até que a biblioteca seja carregada.

Para mais informações, veja Carregando uma biblioteca de forma preguiçosa.

Exemplo

#

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

dart
class A {}

O código a seguir produz este diagnóstico porque a superclasse de B é declarada em uma biblioteca deferred:

dart
import 'a.dart' deferred as a;
​
class B extends a.A {}

Correções comuns

#

Se você precisa criar um subtipo de um tipo da biblioteca deferred, então remova a palavra-chave deferred:

dart
import 'a.dart' as a;
​
class B extends a.A {}

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