@@ -187,17 +187,21 @@ public void visitExpressionStatement(ExpressionStatement node) {
187187 currentRootExpr = node .getExpression ();
188188 appendLeadingComments (node );
189189 appendIndent ();
190- if ( node .getStatementLabels () != null ) {
191- for ( var label : node .getStatementLabels () ) {
192- append (label );
193- append (": " );
194- }
195- }
190+ visitStatementLabels (node );
196191 visit (node .getExpression ());
197192 appendNewLine ();
198193 currentRootExpr = cre ;
199194 }
200195
196+ private void visitStatementLabels (ExpressionStatement node ) {
197+ if ( node .getStatementLabels () == null )
198+ return ;
199+ for ( var label : DefaultGroovyMethods .asReversed (node .getStatementLabels ()) ) {
200+ append (label );
201+ append (": " );
202+ }
203+ }
204+
201205 @ Override
202206 public void visitReturnStatement (ReturnStatement node ) {
203207 var cre = currentRootExpr ;
@@ -280,11 +284,14 @@ public void visitMethodCallExpression(MethodCallExpression node) {
280284 inWrappedMethodChain = true ;
281285
282286 if ( !node .isImplicitThis () ) {
283- visit (node .getObjectExpression ());
287+ var receiver = node .getObjectExpression ();
288+ visit (receiver );
284289 if ( inWrappedMethodChain ) {
285- appendNewLine ();
286290 incIndent ();
287- appendIndent ();
291+ if ( !(receiver instanceof ClassExpression ) ) {
292+ appendNewLine ();
293+ appendIndent ();
294+ }
288295 }
289296 if ( node .isSpreadSafe () )
290297 append ('*' );
@@ -470,6 +477,7 @@ public void visitClosureExpression(ClosureExpression node) {
470477 }
471478 else if ( code .getStatements ().size () == 1 && code .getStatements ().get (0 ) instanceof ExpressionStatement es && !shouldWrapExpression (node ) ) {
472479 append (' ' );
480+ visitStatementLabels (es );
473481 visit (es .getExpression ());
474482 append (" }" );
475483 }
0 commit comments