check method

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

Implementation

@override
void check(
  DcqRegistry registry,
) {
  registry.addClassDeclaration((node) {
    final superclass = node.extendsClause?.superclass;
    if (superclass == null) return;

    final superName = superclass.name.lexeme;
    if (!_notifierBaseClasses.contains(superName)) return;

    final expectedPackage = superName == 'StateNotifier'
        ? 'state_notifier'
        : 'riverpod';
    if (!isFromExpectedPackage(superclass, expectedPackage)) return;

    final body = node.body;
    if (body is! BlockClassBody) return;
    for (final member in body.members) {
      if (member is! ConstructorDeclaration) continue;
      reportAtNode(member);
    }
  });
}