openrewrite / rewrite

Automated mass refactoring of source code.
https://docs.openrewrite.org
Apache License 2.0
2.09k stars 312 forks source link

Issue discovered with `janmayen/src/main/java/org/n52/janmayen/function/ThrowingUnaryOperator.java` #2143

Closed jkschneider closed 2 years ago

jkschneider commented 2 years ago

Problem

Describe the issue you are experiencing.

Expected behavior

Describe what you expected to see.

Example diff

        * @return a unary operator that always returns its input argument
      */
     static <T, X extends Exception> ThrowingUnaryOperator<T, X> identity() {
-        return t -> t;
+        return /*~~(java.lang.IllegalArgumentException: This template requires 0 parameters.
+  org.openrewrite.java.JavaTemplate.withTemplate(JavaTemplate.java:66)
+  org.openrewrite.java.JavaTemplate.withTemplate(JavaTemplate.java:42)
+  org.openrewrite.java.tree.J.withTemplate(J.java:82)
+  org.openrewrite.java.cleanup.ReplaceLambdaWithMethodReference$1.visitLambda(ReplaceLambdaWithMethodReference.java:105)
+  org.openrewrite.java.cleanup.ReplaceLambdaWithMethodReference$1.visitLambda(ReplaceLambdaWithMethodReference.java:56)
+  org.openrewrite.java.tree.J$Lambda.acceptJava(J.java:2692)
+  org.openrewrite.java.tree.J.accept(J.java:55)
+  org.openrewrite.TreeVisitor.visit(TreeVisitor.java:206)
+  ...)~~>*/t -> t;
     }
 }

Recipes in example diff:

pway99 commented 2 years ago

fixed by bb16f853c1b8506ff494fff11ad7da10e144de73