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.addInstanceCreationExpression((node) {
final type = node.staticType;
if (type == null) return;
if (!FlutterTypes.textStyle.isExactlyType(type)) return;
if (isInsideThemeDefinition(node)) return;
// Only flag if fontSize is present as a named argument.
final hasFontSize = node.argumentList.arguments.any(
(arg) => arg is NamedExpression && arg.name.label.name == 'fontSize',
);
if (hasFontSize) {
reporter.atNode(node.constructorName, code);
}
});
}