From 0b474af1f567ce15e23dba1891bb364d8ba09c70 Mon Sep 17 00:00:00 2001 From: "Pavel V. Talanov" Date: Mon, 8 Oct 2012 13:24:16 +0400 Subject: [PATCH] Move namespaceDescriptorCache field to NamespaceResolver from JavaDescriptorResolver --- .../lang/resolve/java/JavaDescriptorResolver.java | 9 --------- .../resolve/java/resolver/NamespaceResolver.java | 14 ++++++++------ 2 files changed, 8 insertions(+), 15 deletions(-) diff --git a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/JavaDescriptorResolver.java b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/JavaDescriptorResolver.java index b0b90f514db..470801fdae5 100644 --- a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/JavaDescriptorResolver.java +++ b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/JavaDescriptorResolver.java @@ -16,7 +16,6 @@ package org.jetbrains.jet.lang.resolve.java; -import com.google.common.collect.Maps; import com.intellij.openapi.project.Project; import com.intellij.psi.PsiAnnotation; import com.intellij.psi.PsiAnnotationMemberValue; @@ -30,7 +29,6 @@ import org.jetbrains.jet.lang.resolve.BindingTrace; import org.jetbrains.jet.lang.resolve.DescriptorUtils; import org.jetbrains.jet.lang.resolve.constants.CompileTimeConstant; import org.jetbrains.jet.lang.resolve.java.JavaDescriptorResolveData.ResolverClassData; -import org.jetbrains.jet.lang.resolve.java.JavaDescriptorResolveData.ResolverNamespaceData; import org.jetbrains.jet.lang.resolve.java.JavaDescriptorResolveData.ResolverScopeData; import org.jetbrains.jet.lang.resolve.java.resolver.*; import org.jetbrains.jet.lang.resolve.java.scope.JavaPackageScope; @@ -43,7 +41,6 @@ import org.jetbrains.jet.lang.types.JetType; import javax.inject.Inject; import java.util.Collection; import java.util.List; -import java.util.Map; import java.util.Set; /** @@ -74,8 +71,6 @@ public class JavaDescriptorResolver implements DependencyClassByQualifiedNameRes } }; - protected final Map namespaceDescriptorCacheByFqn = Maps.newHashMap(); - protected Project project; protected JavaSemanticServices semanticServices; private BindingTrace trace; @@ -150,10 +145,6 @@ public class JavaDescriptorResolver implements DependencyClassByQualifiedNameRes return constructorResolver.resolveConstructors(classData); } - public Map getNamespaceDescriptorCacheByFqn() { - return namespaceDescriptorCacheByFqn; - } - @Nullable public NamespaceDescriptor resolveNamespace(@NotNull FqName qualifiedName, @NotNull DescriptorSearchRule searchRule) { return namespaceResolver.resolveNamespace(qualifiedName, searchRule); diff --git a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/resolver/NamespaceResolver.java b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/resolver/NamespaceResolver.java index 271b38bec28..b6e4a569f04 100644 --- a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/resolver/NamespaceResolver.java +++ b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/resolver/NamespaceResolver.java @@ -16,6 +16,7 @@ package org.jetbrains.jet.lang.resolve.java.resolver; +import com.google.common.collect.Maps; import com.intellij.psi.PsiClass; import com.intellij.psi.PsiPackage; import org.jetbrains.annotations.NotNull; @@ -31,9 +32,12 @@ import org.jetbrains.jet.lang.resolve.name.FqName; import org.jetbrains.jet.lang.resolve.name.Name; import java.util.Collections; +import java.util.Map; public final class NamespaceResolver { + private final JavaDescriptorResolver javaDescriptorResolver; + private final Map namespaceDescriptorCacheByFqn = Maps.newHashMap(); public NamespaceResolver(JavaDescriptorResolver javaDescriptorResolver) { this.javaDescriptorResolver = javaDescriptorResolver; @@ -60,8 +64,7 @@ public final class NamespaceResolver { } } - JavaDescriptorResolveData.ResolverNamespaceData namespaceData = - javaDescriptorResolver.getNamespaceDescriptorCacheByFqn().get(qualifiedName); + JavaDescriptorResolveData.ResolverNamespaceData namespaceData = namespaceDescriptorCacheByFqn.get(qualifiedName); if (namespaceData != null) { return namespaceData.getNamespaceDescriptor(); } @@ -126,7 +129,7 @@ public final class NamespaceResolver { } JavaDescriptorResolveData.ResolverNamespaceData oldValue = - javaDescriptorResolver.getNamespaceDescriptorCacheByFqn().put(fqName, JavaDescriptorResolveData.ResolverNamespaceData.NEGATIVE); + namespaceDescriptorCacheByFqn.put(fqName, JavaDescriptorResolveData.ResolverNamespaceData.NEGATIVE); if (oldValue != null) { throw new IllegalStateException("rewrite at " + fqName); } @@ -139,7 +142,7 @@ public final class NamespaceResolver { namespaceData.setMemberScope(new JavaPackageScope(fqName, javaDescriptorResolver.getSemanticServices(), namespaceData)); JavaDescriptorResolveData.ResolverNamespaceData oldValue = - javaDescriptorResolver.getNamespaceDescriptorCacheByFqn().put(fqName, namespaceData); + namespaceDescriptorCacheByFqn.put(fqName, namespaceData); if (oldValue != null) { throw new IllegalStateException("rewrite at " + fqName); } @@ -149,8 +152,7 @@ public final class NamespaceResolver { @Nullable public JavaPackageScope getJavaPackageScope(@NotNull FqName fqName, @NotNull NamespaceDescriptor ns) { - JavaDescriptorResolveData.ResolverNamespaceData resolverNamespaceData = - javaDescriptorResolver.getNamespaceDescriptorCacheByFqn().get(fqName); + JavaDescriptorResolveData.ResolverNamespaceData resolverNamespaceData = namespaceDescriptorCacheByFqn.get(fqName); if (resolverNamespaceData == null) { resolverNamespaceData = createNamespaceResolverScopeData(fqName, ns); }