From ef762abc22108fa677cd16ccdce37d429cccb35c Mon Sep 17 00:00:00 2001 From: Peter Gromov Date: Mon, 22 Jun 2020 11:06:12 +0200 Subject: [PATCH] cleanup PsiTypeElementImpl (IDEA-CR-63930) GitOrigin-RevId: 753c9f23014943005201bf830426cf0802614f72 --- .../psi/impl/source/PsiTypeElementImpl.java | 22 +++++-------------- 1 file changed, 6 insertions(+), 16 deletions(-) diff --git a/java/java-psi-impl/src/com/intellij/psi/impl/source/PsiTypeElementImpl.java b/java/java-psi-impl/src/com/intellij/psi/impl/source/PsiTypeElementImpl.java index 33029d72f43b..ff4d9eba2c2d 100644 --- a/java/java-psi-impl/src/com/intellij/psi/impl/source/PsiTypeElementImpl.java +++ b/java/java-psi-impl/src/com/intellij/psi/impl/source/PsiTypeElementImpl.java @@ -35,12 +35,12 @@ import com.intellij.util.IncorrectOperationException; import com.intellij.util.ObjectUtils; import com.intellij.util.SmartList; import com.intellij.util.containers.ContainerUtil; +import com.intellij.util.containers.JBIterable; import org.jetbrains.annotations.NonNls; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import java.lang.ref.WeakReference; -import java.util.Collections; import java.util.List; public class PsiTypeElementImpl extends CompositePsiElement implements PsiTypeElement { @@ -208,21 +208,12 @@ public class PsiTypeElementImpl extends CompositePsiElement implements PsiTypeEl return PsiUtil.isJavaToken(getFirstChild(), JavaTokenType.VAR_KEYWORD) || getTypeInfo().myInferred; } - private boolean isArrayType() { - for (PsiElement child = getFirstChild(); child != null; child = child.getNextSibling()) { - if (PsiUtil.isJavaToken(child, JavaTokenType.ELLIPSIS) || PsiUtil.isJavaToken(child, JavaTokenType.LBRACKET)) { - return true; - } - } - return false; - } - private static @NotNull ClassReferencePointer getReferenceComputable(@NotNull PsiJavaCodeReferenceElement ref) { PsiTypeElement rootType = getRootTypeElement(ref); if (rootType != null) { PsiElement parent = rootType.getParent(); if (parent instanceof PsiMethod || parent instanceof PsiVariable) { - int index = allReferencesInside(rootType).indexOf(ref); + int index = allReferencesInside(rootType).indexOf(ref::equals); if (index < 0) throw new AssertionError(rootType.getClass()); return computeFromTypeOwner(parent, index, new WeakReference<>(ref)); } @@ -240,8 +231,8 @@ public class PsiTypeElementImpl extends CompositePsiElement implements PsiTypeEl } @NotNull - private static List allReferencesInside(@NotNull PsiTypeElement rootType) { - return SyntaxTraverser.psiTraverser(rootType).filter(PsiJavaCodeReferenceElement.class).toList(); + private static JBIterable allReferencesInside(@NotNull PsiTypeElement rootType) { + return SyntaxTraverser.psiTraverser(rootType).filter(PsiJavaCodeReferenceElement.class); } private static @NotNull ClassReferencePointer computeFromTypeOwner(PsiElement parent, int index, @@ -265,8 +256,7 @@ public class PsiTypeElementImpl extends CompositePsiElement implements PsiTypeEl @Nullable private PsiJavaCodeReferenceElement findReferenceByIndex(PsiClassReferenceType type) { PsiTypeElement root = getRootTypeElement(type.getReference()); - List allRefs = root == null ? Collections.emptyList() : allReferencesInside(root); - return index < allRefs.size() ? allRefs.get(index) : null; + return root == null ? null : allReferencesInside(root).get(index); } @Nullable @@ -299,7 +289,7 @@ public class PsiTypeElementImpl extends CompositePsiElement implements PsiTypeEl @Override public String toString() { - String msg = "Type element reference of " + parent.getClass() + " #" + parent.getClass().getSimpleName(); + String msg = "Type element reference of " + parent.getClass() + " #" + parent.getClass().getSimpleName() + ", index=" + index; return parent.isValid() ? msg + " #" + parent.getLanguage() : msg + ", invalid"; } };