mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-03-22 23:31:05 +07:00
Java: cleanup
(cherry picked from commit 6789d494b845c4455c2ef6b3c4aa816ae1906716) GitOrigin-RevId: 36bc0a451e5b58211b2bf0268244944aebc3646d
This commit is contained in:
committed by
intellij-monorepo-bot
parent
cd9b949072
commit
340fe61f67
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user