From 1e439be2d5e00972cedb938fc914d7c29d0d5aac Mon Sep 17 00:00:00 2001 From: Sergey Evdokimov Date: Wed, 6 Oct 2010 17:58:51 +0400 Subject: [PATCH] Fix: IDEA-59171(Groovy: Expression Evaluation dialog does not work for groovy expressions.) --- .../plugins/groovy/lang/psi/util/PsiUtil.java | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/util/PsiUtil.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/util/PsiUtil.java index 0a3410af3b17..05d32ba2e114 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/util/PsiUtil.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/util/PsiUtil.java @@ -562,11 +562,15 @@ public class PsiUtil { @Nullable public static PsiClass getContextClass(PsiElement context) { - GroovyPsiElement parent = PsiTreeUtil.getParentOfType(context, GrTypeDefinition.class, GroovyFileBase.class); - if (parent instanceof GrTypeDefinition) { - return (PsiClass)parent; - } else if (parent instanceof GroovyFileBase) { - return ((GroovyFileBase)parent).getScriptClass(); + while (context != null) { + if (context instanceof GrTypeDefinition) { + return (PsiClass)context; + } + else if (context instanceof GroovyFileBase) { + return ((GroovyFileBase)context).getScriptClass(); + } + + context = context.getContext(); } return null; }