check method

  1. @override
void check(
  1. DcqRegistry registry
)

Implementation

@override
void check(DcqRegistry registry) {
  registry.addClassDeclaration((node) {
    final superclass = node.extendsClause?.superclass.type;
    if (superclass is! InterfaceType || !isBloc(superclass)) return;
    if (isCubit(superclass)) return; // Cubits use public methods by design.

    final body = node.body;
    if (body is! BlockClassBody) return;
    for (final member in body.members) {
      if (member is! MethodDeclaration) continue;
      if (member.isStatic) continue;
      final name = member.name.lexeme;
      if (name.startsWith('_')) continue;
      if (member.metadata.any((a) => a.name.name == 'override')) continue;

      reportAtToken(member.name);
    }
  });
}