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.addImportDirective((node) {
final uri = node.uri.stringValue;
if (uri == null) return;
final element = node.element;
// Unresolved
if (element == null) return;
final importedId = element.importedLibrary?.identifier;
final fileId = element.library.identifier;
if (importedId == null) return; // Not focusing on dart: imports
final importedPackageUri = getPackageUriForAbsoluteImport(importedId);
final filePackageUri = getPackageUriForAbsoluteImport(fileId);
if (!uri.contains('src')) return;
// Other package
if (importedPackageUri != filePackageUri) return;
reporter.reportErrorForNode(_code, node);
});
}