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..9e88953c53 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 noChangeRecordWithCompactConstructor() { + 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() {