Skip to content

Commit df743de

Browse files
authored
Inline JavaParser and JavaTemplate fields in recipes (#951)
* Inline JavaParser and JavaTemplate fields in recipes Remove the legacy pattern of storing JavaParser.Builder and JavaTemplate instances as cached fields on visitors, inlining them at each usage site instead. * Also inline javaParser helper methods Address PR feedback to fully inline the javaParser(ctx) helper methods in JUnitParamsRunnerToParameterized and ParameterizedRunnerToParameterized.
1 parent 9ae6e43 commit df743de

11 files changed

Lines changed: 105 additions & 212 deletions

src/main/java/org/openrewrite/java/testing/cleanup/AssertEqualsBooleanToAssertBoolean.java

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -41,16 +41,6 @@ public class AssertEqualsBooleanToAssertBoolean extends Recipe {
4141
public TreeVisitor<?, ExecutionContext> getVisitor() {
4242
return new JavaVisitor<ExecutionContext>() {
4343

44-
JavaParser.Builder<?, ?> javaParser = null;
45-
46-
private JavaParser.Builder<?, ?> javaParser(ExecutionContext ctx) {
47-
if (javaParser == null) {
48-
javaParser = JavaParser.fromJavaVersion()
49-
.classpathFromResources(ctx, "junit-jupiter-api-5");
50-
}
51-
return javaParser;
52-
}
53-
5444
@Override
5545
public J.MethodInvocation visitMethodInvocation(J.MethodInvocation method, ExecutionContext ctx) {
5646
J.MethodInvocation mi = (J.MethodInvocation) super.visitMethodInvocation(method, ctx);
@@ -79,12 +69,12 @@ public J.MethodInvocation visitMethodInvocation(J.MethodInvocation method, Execu
7969
if (mi.getSelect() == null) {
8070
t = JavaTemplate.builder(sb.toString())
8171
.staticImports(String.format("org.junit.jupiter.api.Assertions.%s", assertMethod))
82-
.javaParser(javaParser(ctx))
72+
.javaParser(JavaParser.fromJavaVersion().classpathFromResources(ctx, "junit-jupiter-api-5"))
8373
.build();
8474
} else {
8575
t = JavaTemplate.builder(sb.toString())
8676
.imports("org.junit.jupiter.api.Assertions")
87-
.javaParser(javaParser(ctx))
77+
.javaParser(JavaParser.fromJavaVersion().classpathFromResources(ctx, "junit-jupiter-api-5"))
8878
.build();
8979
}
9080
return t.apply(updateCursor(mi), mi.getCoordinates().replace(), args);

src/main/java/org/openrewrite/java/testing/cleanup/AssertEqualsNullToAssertNull.java

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -43,16 +43,6 @@ public class AssertEqualsNullToAssertNull extends Recipe {
4343
public TreeVisitor<?, ExecutionContext> getVisitor() {
4444
return Preconditions.check(new UsesMethod<>(ASSERT_EQUALS), new JavaVisitor<ExecutionContext>() {
4545

46-
JavaParser.Builder<?, ?> javaParser = null;
47-
48-
private JavaParser.Builder<?, ?> javaParser(ExecutionContext ctx) {
49-
if (javaParser == null) {
50-
javaParser = JavaParser.fromJavaVersion()
51-
.classpathFromResources(ctx, "junit-jupiter-api-5");
52-
}
53-
return javaParser;
54-
}
55-
5646
@Override
5747
public J visitMethodInvocation(J.MethodInvocation method, ExecutionContext ctx) {
5848
J.MethodInvocation mi = (J.MethodInvocation) super.visitMethodInvocation(method, ctx);
@@ -76,12 +66,12 @@ public J visitMethodInvocation(J.MethodInvocation method, ExecutionContext ctx)
7666
maybeAddImport("org.junit.jupiter.api.Assertions", "assertNull");
7767
t = JavaTemplate.builder(sb.toString())
7868
.contextSensitive()
79-
.javaParser(javaParser(ctx))
69+
.javaParser(JavaParser.fromJavaVersion().classpathFromResources(ctx, "junit-jupiter-api-5"))
8070
.staticImports("org.junit.jupiter.api.Assertions.assertNull").build();
8171
} else {
8272
t = JavaTemplate.builder(sb.toString())
8373
.contextSensitive()
84-
.javaParser(javaParser(ctx))
74+
.javaParser(JavaParser.fromJavaVersion().classpathFromResources(ctx, "junit-jupiter-api-5"))
8575
.imports("org.junit.jupiter.api.Assertions.assertNull").build();
8676
}
8777
return t.apply(updateCursor(mi), mi.getCoordinates().replace(), args);

src/main/java/org/openrewrite/java/testing/cleanup/AssertFalseEqualsToAssertNotEquals.java

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -41,16 +41,6 @@ public class AssertFalseEqualsToAssertNotEquals extends Recipe {
4141
@Override
4242
public TreeVisitor<?, ExecutionContext> getVisitor() {
4343
return Preconditions.check(new UsesMethod<>(ASSERT_FALSE), new JavaVisitor<ExecutionContext>() {
44-
JavaParser.Builder<?, ?> javaParser = null;
45-
46-
private JavaParser.Builder<?, ?> javaParser(ExecutionContext ctx) {
47-
if (javaParser == null) {
48-
javaParser = JavaParser.fromJavaVersion()
49-
.classpathFromResources(ctx, "junit-jupiter-api-5");
50-
}
51-
return javaParser;
52-
}
53-
5444
@Override
5545
public J visitMethodInvocation(J.MethodInvocation method, ExecutionContext ctx) {
5646
J.MethodInvocation mi = (J.MethodInvocation) super.visitMethodInvocation(method, ctx);
@@ -76,13 +66,13 @@ public J visitMethodInvocation(J.MethodInvocation method, ExecutionContext ctx)
7666
t = JavaTemplate.builder(sb.toString())
7767
.contextSensitive()
7868
.staticImports("org.junit.jupiter.api.Assertions.assertNotEquals")
79-
.javaParser(javaParser(ctx))
69+
.javaParser(JavaParser.fromJavaVersion().classpathFromResources(ctx, "junit-jupiter-api-5"))
8070
.build();
8171
} else {
8272
t = JavaTemplate.builder(sb.toString())
8373
.contextSensitive()
8474
.imports("org.junit.jupiter.api.Assertions")
85-
.javaParser(javaParser(ctx))
75+
.javaParser(JavaParser.fromJavaVersion().classpathFromResources(ctx, "junit-jupiter-api-5"))
8676
.build();
8777
}
8878
return t.apply(updateCursor(mi), mi.getCoordinates().replace(), args);

src/main/java/org/openrewrite/java/testing/cleanup/AssertFalseNegationToAssertTrue.java

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -40,16 +40,6 @@ public class AssertFalseNegationToAssertTrue extends Recipe {
4040
public TreeVisitor<?, ExecutionContext> getVisitor() {
4141
return new JavaVisitor<ExecutionContext>() {
4242

43-
JavaParser.Builder<?, ?> javaParser = null;
44-
45-
private JavaParser.Builder<?, ?> javaParser(ExecutionContext ctx) {
46-
if (javaParser == null) {
47-
javaParser = JavaParser.fromJavaVersion()
48-
.classpathFromResources(ctx, "junit-jupiter-api-5");
49-
}
50-
return javaParser;
51-
}
52-
5343
@Override
5444
public J.MethodInvocation visitMethodInvocation(J.MethodInvocation method, ExecutionContext ctx) {
5545
J.MethodInvocation mi = (J.MethodInvocation) super.visitMethodInvocation(method, ctx);
@@ -77,13 +67,13 @@ public J.MethodInvocation visitMethodInvocation(J.MethodInvocation method, Execu
7767
t = JavaTemplate.builder(sb.toString())
7868
.contextSensitive()
7969
.staticImports("org.junit.jupiter.api.Assertions.assertTrue")
80-
.javaParser(javaParser(ctx))
70+
.javaParser(JavaParser.fromJavaVersion().classpathFromResources(ctx, "junit-jupiter-api-5"))
8171
.build();
8272
} else {
8373
t = JavaTemplate.builder(sb.toString())
8474
.contextSensitive()
8575
.imports("org.junit.jupiter.api.Assertions")
86-
.javaParser(javaParser(ctx))
76+
.javaParser(JavaParser.fromJavaVersion().classpathFromResources(ctx, "junit-jupiter-api-5"))
8777
.build();
8878
}
8979
return t.apply(updateCursor(mi), mi.getCoordinates().replace(), args);

src/main/java/org/openrewrite/java/testing/cleanup/AssertNotEqualsBooleanToAssertBoolean.java

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -41,16 +41,6 @@ public class AssertNotEqualsBooleanToAssertBoolean extends Recipe {
4141
public TreeVisitor<?, ExecutionContext> getVisitor() {
4242
return new JavaVisitor<ExecutionContext>() {
4343

44-
JavaParser.Builder<?, ?> javaParser = null;
45-
46-
private JavaParser.Builder<?, ?> javaParser(ExecutionContext ctx) {
47-
if (javaParser == null) {
48-
javaParser = JavaParser.fromJavaVersion()
49-
.classpathFromResources(ctx, "junit-jupiter-api-5");
50-
}
51-
return javaParser;
52-
}
53-
5444
@Override
5545
public J.MethodInvocation visitMethodInvocation(J.MethodInvocation method, ExecutionContext ctx) {
5646
J.MethodInvocation mi = (J.MethodInvocation) super.visitMethodInvocation(method, ctx);
@@ -78,12 +68,12 @@ public J.MethodInvocation visitMethodInvocation(J.MethodInvocation method, Execu
7868
if (mi.getSelect() == null) {
7969
t = JavaTemplate.builder(sb.toString())
8070
.staticImports(String.format("org.junit.jupiter.api.Assertions.%s", assertMethod))
81-
.javaParser(javaParser(ctx))
71+
.javaParser(JavaParser.fromJavaVersion().classpathFromResources(ctx, "junit-jupiter-api-5"))
8272
.build();
8373
} else {
8474
t = JavaTemplate.builder(sb.toString())
8575
.imports("org.junit.jupiter.api.Assertions")
86-
.javaParser(javaParser(ctx))
76+
.javaParser(JavaParser.fromJavaVersion().classpathFromResources(ctx, "junit-jupiter-api-5"))
8777
.build();
8878
}
8979
return t.apply(updateCursor(mi), mi.getCoordinates().replace(), args);

src/main/java/org/openrewrite/java/testing/cleanup/AssertTrueComparisonToAssertEquals.java

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -43,16 +43,6 @@ public class AssertTrueComparisonToAssertEquals extends Recipe {
4343
public TreeVisitor<?, ExecutionContext> getVisitor() {
4444
return Preconditions.check(new UsesMethod<>(ASSERT_TRUE), new JavaVisitor<ExecutionContext>() {
4545

46-
JavaParser.Builder<?, ?> javaParser = null;
47-
48-
private JavaParser.Builder<?, ?> javaParser(ExecutionContext ctx) {
49-
if (javaParser == null) {
50-
javaParser = JavaParser.fromJavaVersion()
51-
.classpathFromResources(ctx, "junit-jupiter-api-5");
52-
}
53-
return javaParser;
54-
}
55-
5646
@Override
5747
public J visitMethodInvocation(J.MethodInvocation method, ExecutionContext ctx) {
5848
J.MethodInvocation mi = (J.MethodInvocation) super.visitMethodInvocation(method, ctx);
@@ -76,12 +66,12 @@ public J visitMethodInvocation(J.MethodInvocation method, ExecutionContext ctx)
7666
maybeRemoveImport("org.junit.jupiter.api.Assertions");
7767
maybeAddImport("org.junit.jupiter.api.Assertions", "assertEquals");
7868
t = JavaTemplate.builder(sb.toString())
79-
.javaParser(javaParser(ctx))
69+
.javaParser(JavaParser.fromJavaVersion().classpathFromResources(ctx, "junit-jupiter-api-5"))
8070
.staticImports("org.junit.jupiter.api.Assertions.assertEquals")
8171
.build();
8272
} else {
8373
t = JavaTemplate.builder(sb.toString())
84-
.javaParser(javaParser(ctx))
74+
.javaParser(JavaParser.fromJavaVersion().classpathFromResources(ctx, "junit-jupiter-api-5"))
8575
.imports("org.junit.jupiter.api.Assertions")
8676
.build();
8777

src/main/java/org/openrewrite/java/testing/cleanup/AssertTrueEqualsToAssertEquals.java

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -42,16 +42,6 @@ public class AssertTrueEqualsToAssertEquals extends Recipe {
4242
public TreeVisitor<?, ExecutionContext> getVisitor() {
4343
return Preconditions.check(new UsesMethod<>(ASSERT_TRUE), new JavaVisitor<ExecutionContext>() {
4444

45-
JavaParser.Builder<?, ?> javaParser = null;
46-
47-
private JavaParser.Builder<?, ?> javaParser(ExecutionContext ctx) {
48-
if (javaParser == null) {
49-
javaParser = JavaParser.fromJavaVersion()
50-
.classpathFromResources(ctx, "junit-jupiter-api-5");
51-
}
52-
return javaParser;
53-
}
54-
5545
@Override
5646
public J visitMethodInvocation(J.MethodInvocation method, ExecutionContext ctx) {
5747
J.MethodInvocation mi = (J.MethodInvocation) super.visitMethodInvocation(method, ctx);
@@ -78,13 +68,13 @@ public J visitMethodInvocation(J.MethodInvocation method, ExecutionContext ctx)
7868
t = JavaTemplate.builder(sb.toString())
7969
.contextSensitive()
8070
.staticImports("org.junit.jupiter.api.Assertions.assertEquals")
81-
.javaParser(javaParser(ctx))
71+
.javaParser(JavaParser.fromJavaVersion().classpathFromResources(ctx, "junit-jupiter-api-5"))
8272
.build();
8373
} else {
8474
t = JavaTemplate.builder(sb.toString())
8575
.contextSensitive()
8676
.imports("org.junit.jupiter.api.Assertions.assertEquals")
87-
.javaParser(javaParser(ctx))
77+
.javaParser(JavaParser.fromJavaVersion().classpathFromResources(ctx, "junit-jupiter-api-5"))
8878
.build();
8979
}
9080
return t.apply(updateCursor(mi), mi.getCoordinates().replace(), args);

src/main/java/org/openrewrite/java/testing/cleanup/AssertTrueNegationToAssertFalse.java

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -40,16 +40,6 @@ public class AssertTrueNegationToAssertFalse extends Recipe {
4040
public TreeVisitor<?, ExecutionContext> getVisitor() {
4141
return new JavaVisitor<ExecutionContext>() {
4242

43-
JavaParser.Builder<?, ?> javaParser = null;
44-
45-
private JavaParser.Builder<?, ?> javaParser(ExecutionContext ctx) {
46-
if (javaParser == null) {
47-
javaParser = JavaParser.fromJavaVersion()
48-
.classpathFromResources(ctx, "junit-jupiter-api-5");
49-
}
50-
return javaParser;
51-
}
52-
5343
@Override
5444
public J.MethodInvocation visitMethodInvocation(J.MethodInvocation method, ExecutionContext ctx) {
5545
J.MethodInvocation mi = (J.MethodInvocation) super.visitMethodInvocation(method, ctx);
@@ -76,13 +66,13 @@ public J.MethodInvocation visitMethodInvocation(J.MethodInvocation method, Execu
7666
t = JavaTemplate.builder(sb.toString())
7767
.contextSensitive()
7868
.staticImports("org.junit.jupiter.api.Assertions.assertFalse")
79-
.javaParser(javaParser(ctx))
69+
.javaParser(JavaParser.fromJavaVersion().classpathFromResources(ctx, "junit-jupiter-api-5"))
8070
.build();
8171
} else {
8272
t = JavaTemplate.builder(sb.toString())
8373
.contextSensitive()
8474
.imports("org.junit.jupiter.api.Assertions")
85-
.javaParser(javaParser(ctx))
75+
.javaParser(JavaParser.fromJavaVersion().classpathFromResources(ctx, "junit-jupiter-api-5"))
8676
.build();
8777
}
8878
return t.apply(updateCursor(mi), mi.getCoordinates().replace(), args);

0 commit comments

Comments
 (0)