diff --git a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/codeInspection/style/GrUnnecessarySemicolonInspection.java b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/codeInspection/style/GrUnnecessarySemicolonInspection.java index caa820acdcf2..51913e7c1ccb 100644 --- a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/codeInspection/style/GrUnnecessarySemicolonInspection.java +++ b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/codeInspection/style/GrUnnecessarySemicolonInspection.java @@ -25,6 +25,7 @@ import com.intellij.psi.tree.TokenSet; import org.jetbrains.annotations.Nls; import org.jetbrains.annotations.NotNull; import org.jetbrains.plugins.groovy.codeInspection.GroovySuppressableInspectionTool; +import org.jetbrains.plugins.groovy.lang.psi.api.statements.clauses.GrTraditionalForClause; import org.jetbrains.plugins.groovy.lang.psi.util.PsiUtil; import static com.intellij.psi.tree.TokenSet.andNot; @@ -79,6 +80,7 @@ public class GrUnnecessarySemicolonInspection extends GroovySuppressableInspecti } private static boolean isSemicolonUnnecessary(@NotNull PsiElement semicolon) { + if (semicolon.getParent() instanceof GrTraditionalForClause) return false; PsiElement next = PsiUtil.skipLeafSet(semicolon, true, FORWARD_SET); if (next == null) return true; if (next.getNode().getElementType() == mNLS) { diff --git a/plugins/groovy/test/org/jetbrains/plugins/groovy/codeInspection/style/GrUnnecessarySemicolonInspectionTest.groovy b/plugins/groovy/test/org/jetbrains/plugins/groovy/codeInspection/style/GrUnnecessarySemicolonInspectionTest.groovy index a8a40e1bc168..2fd36afed0bc 100644 --- a/plugins/groovy/test/org/jetbrains/plugins/groovy/codeInspection/style/GrUnnecessarySemicolonInspectionTest.groovy +++ b/plugins/groovy/test/org/jetbrains/plugins/groovy/codeInspection/style/GrUnnecessarySemicolonInspectionTest.groovy @@ -75,6 +75,10 @@ print(a); {->} doTest 'for (int i = 0; i < 10;) {}' } + void 'test traditional for without condition'() { + doTest 'for (int i = 0; ; i++) {}' + } + void 'test class members'() { doTest '''\ class A {