diff --git a/rewrite-groovy/src/main/java/org/openrewrite/groovy/GroovyParserVisitor.java b/rewrite-groovy/src/main/java/org/openrewrite/groovy/GroovyParserVisitor.java index 4c846dea22..4976e011dc 100644 --- a/rewrite-groovy/src/main/java/org/openrewrite/groovy/GroovyParserVisitor.java +++ b/rewrite-groovy/src/main/java/org/openrewrite/groovy/GroovyParserVisitor.java @@ -1196,16 +1196,18 @@ public void visitClassExpression(ClassExpression clazz) { @Override public void visitAssertStatement(AssertStatement statement) { - Space prefix = whitespace(); - skip("assert"); - Expression condition = doVisit(statement.getBooleanExpression()); - JLeftPadded message = null; - if (!(statement.getMessageExpression() instanceof ConstantExpression) || !((ConstantExpression) statement.getMessageExpression()).isNullExpression()) { - Space messagePrefix = whitespace(); - skip(":"); - message = padLeft(messagePrefix, doVisit(statement.getMessageExpression())); - } - queue.add(new J.Assert(randomId(), prefix, Markers.EMPTY, condition, message)); + queue.add(labeled(statement, () -> { + Space prefix = whitespace(); + skip("assert"); + Expression condition = doVisit(statement.getBooleanExpression()); + JLeftPadded message = null; + if (!(statement.getMessageExpression() instanceof ConstantExpression) || !((ConstantExpression) statement.getMessageExpression()).isNullExpression()) { + Space messagePrefix = whitespace(); + skip(":"); + message = padLeft(messagePrefix, doVisit(statement.getMessageExpression())); + } + return new J.Assert(randomId(), prefix, Markers.EMPTY, condition, message); + })); } @Override diff --git a/rewrite-groovy/src/test/java/org/openrewrite/groovy/tree/LabelsTest.java b/rewrite-groovy/src/test/java/org/openrewrite/groovy/tree/LabelsTest.java index e455ea1f26..21e4fc137c 100644 --- a/rewrite-groovy/src/test/java/org/openrewrite/groovy/tree/LabelsTest.java +++ b/rewrite-groovy/src/test/java/org/openrewrite/groovy/tree/LabelsTest.java @@ -49,4 +49,19 @@ def foo() {} ) ); } + + @Test + void labelBeforeAssert() { + rewriteRun( + //language=groovy + groovy( + """ + def foo() { + then: + assert 1 == 0 + } + """ + ) + ); + } }