run method
void
run(
- CustomLintResolver resolver,
- DiagnosticReporter reporter,
- 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,
) {
if (isGeneratedFile(resolver.path)) return;
if (!RigidConfig.forFile(resolver.path).isEnabled(code.name)) return;
context.registry.addMethodInvocation((node) {
if (node.methodName.name != 'setState') return;
// Type-resolve: is the receiver a State<T>?
final targetType = node.realTarget?.staticType;
if (targetType != null) {
if (!FlutterTypes.state.isAssignableFromType(targetType)) return;
}
// If no target (implicit this), we're inside a State class — still flag.
reporter.atNode(node.methodName, code);
});
}