Skip to content

Commit b6c31ff

Browse files
committed
Require a public no args constructor
Fixes #933
1 parent f1b2f2c commit b6c31ff

File tree

2 files changed

+5
-6
lines changed

2 files changed

+5
-6
lines changed

src/main/java/org/openrewrite/java/migrate/guava/NoGuavaPredicatesInstanceOf.java

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,7 @@
1919
import org.openrewrite.java.JavaVisitor;
2020
import org.openrewrite.java.MethodMatcher;
2121
import org.openrewrite.java.search.UsesMethod;
22-
import org.openrewrite.java.tree.J;
23-
import org.openrewrite.java.tree.JLeftPadded;
24-
import org.openrewrite.java.tree.JRightPadded;
25-
import org.openrewrite.java.tree.Space;
22+
import org.openrewrite.java.tree.*;
2623
import org.openrewrite.marker.Markers;
2724

2825
import java.util.Set;
@@ -57,13 +54,14 @@ public TreeVisitor<?, ExecutionContext> getVisitor() {
5754
public J visitMethodInvocation(J.MethodInvocation method, ExecutionContext ctx) {
5855
if (PREDICATES_INSTANCE_OF.matches(method)) {
5956
maybeRemoveImport("com.google.common.base.Predicates");
57+
Expression clazz = method.getArguments().get(0);
6058
// XXX `JavaTemplate.builder("#{any()}::isInstance")` failed here
6159
// TODO Add type information for reference and identifier
6260
return new J.MemberReference(
6361
Tree.randomId(),
6462
method.getPrefix(),
6563
Markers.EMPTY,
66-
JRightPadded.build(method.getArguments().get(0)),
64+
JRightPadded.build(clazz),
6765
null,
6866
JLeftPadded.build(new J.Identifier(
6967
Tree.randomId(),

src/test/java/org/openrewrite/java/migrate/guava/NoGuavaPredicatesInstanceOfTest.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,8 @@ public void defaults(RecipeSpec spec) {
3737
@Test
3838
void predicatesEqualToToPredicateIsEqual() {
3939
rewriteRun(
40-
spec -> spec.afterTypeValidationOptions(TypeValidation.none()), // TODO Remove suppression
40+
// XXX Pending JavaTemplate support for MemberReference
41+
spec -> spec.afterTypeValidationOptions(TypeValidation.none()),
4142
//language=java
4243
java(
4344
"""

0 commit comments

Comments
 (0)