diff --git a/java/java-impl/src/com/intellij/psi/stubsHierarchy/impl/HierarchyService.java b/java/java-impl/src/com/intellij/psi/stubsHierarchy/impl/HierarchyService.java index fd71f6468795..7c11a85b1c0e 100644 --- a/java/java-impl/src/com/intellij/psi/stubsHierarchy/impl/HierarchyService.java +++ b/java/java-impl/src/com/intellij/psi/stubsHierarchy/impl/HierarchyService.java @@ -17,7 +17,6 @@ package com.intellij.psi.stubsHierarchy.impl; import com.intellij.openapi.components.ServiceManager; import com.intellij.openapi.project.Project; -import com.intellij.openapi.util.registry.Registry; import com.intellij.psi.PsiClassOwner; import com.intellij.psi.impl.java.stubs.hierarchy.IndexTree; import com.intellij.psi.stubsHierarchy.stubs.Unit; @@ -28,7 +27,6 @@ public class HierarchyService { public static boolean PROCESS_PSI = true; public static boolean IGNORE_LOCAL_CLASSES = true; - public static final String HIERARCHY_SERVICE = "java.hierarchy.service"; private NameEnvironment myNameEnvironment; private SoftReference myNamesCache = new SoftReference(null); @@ -42,10 +40,6 @@ public class HierarchyService { return ServiceManager.getService(project, HierarchyService.class); } - public static boolean isEnabled() { - return Registry.is(HIERARCHY_SERVICE); - } - public HierarchyService() { clear(); } diff --git a/java/java-impl/src/com/intellij/psi/stubsHierarchy/impl/test/InheritanceAction.java b/java/java-impl/src/com/intellij/psi/stubsHierarchy/impl/test/InheritanceAction.java index 66aa248d9eea..b9a32e5a9ad4 100644 --- a/java/java-impl/src/com/intellij/psi/stubsHierarchy/impl/test/InheritanceAction.java +++ b/java/java-impl/src/com/intellij/psi/stubsHierarchy/impl/test/InheritanceAction.java @@ -17,11 +17,11 @@ package com.intellij.psi.stubsHierarchy.impl.test; import com.intellij.openapi.actionSystem.AnAction; import com.intellij.openapi.actionSystem.AnActionEvent; -import com.intellij.psi.stubsHierarchy.impl.HierarchyService; +import com.intellij.psi.impl.java.stubs.hierarchy.IndexTree; public abstract class InheritanceAction extends AnAction { @Override public void update(AnActionEvent e) { - e.getPresentation().setVisible(HierarchyService.isEnabled()); + e.getPresentation().setVisible(IndexTree.STUB_HIERARCHY_ENABLED); } } diff --git a/java/java-psi-impl/src/com/intellij/psi/impl/java/stubs/hierarchy/IndexTree.java b/java/java-psi-impl/src/com/intellij/psi/impl/java/stubs/hierarchy/IndexTree.java index a1d3b77715ba..5627a307d488 100644 --- a/java/java-psi-impl/src/com/intellij/psi/impl/java/stubs/hierarchy/IndexTree.java +++ b/java/java-psi-impl/src/com/intellij/psi/impl/java/stubs/hierarchy/IndexTree.java @@ -16,6 +16,7 @@ package com.intellij.psi.impl.java.stubs.hierarchy; +import com.intellij.openapi.util.registry.Registry; import com.intellij.psi.impl.java.stubs.JavaClassElementType; import com.intellij.psi.stubs.IStubElementType; import com.intellij.util.BitUtil; @@ -23,6 +24,8 @@ import com.intellij.util.BitUtil; import java.util.Arrays; public class IndexTree { + public static final boolean STUB_HIERARCHY_ENABLED = Registry.is("java.hierarchy.service"); + public final static int PACKAGE = 1 << 0; public final static int CLASS = 1 << 1; public static final int STATIC = 1 << 3; diff --git a/java/java-psi-impl/src/com/intellij/psi/impl/source/JavaFileElementType.java b/java/java-psi-impl/src/com/intellij/psi/impl/source/JavaFileElementType.java index e3a2c6e6af0b..4ff8346112bf 100644 --- a/java/java-psi-impl/src/com/intellij/psi/impl/source/JavaFileElementType.java +++ b/java/java-psi-impl/src/com/intellij/psi/impl/source/JavaFileElementType.java @@ -55,7 +55,7 @@ public class JavaFileElementType extends ILightStubFileElementType { @Override public int getStubVersion() { - return super.getStubVersion() + 28; + return super.getStubVersion() + 28 + (IndexTree.STUB_HIERARCHY_ENABLED ? 1 : 0); } @Override @@ -97,11 +97,6 @@ public class GrStubFileElementType extends IStubFileElementType { return "groovy.FILE"; } - @Override - public void indexStub(@NotNull PsiFileStub stub, @NotNull IndexSink sink) { - super.indexStub(stub, sink); - } - @Override public void serialize(@NotNull final GrFileStub stub, @NotNull final StubOutputStream dataStream) throws IOException { dataStream.writeName(stub.getName().toString()); @@ -131,10 +126,12 @@ public class GrStubFileElementType extends IStubFileElementType { sink.occurrence(GrAnnotatedMemberIndex.KEY, anno); } - Integer fileId = stub.getUserData(IndexingDataKeys.VIRTUAL_FILE_ID); - if (fileId == null) return; - IndexTree.Unit unit = GrStubIndexer.translate(fileId, stub); - sink.occurrence(JavaStubIndexKeys.UNITS, unit); + if (IndexTree.STUB_HIERARCHY_ENABLED) { + Integer fileId = stub.getUserData(IndexingDataKeys.VIRTUAL_FILE_ID); + if (fileId == null) return; + IndexTree.Unit unit = GrStubIndexer.translate(fileId, stub); + sink.occurrence(JavaStubIndexKeys.UNITS, unit); + } } } diff --git a/plugins/junit/src/com/intellij/execution/ConfigurationUtil.java b/plugins/junit/src/com/intellij/execution/ConfigurationUtil.java index ce947572d2c2..ae1e7793e5a1 100644 --- a/plugins/junit/src/com/intellij/execution/ConfigurationUtil.java +++ b/plugins/junit/src/com/intellij/execution/ConfigurationUtil.java @@ -28,6 +28,7 @@ import com.intellij.openapi.util.Ref; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.openapi.vfs.newvfs.persistent.PersistentFS; import com.intellij.psi.*; +import com.intellij.psi.impl.java.stubs.hierarchy.IndexTree; import com.intellij.psi.search.GlobalSearchScope; import com.intellij.psi.search.PsiElementProcessor; import com.intellij.psi.search.PsiElementProcessorAdapter; @@ -39,7 +40,6 @@ import com.intellij.psi.stubsHierarchy.impl.HierarchyService; import com.intellij.psi.stubsHierarchy.impl.SingleClassHierarchy; import com.intellij.psi.stubsHierarchy.impl.SmartClassAnchor; import com.intellij.psi.util.PsiUtilCore; -import com.intellij.util.Processor; import com.intellij.util.containers.ContainerUtil; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -55,7 +55,7 @@ public class ConfigurationUtil { GlobalSearchScope projectScopeWithoutLibraries = GlobalSearchScope.projectScope(project); final GlobalSearchScope scope = projectScopeWithoutLibraries.intersectWith(testClassFilter.getScope()); - SingleClassHierarchy symbols = HierarchyService.isEnabled() ? HierarchyService.instance(project).getSingleClassHierarchy() : null; + SingleClassHierarchy symbols = IndexTree.STUB_HIERARCHY_ENABLED ? HierarchyService.instance(project).getSingleClassHierarchy() : null; if (symbols != null) { SmartClassAnchor[] candidates = symbols.getAllSubtypes(testClassFilter.getBase());