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,
) {
context.registry.addInstanceCreationExpression((node) {
final targetType = node.staticType;
if (targetType == null ||
!fileSystemEntityTypeChecker.isAssignableFromType(targetType)) {
return;
}
final arguments = node.argumentList.arguments;
if (arguments.isEmpty) return;
final pathArgument = arguments.first;
if (pathArgument is! StringLiteral) return;
// Strip leading/trailing quotes
final pathSource = pathArgument.toSource();
if (!_pathSeparatorRegex.hasMatch(pathSource)) return;
reporter.atNode(pathArgument, _code, data: pathSource);
});
}