IDEA-81317 && IDEA-80162 && IDEA-78789

This commit is contained in:
Serega Vasiliev
2012-03-05 14:01:07 +01:00
parent ed1954a224
commit a6e776ccca
3 changed files with 10 additions and 2 deletions
@@ -18,6 +18,7 @@ package com.intellij.psi.impl.source.resolve.reference.impl.providers;
import com.intellij.openapi.util.Comparing;
import com.intellij.openapi.util.TextRange;
import com.intellij.psi.JavaPsiFacade;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiPackage;
import com.intellij.psi.ResolveResult;
@@ -29,6 +30,7 @@ import org.jetbrains.annotations.Nullable;
import java.util.Collection;
import java.util.Collections;
import java.util.Set;
/**
* @author Dmitry Avdeev
@@ -68,4 +70,8 @@ public class PackageReferenceSet extends ReferenceSetBase<PsiPackageReference> {
}
});
}
public Set<PsiPackage> getInitialContext() {
return Collections.singleton(JavaPsiFacade.getInstance(getElement().getProject()).findPackage(""));
}
}
@@ -38,7 +38,7 @@ public class PsiPackageReference extends PsiPolyVariantReferenceBase<PsiElement>
@NotNull
private Set<PsiPackage> getContext() {
if (myIndex == 0) return Collections.singleton(JavaPsiFacade.getInstance(getElement().getProject()).findPackage(""));
if (myIndex == 0) return myReferenceSet.getInitialContext();
Set<PsiPackage> psiPackages = new HashSet<PsiPackage>();
for (ResolveResult resolveResult : myReferenceSet.getReference(myIndex - 1).multiResolve(false)) {
PsiElement psiElement = resolveResult.getElement();