run method

  1. @override
void run(
  1. CustomLintResolver resolver,
  2. DiagnosticReporter reporter,
  3. CustomLintContext context
)

Emits lints for a given file.

run will only be invoked with files respecting filesToAnalyze

Implementation

@override
void run(
  CustomLintResolver resolver,
  DiagnosticReporter reporter,
  CustomLintContext context,
) {
  if (isGeneratedFile(resolver.path)) return;
  if (!RigidConfig.forFile(resolver.path).isEnabled(code.name)) return;

  context.registry.addNamedType((node) {
    if (node.name.lexeme == 'dynamic') {
      // Skip if this is inside a cast expression (as dynamic) — rare but valid.
      if (node.parent is AsExpression) return;

      reporter.atNode(node, code);
    }
  });
}