Move namespaceDescriptorCache field to NamespaceResolver from JavaDescriptorResolver

This commit is contained in:
Pavel V. Talanov
2012-10-08 13:24:16 +04:00
parent 3f1f3ba9c1
commit 0b474af1f5
2 changed files with 8 additions and 15 deletions
@@ -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<FqName, ResolverNamespaceData> 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<FqName, ResolverNamespaceData> getNamespaceDescriptorCacheByFqn() {
return namespaceDescriptorCacheByFqn;
}
@Nullable
public NamespaceDescriptor resolveNamespace(@NotNull FqName qualifiedName, @NotNull DescriptorSearchRule searchRule) {
return namespaceResolver.resolveNamespace(qualifiedName, searchRule);
@@ -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<FqName, JavaDescriptorResolveData.ResolverNamespaceData> 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);
}