Pular para o conteúdo principal

extension_type_implements_representation_not_supertype

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

'{0}', the representation type of '{1}', is not a supertype of '{2}', the representation type of '{3}'.

Descrição

#

O analisador produz este diagnóstico quando um tipo de extensão implementa outro tipo de extensão, e o tipo de representação do tipo de extensão implementado não é subtipo do tipo de representação do tipo de extensão que implementa.

Exemplo

#

O código a seguir produz este diagnóstico porque o tipo de extensão B implementa A, mas o tipo de representação de A (num) não é um subtipo do tipo de representação de B (String):

dart
extension type A(num i) {}
​
extension type B(String s) implements A {}

Correções comuns

#

Ou altere os tipos de representação dos dois tipos de extensão para que o tipo de representação do tipo implementado seja um supertipo do tipo de representação do tipo que implementa:

dart
extension type A(num i) {}
​
extension type B(int n) implements A {}

Ou remova o tipo implementado da cláusula implements:

dart
extension type A(num i) {}
​
extension type B(String s) {}

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