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,
) {
  context.registry.addMethodInvocation((node) {
    if (_isValidMediaQueryUsage(node)) {
      return;
    }

    final replacementSuggestion = _getReplacementSuggestion(node);
    final parent = node.parent;

    if (replacementSuggestion == null || parent == null) {
      return;
    }

    reporter.atNode(
      parent,
      code,
      arguments: [node.toSource(), replacementSuggestion],
      data: replacementSuggestion,
    );
  });
}