diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/patterns/GroovyElementPattern.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/patterns/GroovyElementPattern.java index 0c584cf7e4f7..66e490ce2636 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/patterns/GroovyElementPattern.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/patterns/GroovyElementPattern.java @@ -19,7 +19,6 @@ import com.intellij.patterns.*; import com.intellij.psi.PsiElement; import com.intellij.psi.PsiMethod; import com.intellij.util.ProcessingContext; -import com.intellij.util.containers.ContainerUtil; import org.jetbrains.annotations.NotNull; import org.jetbrains.plugins.groovy.lang.psi.GrReferenceElement; import org.jetbrains.plugins.groovy.lang.psi.GroovyPsiElement; @@ -44,9 +43,10 @@ public class GroovyElementPattern index && psiExpressions[index] == literal)) return false; + if (psiExpressionList.getExpressionArgumentIndex((GrExpression)literal) != index) return false; final PsiElement element = psiExpressionList.getParent(); if (element instanceof GrCall) { @@ -59,7 +59,15 @@ public class GroovyElementPattern condition : methodPattern.getCondition().getConditions()) { + if (condition instanceof PsiNamePatternCondition) { + nameCondition = (PsiNamePatternCondition)condition; + break; + } + } + if (nameCondition != null && "withName".equals(nameCondition.getDebugMethodName())) { final String methodName = ref.getReferenceName(); //noinspection unchecked