From 1b4b8ab5db0a4f7abdbc457abe388338a601f012 Mon Sep 17 00:00:00 2001 From: Denis Zharkov Date: Fri, 12 Feb 2016 15:29:06 +0300 Subject: [PATCH] Memoize 'JavaTypeClassifierImpl.isRaw' result --- .../java/structure/impl/JavaClassifierTypeImpl.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/compiler/frontend.java/src/org/jetbrains/kotlin/load/java/structure/impl/JavaClassifierTypeImpl.java b/compiler/frontend.java/src/org/jetbrains/kotlin/load/java/structure/impl/JavaClassifierTypeImpl.java index 1b7972e57b8..429a7a378c4 100644 --- a/compiler/frontend.java/src/org/jetbrains/kotlin/load/java/structure/impl/JavaClassifierTypeImpl.java +++ b/compiler/frontend.java/src/org/jetbrains/kotlin/load/java/structure/impl/JavaClassifierTypeImpl.java @@ -27,10 +27,12 @@ public class JavaClassifierTypeImpl extends JavaTypeImpl implement private static class ResolutionResult { private final JavaClassifier classifier; private final JavaTypeSubstitutor substitutor; + private final boolean isRaw; - private ResolutionResult(@Nullable JavaClassifier classifier, @NotNull JavaTypeSubstitutor substitutor) { + private ResolutionResult(@Nullable JavaClassifier classifier, @NotNull JavaTypeSubstitutor substitutor, boolean isRaw) { this.classifier = classifier; this.substitutor = substitutor; + this.isRaw = isRaw; } } @@ -61,8 +63,8 @@ public class JavaClassifierTypeImpl extends JavaTypeImpl implement PsiSubstitutor substitutor = result.getSubstitutor(); resolutionResult = new ResolutionResult( psiClass == null ? null : JavaClassifierImpl.create(psiClass), - new JavaTypeSubstitutorImpl(convertSubstitutionMap(substitutor.getSubstitutionMap())) - ); + new JavaTypeSubstitutorImpl(convertSubstitutionMap(substitutor.getSubstitutionMap())), + PsiClassType.isRaw(result)); } } @@ -102,7 +104,8 @@ public class JavaClassifierTypeImpl extends JavaTypeImpl implement @Override public boolean isRaw() { - return getPsi().isRaw(); + resolve(); + return resolutionResult.isRaw; } @Override