From 92ae9698e3522c65607c5f4584cdc106b910b80c Mon Sep 17 00:00:00 2001 From: Stepan Koltsov Date: Sat, 7 Apr 2012 23:16:47 +0400 Subject: [PATCH] JavaDescriptorResolver: kill namespace cache by psi --- .../lang/resolve/java/JavaDescriptorResolver.java | 13 ++++++------- 1 file changed, 6 insertions(+), 7 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 9109718edc1..258e8d6e022 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 @@ -200,7 +200,6 @@ public class JavaDescriptorResolver { protected final Map classDescriptorCache = Maps.newHashMap(); protected final Map namespaceDescriptorCacheByFqn = Maps.newHashMap(); - protected final Map namespaceDescriptorCache = Maps.newHashMap(); protected Project project; protected JavaSemanticServices semanticServices; @@ -803,21 +802,21 @@ public class JavaDescriptorResolver { } private NamespaceDescriptor resolveNamespace(@NotNull PsiPackage psiPackage) { - ResolverNamespaceData namespaceData = namespaceDescriptorCache.get(psiPackage); + FqName fqName = new FqName(psiPackage.getQualifiedName()); + ResolverNamespaceData namespaceData = namespaceDescriptorCacheByFqn.get(fqName); if (namespaceData == null) { namespaceData = createJavaNamespaceDescriptor(psiPackage); - namespaceDescriptorCache.put(psiPackage, namespaceData); - namespaceDescriptorCacheByFqn.put(new FqName(psiPackage.getQualifiedName()), namespaceData); + namespaceDescriptorCacheByFqn.put(fqName, namespaceData); } return namespaceData.namespaceDescriptor; } private NamespaceDescriptor resolveNamespace(@NotNull PsiClass psiClass) { - ResolverNamespaceData namespaceData = namespaceDescriptorCache.get(psiClass); + FqName fqName = new FqName(psiClass.getQualifiedName()); + ResolverNamespaceData namespaceData = namespaceDescriptorCacheByFqn.get(fqName); if (namespaceData == null) { namespaceData = createJavaNamespaceDescriptor(psiClass); - namespaceDescriptorCache.put(psiClass, namespaceData); - namespaceDescriptorCacheByFqn.put(new FqName(psiClass.getQualifiedName()), namespaceData); + namespaceDescriptorCacheByFqn.put(fqName, namespaceData); } return namespaceData.namespaceDescriptor; }