From 15145837583ef276d848bcbb3a2a5d02ab0cf904 Mon Sep 17 00:00:00 2001 From: peter Date: Mon, 12 Nov 2018 10:08:24 +0100 Subject: [PATCH] less isValid checks during java resolve they're not exactly free, and we now have better ones --- .../src/com/intellij/codeInsight/AnnotationUtil.java | 2 -- .../psi/util/MethodSignatureBackedByPsiMethod.java | 3 --- .../com/intellij/psi/util/MethodSignatureBase.java | 3 --- .../psi/impl/source/resolve/JavaResolveCache.java | 12 ------------ .../source/tree/java/PsiReferenceExpressionImpl.java | 3 --- 5 files changed, 23 deletions(-) diff --git a/java/java-psi-api/src/com/intellij/codeInsight/AnnotationUtil.java b/java/java-psi-api/src/com/intellij/codeInsight/AnnotationUtil.java index 80351799b42e..bd0564902f2c 100644 --- a/java/java-psi-api/src/com/intellij/codeInsight/AnnotationUtil.java +++ b/java/java-psi-api/src/com/intellij/codeInsight/AnnotationUtil.java @@ -239,8 +239,6 @@ public class AnnotationUtil { } private static boolean isAnnotated(@NotNull PsiModifierListOwner listOwner, @NotNull String annotationFQN, @Flags int flags, @Nullable Set processed) { - if (!listOwner.isValid()) return false; - PsiModifierList modifierList = listOwner.getModifierList(); if (modifierList == null) return false; diff --git a/java/java-psi-api/src/com/intellij/psi/util/MethodSignatureBackedByPsiMethod.java b/java/java-psi-api/src/com/intellij/psi/util/MethodSignatureBackedByPsiMethod.java index 06500980efe7..5cd0ac703b9e 100644 --- a/java/java-psi-api/src/com/intellij/psi/util/MethodSignatureBackedByPsiMethod.java +++ b/java/java-psi-api/src/com/intellij/psi/util/MethodSignatureBackedByPsiMethod.java @@ -85,9 +85,6 @@ public class MethodSignatureBackedByPsiMethod extends MethodSignatureBase { PsiParameter parameter = parameters[i]; PsiType type = parameter.getType(); parameterTypes[i] = isRaw ? TypeConversionUtil.erasure(substitutor.substitute(type)) : type; - if (parameterTypes[i] != null && !parameterTypes[i].isValid()) { - PsiUtil.ensureValidType(parameterTypes[i], "Method " + method + " of " + method.getClass() + "; param " + parameter + " of " + parameter.getClass()); - } } return new MethodSignatureBackedByPsiMethod(method, substitutor, isRaw, parameterTypes, methodTypeParameters); diff --git a/java/java-psi-api/src/com/intellij/psi/util/MethodSignatureBase.java b/java/java-psi-api/src/com/intellij/psi/util/MethodSignatureBase.java index aca921669a3f..42d59a5c5a96 100644 --- a/java/java-psi-api/src/com/intellij/psi/util/MethodSignatureBase.java +++ b/java/java-psi-api/src/com/intellij/psi/util/MethodSignatureBase.java @@ -35,9 +35,6 @@ public abstract class MethodSignatureBase implements MethodSignature { myParameterTypes = PsiType.createArray(parameterTypes.length); for (int i = 0; i < parameterTypes.length; i++) { PsiType type = parameterTypes[i]; - if (type != null) { - PsiUtil.ensureValidType(type); - } if (type instanceof PsiEllipsisType) type = ((PsiEllipsisType) type).toArrayType(); myParameterTypes[i] = substitutor.substitute(type); } diff --git a/java/java-psi-impl/src/com/intellij/psi/impl/source/resolve/JavaResolveCache.java b/java/java-psi-impl/src/com/intellij/psi/impl/source/resolve/JavaResolveCache.java index d4bcf987c647..880e59b4b9e1 100644 --- a/java/java-psi-impl/src/com/intellij/psi/impl/source/resolve/JavaResolveCache.java +++ b/java/java-psi-impl/src/com/intellij/psi/impl/source/resolve/JavaResolveCache.java @@ -37,7 +37,6 @@ import com.intellij.util.ConcurrencyUtil; import com.intellij.util.Function; import com.intellij.util.containers.ContainerUtil; import com.intellij.util.messages.MessageBus; -import org.jetbrains.annotations.NonNls; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -115,17 +114,6 @@ public class JavaResolveCache { } } - if (!type.isValid()) { - if (expr.isValid()) { - PsiJavaCodeReferenceElement refInside = type instanceof PsiClassReferenceType ? ((PsiClassReferenceType)type).getReference() : null; - @NonNls String typeinfo = type + " (" + type.getClass() + ")" + (refInside == null ? "" : "; ref inside: "+refInside + " ("+refInside.getClass()+") valid:"+refInside.isValid()); - LOG.error("Type is invalid: " + typeinfo + "; expr: '" + expr + "' (" + expr.getClass() + ") is valid"); - } - else { - LOG.error("Expression: '"+expr+"' is invalid, must not be used for getType()"); - } - } - return type == TypeConversionUtil.NULL_TYPE ? null : type; } diff --git a/java/java-psi-impl/src/com/intellij/psi/impl/source/tree/java/PsiReferenceExpressionImpl.java b/java/java-psi-impl/src/com/intellij/psi/impl/source/tree/java/PsiReferenceExpressionImpl.java index d5c5fc93ab81..bdccc61b1e73 100644 --- a/java/java-psi-impl/src/com/intellij/psi/impl/source/tree/java/PsiReferenceExpressionImpl.java +++ b/java/java-psi-impl/src/com/intellij/psi/impl/source/tree/java/PsiReferenceExpressionImpl.java @@ -395,9 +395,6 @@ public class PsiReferenceExpressionImpl extends ExpressionPsiElement implements if (resolve instanceof PsiVariable) { PsiType type = ((PsiVariable)resolve).getType(); ret = type instanceof PsiEllipsisType ? ((PsiEllipsisType)type).toArrayType() : type; - if (ret != null && !ret.isValid()) { - LOG.error("invalid type of " + resolve + " of class " + resolve.getClass() + ", valid=" + resolve.isValid()); - } if (resolve instanceof PsiField && !((PsiField)resolve).hasModifierProperty(PsiModifier.STATIC)) { owner = ((PsiField)resolve).getContainingClass(); }