run method

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

Emits lints for a given file.

run will only be invoked with files respecting filesToAnalyze

Implementation

@override
void run(
  CustomLintResolver resolver,
  ErrorReporter reporter,
  CustomLintContext context,
) {
  context.registry.addFunctionDeclaration((node) {
    if (isDirectlyAnnotatedByText(node, shortName, longName)) {
      _checkFunction(node.functionExpression, reporter, node);
    }
  });

  context.registry.addFunctionExpression((node) {
    if (node.parent is FunctionDeclaration) return;

    final paramElement = node.staticParameterElement;
    if (paramElement != null && _checker.hasAnnotationOf(paramElement)) {
      _checkFunction(node, reporter, node);
    }
  });
}