rewrite icon indicating copy to clipboard operation
rewrite copied to clipboard

NewStringBuilderBufferWithCharArgument throws ClassCastException

Open pway99 opened this issue 3 years ago • 0 comments

Problem

Issue discovered with org.restlet/src/main/java/org/restlet/representation/AppendableRepresentation.java

Expected behavior

Describe what you expected to see.

Example diff

 
   public Appendable append(char c) throws IOException {
       if (this.appendableText == null) {
-            this.appendableText = new StringBuilder(c);
+            this.appendableText = /*~~(java.lang.ClassCastException: class org.openrewrite.java.tree.J$Identifier cannot be cast to class org.openrewrite.java.tree.J$Literal (org.openrewrite.java.tree.J$Identifier and org.openrewrite.java.tree.J$Literal are in unnamed module of loader 'app')
+  org.openrewrite.java.cleanup.NewStringBuilderBufferWithCharArgument$2.lambda$visitNewClass$0(NewStringBuilderBufferWithCharArgument.java:76)
+  org.openrewrite.internal.ListUtils.mapFirst(ListUtils.java:102)
+  org.openrewrite.java.cleanup.NewStringBuilderBufferWithCharArgument$2.visitNewClass(NewStringBuilderBufferWithCharArgument.java:75)
+  org.openrewrite.java.cleanup.NewStringBuilderBufferWithCharArgument$2.visitNewClass(NewStringBuilderBufferWithCharArgument.java:67)
+  org.openrewrite.java.tree.J$NewClass.acceptJava(J.java:3954)
+  org.openrewrite.java.tree.J.accept(J.java:60)
+  org.openrewrite.TreeVisitor.visit(TreeVisitor.java:206)
+  org.openrewrite.TreeVisitor.visitAndCast(TreeVisitor.java:285)
+  ...)~~>*/new StringBuilder(c);
       } else {
           this.appendableText.append(c);
       }

Recipes in example diff:

  • org.openrewrite.java.cleanup.NewStringBuilderBufferWithCharArgument

References:

  • Recipe ID: undefined
  • Recipe Name: "Common static analysis issues"
  • Repository: restlet/restlet-framework/master
  • Created at Wed Sep 14 2022 09:49:22 GMT-0700 (Pacific Daylight Time)

pway99 avatar Sep 14 '22 16:09 pway99