Skip to content

Commit 661d0a8

Browse files
committed
Fix LombokValToFinalVar removing lombok.* imports
1 parent e7331cc commit 661d0a8

File tree

2 files changed

+27
-9
lines changed

2 files changed

+27
-9
lines changed

src/main/java/org/openrewrite/java/migrate/lombok/LombokValToFinalVar.java

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222
import org.openrewrite.internal.ListUtils;
2323
import org.openrewrite.java.JavaIsoVisitor;
2424
import org.openrewrite.java.JavaTemplate;
25-
import org.openrewrite.java.RemoveImport;
2625
import org.openrewrite.java.search.MaybeUsesImport;
2726
import org.openrewrite.java.search.UsesType;
2827
import org.openrewrite.java.tree.J;
@@ -69,11 +68,7 @@ public TreeVisitor<?, ExecutionContext> getVisitor() {
6968
private static class LombokValToFinalVarVisitor extends JavaIsoVisitor<ExecutionContext> {
7069
@Override
7170
public J.CompilationUnit visitCompilationUnit(J.CompilationUnit compilationUnit, ExecutionContext ctx) {
72-
// Force remove `lombok.var` import; as the parser does not recognize `var` as coming from Lombok
73-
RemoveImport<ExecutionContext> op = new RemoveImport<>(LOMBOK_VAR, true);
74-
if (!getAfterVisit().contains(op)) {
75-
doAfterVisit(op);
76-
}
71+
maybeRemoveImport(LOMBOK_VAR);
7772
return super.visitCompilationUnit(compilationUnit, ctx);
7873
}
7974

src/test/java/org/openrewrite/java/migrate/lombok/LombokValToFinalVarTest.java

Lines changed: 26 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020
import org.openrewrite.java.JavaParser;
2121
import org.openrewrite.test.RecipeSpec;
2222
import org.openrewrite.test.RewriteTest;
23-
import org.openrewrite.test.TypeValidation;
2423

2524
import static org.openrewrite.java.Assertions.java;
2625
import static org.openrewrite.java.Assertions.version;
@@ -64,7 +63,6 @@ void bar() {
6463
void replaceAssignmentVar() {
6564
//language=java
6665
rewriteRun(
67-
spec -> spec.typeValidationOptions(TypeValidation.builder().identifiers(false).build()),
6866
version(
6967
java(
7068
"""
@@ -88,12 +86,37 @@ void bar() {
8886
);
8987
}
9088

89+
@Test
90+
void preserveStarImport() {
91+
//language=java
92+
rewriteRun(
93+
version(
94+
java(
95+
"""
96+
import lombok.*;
97+
98+
@Getter
99+
@Setter
100+
@NoArgsConstructor
101+
@Data
102+
@Value
103+
class A {
104+
void bar() {
105+
var foo = "foo";
106+
}
107+
}
108+
"""
109+
),
110+
17
111+
)
112+
);
113+
}
114+
91115
@SuppressWarnings({"StatementWithEmptyBody", "RedundantOperationOnEmptyContainer"})
92116
@Test
93117
void valInForEachStatement() {
94118
//language=java
95119
rewriteRun(
96-
spec -> spec.afterTypeValidationOptions(TypeValidation.builder().identifiers(false).build()),
97120
version(
98121
java(
99122
"""

0 commit comments

Comments
 (0)