Java: cleanup

(cherry picked from commit 6789d494b845c4455c2ef6b3c4aa816ae1906716)

GitOrigin-RevId: 36bc0a451e5b58211b2bf0268244944aebc3646d
This commit is contained in:
Bas Leijdekkers
2024-10-21 09:34:02 +02:00
committed by intellij-monorepo-bot
parent cd9b949072
commit 340fe61f67
2 changed files with 14 additions and 25 deletions

View File

@@ -140,8 +140,8 @@ public abstract class ImportClassFixBase<T extends PsiElement, R extends PsiRefe
if (!myReferenceElement.isValid() || (referenceElement = myReference.getElement()) != myReferenceElement && !referenceElement.isValid()) {
return PsiClass.EMPTY_ARRAY;
}
if (myReference instanceof PsiJavaReference) {
JavaResolveResult result = ((PsiJavaReference)myReference).advancedResolve(true);
if (myReference instanceof PsiJavaReference ref) {
JavaResolveResult result = ref.advancedResolve(true);
PsiElement element = result.getElement();
// already imported
// can happen when e.g., class name happened to be in a method position
@@ -162,18 +162,18 @@ public abstract class ImportClassFixBase<T extends PsiElement, R extends PsiRefe
Project project = psiFile.getProject();
PsiElement parent = myReferenceElement.getParent();
if (parent instanceof PsiNewExpression && ((PsiNewExpression)parent).getQualifier() != null) {
if (parent instanceof PsiNewExpression newExpression && newExpression.getQualifier() != null) {
return PsiClass.EMPTY_ARRAY;
}
if (parent instanceof PsiReferenceExpression) {
PsiExpression expression = ((PsiReferenceExpression)parent).getQualifierExpression();
if (parent instanceof PsiReferenceExpression ref) {
PsiExpression expression = ref.getQualifierExpression();
if (expression != null && expression != myReferenceElement) {
return PsiClass.EMPTY_ARRAY;
}
}
if (psiFile instanceof PsiJavaCodeReferenceCodeFragment && !((PsiJavaCodeReferenceCodeFragment)psiFile).isClassesAccepted()) {
if (psiFile instanceof PsiJavaCodeReferenceCodeFragment ref && !ref.isClassesAccepted()) {
return PsiClass.EMPTY_ARRAY;
}

View File

@@ -103,7 +103,8 @@ public final class JavaReferenceAdjuster implements ReferenceAdjuster {
}
}
return replaceReferenceWithFQ(element, psiClass);
((SourceJavaCodeReference)element).fullyQualify(psiClass);
return element;
}
else {
int oldLength = element.getTextLength();
@@ -219,13 +220,13 @@ public final class JavaReferenceAdjuster implements ReferenceAdjuster {
private static @NotNull ASTNode makeShortReference(@NotNull CompositeElement reference, @NotNull PsiClass refClass, boolean addImports) {
final @NotNull PsiJavaCodeReferenceElement psiReference = (PsiJavaCodeReferenceElement)reference.getPsi();
final PsiQualifiedReferenceElement reference1 = getClassReferenceToShorten(refClass, addImports, psiReference);
if (reference1 != null) replaceReferenceWithShort(reference1);
if (reference1 != null) deQualifyImpl(reference1);
return reference;
}
public static @Nullable PsiQualifiedReferenceElement getClassReferenceToShorten(final @NotNull PsiClass refClass,
final boolean addImports,
final @NotNull PsiQualifiedReferenceElement reference) {
public static @Nullable PsiQualifiedReferenceElement getClassReferenceToShorten(@NotNull PsiClass refClass,
boolean addImports,
@NotNull PsiQualifiedReferenceElement reference) {
PsiClass parentClass = refClass.getContainingClass();
if (parentClass != null) {
JavaPsiFacade facade = JavaPsiFacade.getInstance(parentClass.getProject());
@@ -253,7 +254,7 @@ public final class JavaReferenceAdjuster implements ReferenceAdjuster {
return isSafeToShortenReference(refClass.getName(), psiReference, refClass);
}
private static boolean isSafeToShortenReference(final String referenceText, final PsiElement psiReference, final PsiClass refClass) {
private static boolean isSafeToShortenReference(String referenceText, PsiElement psiReference, PsiClass refClass) {
final PsiManager manager = refClass.getManager();
final JavaPsiFacade facade = JavaPsiFacade.getInstance(manager.getProject());
final PsiResolveHelper helper = facade.getResolveHelper();
@@ -289,7 +290,7 @@ public final class JavaReferenceAdjuster implements ReferenceAdjuster {
if (typeArguments.length != classTypeParameters.length) {
return false;
}
if (StreamEx.zip(typeArguments, classTypeParameters,
if (StreamEx.zip(typeArguments, classTypeParameters,
(type, typeParam) -> manager.areElementsEquivalent(typeParam, PsiUtil.resolveClassInClassTypeOnly(type)))
.has(false)) {
return false;
@@ -304,13 +305,6 @@ public final class JavaReferenceAdjuster implements ReferenceAdjuster {
return false;
}
private static @NotNull ASTNode replaceReferenceWithShort(PsiQualifiedReferenceElement reference) {
ASTNode node = reference.getNode();
assert node != null;
deQualifyImpl(reference);
return node;
}
private static void deQualifyImpl(PsiQualifiedReferenceElement reference) {
PsiElement qualifier = reference.getQualifier();
if (qualifier != null) {
@@ -327,9 +321,4 @@ public final class JavaReferenceAdjuster implements ReferenceAdjuster {
}
}
}
private static ASTNode replaceReferenceWithFQ(ASTNode reference, PsiClass refClass) {
((SourceJavaCodeReference)reference).fullyQualify(refClass);
return reference;
}
}