run method
void
run(
- CustomLintResolver resolver,
- ErrorReporter reporter,
- 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, 'textField')) return;
final labelArg = _findNamedArgument(node, 'label');
final hintArg = _findNamedArgument(node, 'hint');
// Check if both are missing or empty
final hasLabel = labelArg is StringLiteral &&
labelArg.stringValue?.trim().isNotEmpty == true;
final hasHint = hintArg is StringLiteral &&
hintArg.stringValue?.trim().isNotEmpty == true;
if (!hasLabel && hintArg == null) {
// Neither label nor hint provided
reporter.atNode(node.methodName, code);
} else if (!hasLabel && !hasHint) {
// Both provided but empty
reporter.atNode(node.methodName, code);
}
});
}