run method

  1. @override
void run(
  1. CustomLintResolver resolver,
  2. ErrorReporter 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,
  ErrorReporter reporter,
  CustomLintContext context,
) {
  context.registry.addMethodInvocation((node) {
    if (!_isAppMethod(node, 'text')) return;

    final maxLinesArg = _findNamedArgument(node, 'maxLines');
    final overflowArg = _findNamedArgument(node, 'overflow');

    if (maxLinesArg == null || overflowArg == null) return;

    // Check if maxLines=1 with overflow=visible
    if (maxLinesArg is IntegerLiteral && maxLinesArg.value == 1) {
      if (overflowArg is PrefixedIdentifier &&
          overflowArg.identifier.name == 'visible') {
        reporter.atNode(overflowArg, code);
      }
    }
  });
}