Pular para o conteúdo principal

invalid_reopen_annotation

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

The annotation '@reopen' can only be applied to a class that opens capabilities that the supertype intentionally disallows.

Descrição

#

O analisador gera este diagnóstico quando uma anotação @reopen é colocada em uma classe ou mixin que não remove restrições impostas à superclasse.

Exemplo

#

O código a seguir gera este diagnóstico porque a classe B está anotada com @reopen, mesmo sem ampliar a capacidade de A de ser estendida:

dart
import 'package:meta/meta.dart';
​
sealed class A {}
​
@reopen
class B extends A {}

Correções comuns

#

Se a superclasse deve ser restrita de uma forma que a subclasse mudaria, então modifique a superclasse para refletir essas restrições:

dart
import 'package:meta/meta.dart';
​
interface class A {}
​
@reopen
class B extends A {}

Se a superclasse está correta, então remova a anotação:

dart
sealed class A {}
​
class B extends 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ê.