From ea48d36fb33d37d36076e6881253e7177fa59e1e Mon Sep 17 00:00:00 2001 From: Knut Wannheden Date: Tue, 15 Apr 2025 21:21:27 +0200 Subject: [PATCH 1/2] Fix `JavaScriptVisitor` bug The `JS.ArrowFunction#body` property was visited twice. --- .../openrewrite/javascript/JavaScriptVisitor.java | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/rewrite-javascript/src/main/java/org/openrewrite/javascript/JavaScriptVisitor.java b/rewrite-javascript/src/main/java/org/openrewrite/javascript/JavaScriptVisitor.java index 96c67fef..1efb5fae 100644 --- a/rewrite-javascript/src/main/java/org/openrewrite/javascript/JavaScriptVisitor.java +++ b/rewrite-javascript/src/main/java/org/openrewrite/javascript/JavaScriptVisitor.java @@ -88,21 +88,15 @@ public J visitArrowFunction(JS.ArrowFunction arrowFunction, P p) { a = a.withTypeParameters(visitAndCast(a.getTypeParameters(), p)); a = a.withParameters( - a.getParameters().withPrefix( - visitSpace(a.getParameters().getPrefix(), Space.Location.LAMBDA_PARAMETERS_PREFIX, p) - ) - ); - a = a.withParameters( - a.getParameters().getPadding().withParams( - Objects.requireNonNull(ListUtils.map(a.getParameters().getPadding().getParams(), + a.getParameters().getPadding().withParameters( + Objects.requireNonNull(ListUtils.map(a.getParameters().getPadding().getParameters(), param -> visitRightPadded(param, JRightPadded.Location.LAMBDA_PARAM, p) )) - ) + ).withPrefix(visitSpace(a.getParameters().getPrefix(), Space.Location.LAMBDA_PARAMETERS_PREFIX, p)) ); a = a.withParameters(Objects.requireNonNull(visitAndCast(a.getParameters(), p))); a = a.withReturnTypeExpression(visitAndCast(a.getReturnTypeExpression(), p)); a = a.getPadding().withBody(Objects.requireNonNull(visitLeftPadded(a.getPadding().getBody(), JsLeftPadded.Location.LAMBDA_ARROW, p))); - a = a.withBody(Objects.requireNonNull(visitAndCast(a.getBody(), p))); a = a.withType(visitType(a.getType(), p)); return a; } From aaa09c9d846cf3c6acb82009764d0f9c75d7edcb Mon Sep 17 00:00:00 2001 From: Knut Wannheden Date: Tue, 15 Apr 2025 21:21:27 +0200 Subject: [PATCH 2/2] Polish --- .../java/org/openrewrite/javascript/JavaScriptVisitor.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/rewrite-javascript/src/main/java/org/openrewrite/javascript/JavaScriptVisitor.java b/rewrite-javascript/src/main/java/org/openrewrite/javascript/JavaScriptVisitor.java index 96c67fef..0fdb8218 100644 --- a/rewrite-javascript/src/main/java/org/openrewrite/javascript/JavaScriptVisitor.java +++ b/rewrite-javascript/src/main/java/org/openrewrite/javascript/JavaScriptVisitor.java @@ -93,8 +93,8 @@ public J visitArrowFunction(JS.ArrowFunction arrowFunction, P p) { ) ); a = a.withParameters( - a.getParameters().getPadding().withParams( - Objects.requireNonNull(ListUtils.map(a.getParameters().getPadding().getParams(), + a.getParameters().getPadding().withParameters( + Objects.requireNonNull(ListUtils.map(a.getParameters().getPadding().getParameters(), param -> visitRightPadded(param, JRightPadded.Location.LAMBDA_PARAM, p) )) ) @@ -102,7 +102,6 @@ public J visitArrowFunction(JS.ArrowFunction arrowFunction, P p) { a = a.withParameters(Objects.requireNonNull(visitAndCast(a.getParameters(), p))); a = a.withReturnTypeExpression(visitAndCast(a.getReturnTypeExpression(), p)); a = a.getPadding().withBody(Objects.requireNonNull(visitLeftPadded(a.getPadding().getBody(), JsLeftPadded.Location.LAMBDA_ARROW, p))); - a = a.withBody(Objects.requireNonNull(visitAndCast(a.getBody(), p))); a = a.withType(visitType(a.getType(), p)); return a; }