From f55451a2b1870c04858a2dd453749773c64dfa36 Mon Sep 17 00:00:00 2001 From: peter Date: Fri, 8 May 2015 07:08:10 +0200 Subject: [PATCH] JavaFileManagerImpl: remove Object class cache, it's not needed now --- .../impl/file/impl/JavaFileManagerImpl.java | 26 ++----------------- 1 file changed, 2 insertions(+), 24 deletions(-) diff --git a/java/java-indexing-impl/src/com/intellij/psi/impl/file/impl/JavaFileManagerImpl.java b/java/java-indexing-impl/src/com/intellij/psi/impl/file/impl/JavaFileManagerImpl.java index 0d445fd3fab9..ec8bf9ab41e3 100644 --- a/java/java-indexing-impl/src/com/intellij/psi/impl/file/impl/JavaFileManagerImpl.java +++ b/java/java-indexing-impl/src/com/intellij/psi/impl/file/impl/JavaFileManagerImpl.java @@ -30,7 +30,6 @@ import com.intellij.psi.impl.file.PsiPackageImpl; import com.intellij.psi.impl.java.stubs.index.JavaFullClassNameIndex; import com.intellij.psi.search.GlobalSearchScope; import com.intellij.psi.util.PsiUtilCore; -import com.intellij.util.ConcurrencyUtil; import com.intellij.util.Query; import com.intellij.util.containers.ContainerUtil; import org.jetbrains.annotations.NotNull; @@ -38,14 +37,12 @@ import org.jetbrains.annotations.Nullable; import org.jetbrains.jps.model.java.JavaModuleSourceRootTypes; import java.util.*; -import java.util.concurrent.ConcurrentMap; /** * Author: dmitrylomov */ public class JavaFileManagerImpl implements JavaFileManager, Disposable { private static final Logger LOG = Logger.getInstance("#com.intellij.psi.impl.file.impl.JavaFileManagerImpl"); - private final ConcurrentMap myCachedObjectClassMap = ContainerUtil.newConcurrentMap(); private final PsiManagerEx myManager; private volatile Set myNontrivialPackagePrefixes = null; private boolean myDisposed = false; @@ -60,19 +57,11 @@ public class JavaFileManagerImpl implements JavaFileManager, Disposable { myNontrivialPackagePrefixes = null; } }); - - myManager.registerRunnableToRunOnChange(new Runnable() { - @Override - public void run() { - myCachedObjectClassMap.clear(); - } - }); } @Override public void dispose() { myDisposed = true; - myCachedObjectClassMap.clear(); } @Override @@ -83,6 +72,7 @@ public class JavaFileManagerImpl implements JavaFileManager, Disposable { return new PsiPackageImpl(myManager, packageName); } + @NotNull @Override public PsiClass[] findClasses(@NotNull String qName, @NotNull final GlobalSearchScope scope) { final Collection classes = JavaFullClassNameIndex.getInstance().get(qName.hashCode(), myManager.getProject(), scope); @@ -122,19 +112,6 @@ public class JavaFileManagerImpl implements JavaFileManager, Disposable { @Nullable public PsiClass findClass(@NotNull String qName, @NotNull GlobalSearchScope scope) { LOG.assertTrue(!myDisposed); - - if (CommonClassNames.JAVA_LANG_OBJECT.equals(qName)) { // optimization - PsiClass cached = myCachedObjectClassMap.get(scope); - if (cached == null) { - cached = findClassInIndex(qName, scope); - if (cached != null) { - cached = ConcurrencyUtil.cacheOrGet(myCachedObjectClassMap, scope, cached); - } - } - - return cached; - } - return findClassInIndex(qName, scope); } @@ -190,6 +167,7 @@ public class JavaFileManagerImpl implements JavaFileManager, Disposable { return true; } + @NotNull @Override public Collection getNonTrivialPackagePrefixes() { Set names = myNontrivialPackagePrefixes;