isSamePackageAbsoluteImport function
bool
isSamePackageAbsoluteImport(
- ImportDirective node
)
Implementation
bool isSamePackageAbsoluteImport(ImportDirective node) {
final uri = node.uri.stringValue;
if (uri == null || uri.isEmpty) return false; // No uri specified
final element = node.element;
if (element == null) return false; // Unresolved import
final importedId = element.importedLibrary?.identifier;
final fileId = element.library.identifier;
if (importedId == null) return false; // Not focusing on dart: imports
final importedPackageUri = getPackageUriForAbsoluteImport(importedId);
final filePackageUri = getPackageUriForAbsoluteImport(fileId);
if (!uri.contains('src')) return false; // doesn't contain src
if (importedPackageUri != filePackageUri) return false; // from other package
return true;
}