diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/completion/smartEnter/GroovySmartEnterProcessor.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/completion/smartEnter/GroovySmartEnterProcessor.java index 4482431dae38..c26d1e7e500b 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/completion/smartEnter/GroovySmartEnterProcessor.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/completion/smartEnter/GroovySmartEnterProcessor.java @@ -266,7 +266,7 @@ public class GroovySmartEnterProcessor extends SmartEnterProcessor { if (statementAtCaret instanceof GrBlockStatement) return null; if (statementAtCaret == null) return null; - GrControlStatement controlStatement = PsiTreeUtil.getParentOfType(statementAtCaret, GrControlStatement.class); + GrControlStatement controlStatement = PsiTreeUtil.getParentOfType(statementAtCaret, GrControlStatement.class, false); if (controlStatement != null && !PsiTreeUtil.hasErrorElements(statementAtCaret)) { return controlStatement; diff --git a/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/smartEnter/SmartEnterTest.java b/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/smartEnter/SmartEnterTest.java index 7e53f070f252..87138f32b31c 100644 --- a/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/smartEnter/SmartEnterTest.java +++ b/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/smartEnter/SmartEnterTest.java @@ -37,6 +37,7 @@ public class SmartEnterTest extends LightCodeInsightFixtureTestCase { public void testMissRQuoteInCompStr() throws Throwable { doTest(); } public void testGotoNextLineInFor() throws Throwable { doTest(); } + public void testGotoParentInIf() throws Throwable { doTest(); } protected static List getSmartProcessors(Language grLanguage) { return SmartEnterProcessors.INSTANCE.forKey(grLanguage); diff --git a/plugins/groovy/testdata/groovy/actions/smartEnter/gotoParentInIf.test b/plugins/groovy/testdata/groovy/actions/smartEnter/gotoParentInIf.test new file mode 100644 index 000000000000..a21e7c14e63f --- /dev/null +++ b/plugins/groovy/testdata/groovy/actions/smartEnter/gotoParentInIf.test @@ -0,0 +1,13 @@ +if (suitable) { + expectations.each {pattern, action -> + if (cloud.match(pattern, action)) + } +} +----- +if (suitable) { + expectations.each {pattern, action -> + if (cloud.match(pattern, action)) { + + } + } +} diff --git a/plugins/groovy/testdata/highlighting/MissingReturnOvertReturnType.groovy b/plugins/groovy/testdata/highlighting/MissingReturnOvertReturnType.groovy new file mode 100644 index 000000000000..4c12eb35cce7 --- /dev/null +++ b/plugins/groovy/testdata/highlighting/MissingReturnOvertReturnType.groovy @@ -0,0 +1,5 @@ +def promote(List active) { + if (f) { + active.removeLast() + } +} \ No newline at end of file