implicit_reopen 
              
Don't implicitly reopen classes.
Details
#Using an interface, base, final, or sealed modifier on a class,
or a base modifier on a mixin,
authors can control whether classes and mixins allow being implemented,
extended, and/or mixed in from outside of the library where they're defined.
In some cases, it's possible for an author to inadvertently relax these controls
and implicitly "reopen" a class. (A similar reopening cannot occur with a mixin.)
This lint guards against unintentionally reopening a class by requiring such
cases to be made explicit with the
@reopen
annotation in package:meta.
BAD:
interface class I {}
class C extends I {} // LINTGOOD:
interface class I {}
final class C extends I {}import 'package:meta/meta.dart';
interface class I {}
@reopen
class C extends I {}
Enable
#To enable the implicit_reopen rule,
add implicit_reopen under linter > rules in your
analysis_options.yaml file:
linter:
  rules:
    - implicit_reopenIf you're instead using the YAML map syntax to configure linter rules,
add implicit_reopen: true under linter > rules:
linter:
  rules:
    implicit_reopen: true