Java: don't expose implementation detail in API

(cherry picked from commit 952d1b3c68f9a011ad7826cc8a1075f2ef990e6d)

GitOrigin-RevId: 87445fc4969225a3a03befab8a5ce5640283cc53
This commit is contained in:
Bas Leijdekkers
2024-10-16 10:53:11 +02:00
committed by intellij-monorepo-bot
parent 340fe61f67
commit b21fd06310
5 changed files with 31 additions and 23 deletions

View File

@@ -66,7 +66,7 @@ public final class ImportUtils {
if (containingPackageName.equals(packageName) || importList.findSingleClassImportStatement(qualifiedName) != null) {
return;
}
if ((createImplicitImportChecker(javaFile).isImplicitlyImported(new Import(qualifiedName, false)) ||
if ((createImplicitImportChecker(javaFile).isImplicitlyImported(qualifiedName, false) ||
importList.findOnDemandImportStatement(packageName) != null ||
ContainerUtil.exists(importList.getImportModuleStatements(),
moduleStatement -> moduleStatement.findImportedPackage(packageName) != null))
@@ -549,7 +549,7 @@ public final class ImportUtils {
}
private static boolean hasImplicitStaticImport(@NotNull PsiJavaFile file, @NotNull String name) {
return createImplicitImportChecker(file).isImplicitlyImported(new Import(name, true));
return createImplicitImportChecker(file).isImplicitlyImported(name, true);
}
@@ -591,10 +591,10 @@ public final class ImportUtils {
}
}
public boolean isImplicitlyImported(@NotNull Import name) {
String packageOrClassName = getPackageOrClassName(name.name);
String className = ClassUtil.extractClassName(name.name);
if (!name.isStatic) {
public boolean isImplicitlyImported(String qName, boolean isStatic) {
String packageOrClassName = getPackageOrClassName(qName);
String className = ClassUtil.extractClassName(qName);
if (!isStatic) {
for (PsiImportModuleStatement psiImportModuleStatement : myModulesStatements) {
PsiPackageAccessibilityStatement importedPackage = psiImportModuleStatement.findImportedPackage(packageOrClassName);
if (importedPackage == null) continue;
@@ -614,7 +614,7 @@ public final class ImportUtils {
PsiJavaCodeReferenceElement reference = psiImportStaticStatement.getImportReference();
if (reference == null) return false;
String qualifiedName = reference.getQualifiedName();
return name.name.equals(qualifiedName);
return qName.equals(qualifiedName);
}
}
return false;