in debugger evaluation, java local variable is a possible target for a groovy reference. Let it not be

This commit is contained in:
peter
2010-10-10 18:20:44 +04:00
parent 498b450d33
commit d6e814d04b
@@ -64,13 +64,17 @@ public class ResolverProcessor implements PsiScopeProcessor, NameHint, ClassHint
}
public boolean execute(PsiElement element, ResolveState state) {
if (element instanceof PsiLocalVariable) {
return true; // the debugger creates a Java codeblock context and our expressions to evaluate resolve there
}
if (myResolveTargetKinds.contains(getResolveKind(element))) {
PsiNamedElement namedElement = (PsiNamedElement) element;
PsiNamedElement namedElement = (PsiNamedElement)element;
PsiSubstitutor substitutor = state.get(PsiSubstitutor.KEY);
if (substitutor == null) substitutor = PsiSubstitutor.EMPTY;
if (myTypeArguments.length > 0 && namedElement instanceof PsiClass) {
substitutor = substitutor.putAll((PsiClass) namedElement, myTypeArguments);
substitutor = substitutor.putAll((PsiClass)namedElement, myTypeArguments);
}
if (namedElement instanceof PsiClass) {