implicit_ reopen
Saiba mais sobre a regra de lint implicit_reopen.
Não reabra classes implicitamente.
Detalhes
#
Ao usar o modificador interface, base, final ou sealed
em uma classe, ou o modificador base em um mixin, o autor pode controlar se classes e mixins podem ser implementados, estendidos e/ou usados como mixin a partir de fora da biblioteca em que são definidos. Em alguns casos, o autor pode relaxar esses controles sem querer e "reabrir" uma classe implicitamente. (Uma reabertura semelhante não pode ocorrer com um mixin.)
Esta lint protege contra a reabertura não intencional de uma classe, exigindo que esses casos sejam explícitos com a anotação
@reopen
em package:meta.
RUIM:
interface class I {}
class C extends I {} // LINT
BOM:
interface class I {}
final class C extends I {}
import 'package:meta/meta.dart';
interface class I {}
@reopen
class C extends I {}
Ativar
#
Para ativar a regra implicit_reopen, adicione implicit_reopen em
linter > rules no seu arquivo analysis_options.yaml:
linter:
rules:
- implicit_reopen
Se você usa a sintaxe de mapa YAML para configurar as regras de lint,
adicione implicit_reopen: true em linter > rules:
linter:
rules:
implicit_reopen: true
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ê.