Store information about package declaration in context

This information is used for resolving references in plugin
This commit is contained in:
Nikolay Krasko
2013-06-11 18:47:17 +04:00
parent 94ad93d810
commit 32b04531f6
10 changed files with 123 additions and 13 deletions
@@ -19,6 +19,7 @@ package org.jetbrains.jet.plugin.stubs.resolve;
import com.google.common.base.Function;
import com.google.common.collect.Collections2;
import com.google.common.collect.Lists;
import com.intellij.psi.NavigatablePsiElement;
import com.intellij.psi.search.GlobalSearchScope;
import com.intellij.testFramework.fixtures.LightCodeInsightFixtureTestCase;
import org.jetbrains.jet.lang.psi.JetNamedFunction;
@@ -80,4 +81,16 @@ public class JetStubResolveTest extends LightCodeInsightFixtureTestCase {
assertSize(1, testProperties);
assertEquals("val test = 12", testProperties.get(0).getText());
}
public void testGetPackageByIntermediatePartition() {
myFixture.configureByText(JetFileType.INSTANCE, "package first.second.third");
StubPackageMemberDeclarationProvider provider = new StubPackageMemberDeclarationProvider(
new FqName("first.second"), getProject(), GlobalSearchScope.projectScope(getProject()));
Collection<NavigatablePsiElement> packageDeclarations = provider.getPackageDeclarations(new FqName("first.second"));
assertSize(1, packageDeclarations);
assertEquals("second", packageDeclarations.iterator().next().getText());
}
}