Classes by package index now contains only top-level classes
This commit is contained in:
+2
-2
@@ -41,7 +41,7 @@ import org.jetbrains.jet.lang.resolve.name.FqName;
|
||||
import org.jetbrains.jet.lang.resolve.name.Name;
|
||||
import org.jetbrains.jet.plugin.decompiler.navigation.JetSourceNavigationHelper;
|
||||
import org.jetbrains.jet.plugin.project.ResolveSessionForBodies;
|
||||
import org.jetbrains.jet.plugin.stubindex.JetClassByPackageIndex;
|
||||
import org.jetbrains.jet.plugin.stubindex.JetTopLevelClassByPackageIndex;
|
||||
import org.jetbrains.jet.plugin.stubindex.JetFullClassNameIndex;
|
||||
import org.jetbrains.jet.plugin.stubindex.PackageIndexUtil;
|
||||
|
||||
@@ -201,7 +201,7 @@ public class IDELightClassGenerationSupport extends LightClassGenerationSupport
|
||||
public Collection<JetClassOrObject> findClassOrObjectDeclarationsInPackage(
|
||||
@NotNull FqName packageFqName, @NotNull GlobalSearchScope searchScope
|
||||
) {
|
||||
return JetClassByPackageIndex.getInstance().get(packageFqName.asString(), project, kotlinSources(searchScope, project));
|
||||
return JetTopLevelClassByPackageIndex.getInstance().get(packageFqName.asString(), project, kotlinSources(searchScope, project));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+5
-5
@@ -25,16 +25,16 @@ import org.jetbrains.jet.lang.psi.JetClassOrObject;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
public class JetClassByPackageIndex extends StringStubIndexExtension<JetClassOrObject> {
|
||||
private static final StubIndexKey<String, JetClassOrObject> KEY = KotlinIndexUtil.createIndexKey(JetClassByPackageIndex.class);
|
||||
public class JetTopLevelClassByPackageIndex extends StringStubIndexExtension<JetClassOrObject> {
|
||||
private static final StubIndexKey<String, JetClassOrObject> KEY = KotlinIndexUtil.createIndexKey(JetTopLevelClassByPackageIndex.class);
|
||||
|
||||
private static final JetClassByPackageIndex ourInstance = new JetClassByPackageIndex();
|
||||
private static final JetTopLevelClassByPackageIndex ourInstance = new JetTopLevelClassByPackageIndex();
|
||||
|
||||
public static JetClassByPackageIndex getInstance() {
|
||||
public static JetTopLevelClassByPackageIndex getInstance() {
|
||||
return ourInstance;
|
||||
}
|
||||
|
||||
private JetClassByPackageIndex() {}
|
||||
private JetTopLevelClassByPackageIndex() {}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
+11
-14
@@ -41,13 +41,16 @@ public class StubIndexServiceImpl implements StubIndexService {
|
||||
sink.occurrence(JetClassShortNameIndex.getInstance().getKey(), name);
|
||||
}
|
||||
|
||||
FqName fqn = stub.getFqName();
|
||||
if (fqn != null) {
|
||||
sink.occurrence(JetFullClassNameIndex.getInstance().getKey(), fqn.asString());
|
||||
FqName fqName = stub.getFqName();
|
||||
if (fqName != null) {
|
||||
sink.occurrence(JetFullClassNameIndex.getInstance().getKey(), fqName.asString());
|
||||
|
||||
if (stub.isTopLevel()) {
|
||||
sink.occurrence(JetTopLevelClassByPackageIndex.getInstance().getKey(), fqName.parent().asString());
|
||||
}
|
||||
}
|
||||
|
||||
indexSuperNames(stub, sink);
|
||||
recordClassOrObjectByPackage(stub, sink);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -78,10 +81,13 @@ public class StubIndexServiceImpl implements StubIndexService {
|
||||
|
||||
if (fqName != null) {
|
||||
sink.occurrence(JetFullClassNameIndex.getInstance().getKey(), fqName.asString());
|
||||
|
||||
if (stub.isTopLevel()) {
|
||||
sink.occurrence(JetTopLevelClassByPackageIndex.getInstance().getKey(), fqName.parent().asString());
|
||||
}
|
||||
}
|
||||
|
||||
indexSuperNames(stub, sink);
|
||||
recordClassOrObjectByPackage(stub, sink);
|
||||
}
|
||||
|
||||
private static void indexSuperNames(KotlinClassOrObjectStub<? extends JetClassOrObject> stub, IndexSink sink) {
|
||||
@@ -90,15 +96,6 @@ public class StubIndexServiceImpl implements StubIndexService {
|
||||
}
|
||||
}
|
||||
|
||||
private static void recordClassOrObjectByPackage(StubElement<? extends JetClassOrObject> stub, IndexSink sink) {
|
||||
StubElement parentStub = stub.getParentStub();
|
||||
if (parentStub instanceof KotlinFileStub) {
|
||||
KotlinFileStub jetFileStub = (KotlinFileStub) parentStub;
|
||||
FqName packageFqName = jetFileStub.getPackageFqName();
|
||||
sink.occurrence(JetClassByPackageIndex.getInstance().getKey(), packageFqName.asString());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void indexFunction(KotlinFunctionStub stub, IndexSink sink) {
|
||||
String name = stub.getName();
|
||||
|
||||
+1
-2
@@ -31,7 +31,6 @@ import org.jetbrains.jet.lang.resolve.lazy.data.JetClassInfoUtil
|
||||
import org.jetbrains.jet.lang.resolve.lazy.ResolveSessionUtils
|
||||
import java.util.ArrayList
|
||||
import org.jetbrains.jet.lang.resolve.scopes.DescriptorKindFilter
|
||||
import org.jetbrains.jet.plugin.stubindex.JetClassByPackageIndex
|
||||
import org.jetbrains.jet.plugin.stubindex.JetTopLevelFunctionByPackageIndex
|
||||
import com.intellij.psi.stubs.StringStubIndexExtension
|
||||
import org.jetbrains.jet.plugin.stubindex.JetTopLevelPropertyByPackageIndex
|
||||
@@ -50,7 +49,7 @@ public class StubBasedPackageMemberDeclarationProvider(
|
||||
}
|
||||
|
||||
if (kindFilter.acceptsKinds(DescriptorKindFilter.CLASSIFIERS_MASK)) {
|
||||
addFromIndex(JetClassByPackageIndex.getInstance())
|
||||
addFromIndex(org.jetbrains.jet.plugin.stubindex.JetTopLevelClassByPackageIndex.getInstance())
|
||||
}
|
||||
|
||||
if (kindFilter.acceptsKinds(DescriptorKindFilter.FUNCTIONS_MASK)) {
|
||||
|
||||
@@ -394,7 +394,7 @@
|
||||
|
||||
<stubElementTypeHolder class="org.jetbrains.jet.lang.psi.stubs.elements.JetStubElementTypes"/>
|
||||
<stubIndex implementation="org.jetbrains.jet.plugin.stubindex.JetExactPackagesIndex"/>
|
||||
<stubIndex implementation="org.jetbrains.jet.plugin.stubindex.JetClassByPackageIndex"/>
|
||||
<stubIndex implementation="org.jetbrains.jet.plugin.stubindex.JetTopLevelClassByPackageIndex"/>
|
||||
<stubIndex implementation="org.jetbrains.jet.plugin.stubindex.JetTopLevelFunctionByPackageIndex"/>
|
||||
<stubIndex implementation="org.jetbrains.jet.plugin.stubindex.JetTopLevelPropertyByPackageIndex"/>
|
||||
<stubIndex implementation="org.jetbrains.jet.plugin.stubindex.JetClassShortNameIndex"/>
|
||||
|
||||
Reference in New Issue
Block a user