Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8342934

TYPE_USE annotations printed with error causing "," in toString output

XMLWordPrintable

    • b22
    • generic
    • generic

      ADDITIONAL SYSTEM INFORMATION :
      openjdk 23 2024-09-17
      OpenJDK Runtime Environment Corretto-23.0.0.37.1 (build 23+37-FR)
      OpenJDK 64-Bit Server VM Corretto-23.0.0.37.1 (build 23+37-FR, mixed mode, sharing)

      A DESCRIPTION OF THE PROBLEM :
      TypeMirror's documentation says that a the result of a toString() should try to be valid to use in source code.



          /**
           * Returns an informative string representation of this type. If
           * possible, the string should be of a form suitable for
           * representing this type in source code. Any names embedded in
           * the result are qualified if possible.
           *
           * @return a string representation of this type
           */

      JDK-8281238 Solved this for the case of a single annotation. So now if we have

      ```
      @Example String name;
      ```

      The TypeMirror will give

      ```
      java.lang.@Example String
      ```

      But with multiple we get

      ```
      java.lang.@A,@B String
      ```

      Which is invalid. You would expect `java.lang.@A @B String`


      STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
      1. Make two annotations whose target is TYPE_USE

      @Target({ElementType.TYPE_USE})
      @interface ExampleAnn {}

      @Target({ElementType.TYPE_USE})
      @interface Other {}

      2. Write some code which uses those annotation on a field type

      class Example {
          @ExampleAnn @Other String abc;
      }

      3. Obtain a TypeMirror of the VariableElement via an annotation processor.

      4. Using .toString() on that TypeMirror


      EXPECTED VERSUS ACTUAL BEHAVIOR :
      EXPECTED -
      java.lang.@ExampleAnn @Other String
      ACTUAL -
      java.lang@ExampleAnn,@Other String

      FREQUENCY : always


            darcy Joe Darcy
            webbuggrp Webbug Group
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: