diff --git a/idea/src/org/jetbrains/jet/plugin/stubindex/StubIndexServiceImpl.java b/idea/src/org/jetbrains/jet/plugin/stubindex/StubIndexServiceImpl.java index 54044618857..ac1480d20ca 100644 --- a/idea/src/org/jetbrains/jet/plugin/stubindex/StubIndexServiceImpl.java +++ b/idea/src/org/jetbrains/jet/plugin/stubindex/StubIndexServiceImpl.java @@ -18,6 +18,7 @@ package org.jetbrains.jet.plugin.stubindex; import com.intellij.psi.stubs.IndexSink; import com.intellij.psi.stubs.StubElement; +import org.jetbrains.jet.lang.psi.JetClassOrObject; import org.jetbrains.jet.lang.psi.stubs.*; import org.jetbrains.jet.lang.psi.stubs.elements.StubIndexService; import org.jetbrains.jet.lang.resolve.name.FqName; @@ -56,14 +57,7 @@ public class StubIndexServiceImpl implements StubIndexService { sink.occurrence(JetSuperClassIndex.getInstance().getKey(), superName); } - StubElement parentStub = stub.getParentStub(); - if (parentStub instanceof PsiJetFileStub) { - PsiJetFileStub jetFileStub = (PsiJetFileStub) parentStub; - String packageName = jetFileStub.getPackageName(); - if (packageName != null) { - sink.occurrence(JetClassByPackageIndex.getInstance().getKey(), packageName); - } - } + recordClassOrObjectByPackage(stub, sink); } @Override @@ -81,6 +75,19 @@ public class StubIndexServiceImpl implements StubIndexService { if (fqName != null) { sink.occurrence(JetFullClassNameIndex.getInstance().getKey(), fqName.getFqName()); } + + recordClassOrObjectByPackage(stub, sink); + } + + private static void recordClassOrObjectByPackage(StubElement stub, IndexSink sink) { + StubElement parentStub = stub.getParentStub(); + if (parentStub instanceof PsiJetFileStub) { + PsiJetFileStub jetFileStub = (PsiJetFileStub) parentStub; + String packageName = jetFileStub.getPackageName(); + if (packageName != null) { + sink.occurrence(JetClassByPackageIndex.getInstance().getKey(), packageName); + } + } } @Override