check method

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

Implementation

@override
void check(
  DcqRegistry registry,
) {
  registry.addClassDeclaration((node) {
    final nameToken = node.namePart.typeName;
    final name = nameToken.lexeme;
    if (!name.startsWith('_')) return;

    final element = node.declaredFragment?.element;
    if (element == null) return;

    final isExceptionOrError = element.allSupertypes.any(
      (type) =>
          type.element.name == 'Exception' || type.element.name == 'Error',
    );
    if (!isExceptionOrError) return;

    reportAtToken(nameToken);
  });
}