subtype_ of_ sealed_ class
Detalhes sobre o diagnóstico 'subtype_of_sealed_class' produzido pelo analisador do Dart.
The class '{0}' shouldn't be extended, mixed in, or implemented because it's sealed.
Descrição
#
O analisador produz este diagnóstico quando uma classe selada (aquela que tem a anotação sealed
ou herda ou mistura uma classe selada) é referenciada na cláusula extends, implements
ou with de uma declaração de classe ou mixin, se a declaração não estiver no mesmo pacote da classe selada.
Exemplo
#Dada uma biblioteca em um pacote diferente do pacote que está sendo analisado, que contém o seguinte:
import 'package:meta/meta.dart';
class A {}
@sealed
class B {}
O código a seguir produz este diagnóstico porque C, que não está no mesmo pacote de B, está estendendo a classe selada
B:
import 'package:a/a.dart';
class C extends B {}
Correções comuns
#Se a classe não precisa ser um subtipo da classe selada, então altere a declaração para que ela não seja:
import 'package:a/a.dart';
class B extends A {}
Se a classe precisa ser um subtipo da classe selada, então ou altere a classe selada para que ela não seja mais selada, ou mova a subclasse para o mesmo pacote da classe selada.
Salvo indicação em contrário, a documentação neste site reflete Dart 3.13.7. Relatar um problema.
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ê.