Skip to content

Commit c6a7799

Browse files
Use JavaTemplate.apply() static method (#846)
Use this link to re-run the recipe: https://app.moderne.io/recipes/org.openrewrite.java.recipes.UseJavaTemplateStaticApply?organizationId=QUxML01vZGVybmUvTW9kZXJuZSArIE9wZW5SZXdyaXRl Co-authored-by: Moderne <team@moderne.io>
1 parent 78f9ddc commit c6a7799

9 files changed

Lines changed: 11 additions & 33 deletions

src/main/java/org/openrewrite/staticanalysis/CovariantEquals.java

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -85,9 +85,7 @@ public J.MethodDeclaration visitMethodDeclaration(J.MethodDeclaration method, Ex
8585
new MethodMatcher(ecfqn + " equals(" + ecfqn + ")").matches(m, enclosingClass)) {
8686

8787
if (!service(AnnotationService.class).matches(getCursor(), OVERRIDE_ANNOTATION)) {
88-
m = JavaTemplate.builder("@Override").build()
89-
.apply(updateCursor(m),
90-
m.getCoordinates().addAnnotation(Comparator.comparing(J.Annotation::getSimpleName)));
88+
m = JavaTemplate.apply("@Override", updateCursor(m), m.getCoordinates().addAnnotation(Comparator.comparing(J.Annotation::getSimpleName)));
9189
}
9290

9391
/*
@@ -97,10 +95,7 @@ public J.MethodDeclaration visitMethodDeclaration(J.MethodDeclaration method, Ex
9795
*/
9896
J.VariableDeclarations.NamedVariable oldParamName = ((J.VariableDeclarations) m.getParameters().get(0)).getVariables().get(0);
9997
String paramName = "obj".equals(oldParamName.getSimpleName()) ? "other" : "obj";
100-
m = JavaTemplate.builder("Object #{}").build()
101-
.apply(updateCursor(m),
102-
m.getCoordinates().replaceParameters(),
103-
paramName);
98+
m = JavaTemplate.apply("Object #{}", updateCursor(m), m.getCoordinates().replaceParameters(), paramName);
10499

105100
/*
106101
* We'll prepend this type-check and type-cast to the beginning of the existing

src/main/java/org/openrewrite/staticanalysis/IndexOfChecksShouldUseAStartPosition.java

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -53,11 +53,7 @@ public J.Binary visitBinary(J.Binary binary, ExecutionContext ctx) {
5353

5454
J.MethodInvocation m = (J.MethodInvocation) b.getLeft();
5555
Cursor cursor = new Cursor(getCursor(), b.getLeft());
56-
b = b.withLeft(JavaTemplate.builder("#{any(java.lang.String)}, #{any(int)}").build()
57-
.apply(cursor,
58-
m.getCoordinates().replaceArguments(),
59-
m.getArguments().get(0),
60-
b.getRight()));
56+
b = b.withLeft(JavaTemplate.apply("#{any(java.lang.String)}, #{any(int)}", cursor, m.getCoordinates().replaceArguments(), m.getArguments().get(0), b.getRight()));
6157

6258
b = b.withRight(new J.Literal(
6359
Tree.randomId(),

src/main/java/org/openrewrite/staticanalysis/IndexOfReplaceableByContains.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,8 +58,7 @@ public J visitBinary(J.Binary binary, ExecutionContext ctx) {
5858
boolean isGreaterThanOrEqualToZero = asBinary.getOperator() == J.Binary.Type.GreaterThanOrEqual && "0".equals(valueSource);
5959
if (isGreaterThanNegativeOne || isGreaterThanOrEqualToZero) {
6060
Cursor cursor = new Cursor(updateCursor(asBinary), asBinary.getLeft());
61-
j = JavaTemplate.builder("#{any()}.contains(#{any()})").build()
62-
.apply(cursor, mi.getCoordinates().replace(), mi.getSelect(), mi.getArguments().get(0))
61+
j = JavaTemplate.apply("#{any()}.contains(#{any()})", cursor, mi.getCoordinates().replace(), mi.getSelect(), mi.getArguments().get(0))
6362
.withPrefix(asBinary.getPrefix());
6463
}
6564
}

src/main/java/org/openrewrite/staticanalysis/NewStringBuilderBufferWithCharArgument.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,8 +63,7 @@ public J.NewClass visitNewClass(J.NewClass newClass, ExecutionContext ctx) {
6363
}
6464
return l;
6565
}
66-
return JavaTemplate.builder("String.valueOf(#{any()})").build()
67-
.apply(new Cursor(getCursor(), arg), arg.getCoordinates().replace(), arg);
66+
return JavaTemplate.apply("String.valueOf(#{any()})", new Cursor(getCursor(), arg), arg.getCoordinates().replace(), arg);
6867
}));
6968
}
7069
}

src/main/java/org/openrewrite/staticanalysis/ReplaceClassIsInstanceWithInstanceof.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -65,9 +65,7 @@ public J visitMethodInvocation(MethodInvocation method, ExecutionContext ctx) {
6565
FieldAccess fieldAccessPart = (FieldAccess) method.getSelect();
6666
// upcast to type J, so J.MethodInvocation can be replaced by J.InstanceOf
6767
JavaCoordinates coordinates = method.getCoordinates().replace();
68-
J updated = JavaTemplate.builder("#{any()} instanceof Object")
69-
.build()
70-
.apply(getCursor(), coordinates, objectExpression);
68+
J updated = JavaTemplate.apply("#{any()} instanceof Object", getCursor(), coordinates, objectExpression);
7169
updated = mapInstanceOf(updated,
7270
instanceOf -> instanceOf.withClazz(fieldAccessPart.getTarget().withPrefix(instanceOf.getClazz().getPrefix())));
7371
return maybeAutoFormat(method, updated, ctx);

src/main/java/org/openrewrite/staticanalysis/ReplaceStringBuilderWithString.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -123,8 +123,7 @@ private List<Expression> adjustExpressions(J.MethodInvocation method, List<Expre
123123
if (arg instanceof J.Literal) {
124124
return toStringLiteral((J.Literal) arg);
125125
}
126-
return JavaTemplate.builder("String.valueOf(#{any()})").build()
127-
.apply(getCursor(), method.getCoordinates().replace(), arg)
126+
return JavaTemplate.apply("String.valueOf(#{any()})", getCursor(), method.getCoordinates().replace(), arg)
128127
.withPrefix(arg.getPrefix());
129128
}
130129
} else if (!(arg instanceof J.Identifier || arg instanceof J.Literal || arg instanceof J.MethodInvocation)) {

src/main/java/org/openrewrite/staticanalysis/ReplaceStringConcatenationWithStringValueOf.java

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -72,12 +72,8 @@ public J visitBinary(J.Binary binary, ExecutionContext ctx) {
7272
// Avoid breaking symmetry in chained String concatenations
7373
!(binary.getRight() instanceof J.Binary) &&
7474
!(getCursor().getParentTreeCursor().getValue() instanceof J.Binary)) {
75-
return JavaTemplate.builder("String.valueOf(#{any()})")
76-
.build()
77-
.apply(getCursor(),
78-
binary.getCoordinates().replace(),
79-
binary.getRight() instanceof J.Parentheses ?
80-
((J.Parentheses<?>) binary.getRight()).getTree() : binary.getRight())
75+
return JavaTemplate.apply("String.valueOf(#{any()})", getCursor(), binary.getCoordinates().replace(), binary.getRight() instanceof J.Parentheses ?
76+
((J.Parentheses<?>) binary.getRight()).getTree() : binary.getRight())
8177
.withPrefix(binary.getPrefix());
8278
}
8379
return super.visitBinary(binary, ctx);

src/main/java/org/openrewrite/staticanalysis/SimplifyForLoopBoundaryComparison.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -92,9 +92,7 @@ public J visitBinary(J.Binary binary, ExecutionContext ctx) {
9292
}
9393

9494
// General fallback: A <= B → A < B + 1
95-
return JavaTemplate.builder("#{any()} < #{any()} + 1").build()
96-
.apply(getCursor(), binary.getCoordinates().replace(),
97-
binary.getLeft(), binary.getRight());
95+
return JavaTemplate.apply("#{any()} < #{any()} + 1", getCursor(), binary.getCoordinates().replace(), binary.getLeft(), binary.getRight());
9896
}
9997

10098
private J.@Nullable Binary tryAdjustRight(J.Binary binary, J.Binary rightArith) {

src/main/java/org/openrewrite/staticanalysis/UseForEachRemoveInsteadOfSetRemoveAll.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,7 @@ public TreeVisitor<?, ExecutionContext> getVisitor() {
4040
public J.MethodInvocation visitMethodInvocation(J.MethodInvocation method, ExecutionContext ctx) {
4141
J.MethodInvocation mi = super.visitMethodInvocation(method, ctx);
4242
if (removeAll.matches(mi) && !returnValueIsUsed()) {
43-
mi = JavaTemplate.builder("#{any(java.util.Collection)}.forEach(#{any(java.util.Set)}::remove)")
44-
.build()
45-
.apply(updateCursor(mi), mi.getCoordinates().replace(), mi.getArguments().get(0), mi.getSelect());
43+
mi = JavaTemplate.apply("#{any(java.util.Collection)}.forEach(#{any(java.util.Set)}::remove)", updateCursor(mi), mi.getCoordinates().replace(), mi.getArguments().get(0), mi.getSelect());
4644
}
4745
return mi;
4846
}

0 commit comments

Comments
 (0)