isPackageImportFromSamePackage function

bool isPackageImportFromSamePackage(
  1. ImportDirective node
)

Implementation

bool isPackageImportFromSamePackage(ImportDirective node) {
  final uri = node.uri.stringValue;
  if (uri == null) return false;

  final element = node.element;
  if (element == null) return false; // Unresolved

  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);

  return importedPackageUri == filePackageUri && importedPackageUri == uri;
}