@@ -187,17 +187,21 @@ public void visitExpressionStatement(ExpressionStatement node) {
187
187
currentRootExpr = node .getExpression ();
188
188
appendLeadingComments (node );
189
189
appendIndent ();
190
- if ( node .getStatementLabels () != null ) {
191
- for ( var label : node .getStatementLabels () ) {
192
- append (label );
193
- append (": " );
194
- }
195
- }
190
+ visitStatementLabels (node );
196
191
visit (node .getExpression ());
197
192
appendNewLine ();
198
193
currentRootExpr = cre ;
199
194
}
200
195
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
+
201
205
@ Override
202
206
public void visitReturnStatement (ReturnStatement node ) {
203
207
var cre = currentRootExpr ;
@@ -280,11 +284,14 @@ public void visitMethodCallExpression(MethodCallExpression node) {
280
284
inWrappedMethodChain = true ;
281
285
282
286
if ( !node .isImplicitThis () ) {
283
- visit (node .getObjectExpression ());
287
+ var receiver = node .getObjectExpression ();
288
+ visit (receiver );
284
289
if ( inWrappedMethodChain ) {
285
- appendNewLine ();
286
290
incIndent ();
287
- appendIndent ();
291
+ if ( !(receiver instanceof ClassExpression ) ) {
292
+ appendNewLine ();
293
+ appendIndent ();
294
+ }
288
295
}
289
296
if ( node .isSpreadSafe () )
290
297
append ('*' );
@@ -470,6 +477,7 @@ public void visitClosureExpression(ClosureExpression node) {
470
477
}
471
478
else if ( code .getStatements ().size () == 1 && code .getStatements ().get (0 ) instanceof ExpressionStatement es && !shouldWrapExpression (node ) ) {
472
479
append (' ' );
480
+ visitStatementLabels (es );
473
481
visit (es .getExpression ());
474
482
append (" }" );
475
483
}
0 commit comments