From d0c4829252a2c1cc4da9c6db3ec5726ac46e90e3 Mon Sep 17 00:00:00 2001 From: zakaria-shahen Date: Thu, 11 Dec 2025 17:39:54 +0200 Subject: [PATCH 1/2] fix IndexOutOfBoundsException --- .../java/migrate/lombok/LombokUtils.java | 3 ++- .../migrate/lombok/UseLombokGetterTest.java | 17 +++++++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/openrewrite/java/migrate/lombok/LombokUtils.java b/src/main/java/org/openrewrite/java/migrate/lombok/LombokUtils.java index 32640b3005..f232c780a4 100644 --- a/src/main/java/org/openrewrite/java/migrate/lombok/LombokUtils.java +++ b/src/main/java/org/openrewrite/java/migrate/lombok/LombokUtils.java @@ -19,6 +19,7 @@ import org.jspecify.annotations.Nullable; import org.openrewrite.Cursor; import org.openrewrite.internal.StringUtils; +import org.openrewrite.java.marker.CompactConstructor; import org.openrewrite.java.tree.Expression; import org.openrewrite.java.tree.Flag; import org.openrewrite.java.tree.J; @@ -38,7 +39,7 @@ static boolean isGetter(Cursor cursor) { return false; } // Check signature: no parameters - if (!(method.getParameters().get(0) instanceof J.Empty) || method.getReturnTypeExpression() == null) { + if (method.getMarkers().findFirst(CompactConstructor.class).isPresent() || !(method.getParameters().get(0) instanceof J.Empty) || method.getReturnTypeExpression() == null) { return false; } // Check body: just a return statement diff --git a/src/test/java/org/openrewrite/java/migrate/lombok/UseLombokGetterTest.java b/src/test/java/org/openrewrite/java/migrate/lombok/UseLombokGetterTest.java index 0783d1830c..1f410b5f5e 100644 --- a/src/test/java/org/openrewrite/java/migrate/lombok/UseLombokGetterTest.java +++ b/src/test/java/org/openrewrite/java/migrate/lombok/UseLombokGetterTest.java @@ -560,6 +560,23 @@ public int getFoo() { ); } + @Test + void noChangeRecordWithCompactContractor() { + rewriteRun(// language=java + java( + """ + public record Foo(String id) { + public Foo { + if (id == null || id.isBlank()) { + throw new IllegalArgumentException("ID cannot be null or blank"); + } + } + } + """ + ) + ); + } + @Issue("https://github.com/openrewrite/rewrite/issues/5015") @Test void addOnMethodArgIfAnnotated() { From 758248fbb2a9690d4eab9523877e1a987bae53dd Mon Sep 17 00:00:00 2001 From: zakaria-shahen Date: Thu, 11 Dec 2025 18:11:44 +0200 Subject: [PATCH 2/2] fix typo --- .../openrewrite/java/migrate/lombok/UseLombokGetterTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/java/org/openrewrite/java/migrate/lombok/UseLombokGetterTest.java b/src/test/java/org/openrewrite/java/migrate/lombok/UseLombokGetterTest.java index 1f410b5f5e..9e88953c53 100644 --- a/src/test/java/org/openrewrite/java/migrate/lombok/UseLombokGetterTest.java +++ b/src/test/java/org/openrewrite/java/migrate/lombok/UseLombokGetterTest.java @@ -561,7 +561,7 @@ public int getFoo() { } @Test - void noChangeRecordWithCompactContractor() { + void noChangeRecordWithCompactConstructor() { rewriteRun(// language=java java( """