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

JSR 308 type annotations not visible when processing class files

    Details

      Description

      JSR 308 type annotations on type parameters are not visible when doing the annotation processing of java *class* files. For example, if I compile the sample class T below and run my simple annotation processor (source attached) that prints contents of the processed java class, then the "@X" annotation on the "A" type variable is not printed out:

      ====
      import java.lang.annotation.*;

      @Retention(RetentionPolicy.RUNTIME)
      @interface X {}

      public class T {
           public <@X A> void foo() {}
      }
      ====

      # jdk7/bin/javac MyProcessor.java T.java
      # jdk7/bin/javac -processor MyProcessor T
      TypeParam: A
      TypeParamAnnotation:

      However, the annotation processing of the java source works fine (before b70):

      # jdk7_69/bin/javac -processor MyProcessor T.java
      TypeParam: A
      TypeParamAnnotation: @X

      Note that the annotation processor behaves as reported with promoted builds 64 through 69 (JSR 308 support was added in b64). Starting b70 the annotation processing of source files has stopped working. See separate CR 6876891.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                agavrilosunw Alexey Gavrilov (Inactive)
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:
                  Imported:
                  Indexed: