record ambiguous label references

This commit is contained in:
Svetlana Isakova
2012-11-14 20:50:39 +04:00
parent 6d3981503b
commit df057010f3
4 changed files with 31 additions and 7 deletions
@@ -35,6 +35,7 @@ import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import static org.jetbrains.jet.lang.resolve.BindingContext.AMBIGUOUS_LABEL_TARGET;
import static org.jetbrains.jet.lang.resolve.BindingContext.AMBIGUOUS_REFERENCE_TARGET;
public abstract class JetPsiReference implements PsiPolyVariantReference {
@@ -126,6 +127,10 @@ public abstract class JetPsiReference implements PsiPolyVariantReference {
if (psiElements.size() > 1) {
return PsiElementResolveResult.createResults(psiElements);
}
Collection<? extends PsiElement> labelTargets = bindingContext.get(AMBIGUOUS_LABEL_TARGET, myExpression);
if (labelTargets != null && !labelTargets.isEmpty()) {
return PsiElementResolveResult.createResults(labelTargets);
}
Collection<PsiElement> standardLibraryElements = resolveStandardLibrarySymbol(bindingContext);
if (standardLibraryElements.size() > 1) {
return PsiElementResolveResult.createResults(standardLibraryElements);