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) {
    // Check icon nodes
    if (_isAppMethod(node, 'icon')) {
      final nameArg = _findNamedArgument(node, 'name');
      if (nameArg is StringLiteral &&
          nameArg.stringValue?.trim().isEmpty == true) {
        reporter.atNode(nameArg, code);
      }
    }
    // Check button icon property
    else if (_isAppMethod(node, 'button')) {
      final iconArg = _findNamedArgument(node, 'icon');
      if (iconArg is StringLiteral &&
          iconArg.stringValue?.trim().isEmpty == true) {
        reporter.atNode(iconArg, code);
      }
    }
  });
}