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

Parameter annotations not updated when synthetic parameters are prepended

    Details

    • Type: Bug
    • Status: Closed
    • Priority: P4
    • Resolution: Fixed
    • Affects Version/s: 8, 9
    • Fix Version/s: 8u40
    • Component/s: tools
    • Subcomponent:
    • Verification:
      Fix failed

      Backports

        Description

        import java.lang.annotation.*;

        public class T {
            public class S {
                public S(@Foo("0") int i1, int i2, @Foo("2") long l1) { }
            }

            @Retention(RetentionPolicy.RUNTIME)
            static @interface Foo { String value(); }
        }

        /*

          public T$S(T, int, int, long);
            descriptor: (LT;IIJ)V
            flags: ACC_PUBLIC
            Code:
              stack=2, locals=6, args_size=5
                 0: aload_0
                 1: aload_1
                 2: putfield #1 // Field this$0:LT;
                 5: aload_0
                 6: invokespecial #2 // Method java/lang/Object."<init>":()V
                 9: return
              LineNumberTable:
                line 5: 0
            RuntimeVisibleParameterAnnotations:
              parameter 0:
                0: #15(#16=s#17)
              parameter 1:
              parameter 2:
                0: #15(#16=s#18)

        */

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  emc Eric Mccorkle
                  Reporter:
                  jfranck Joel Borggrén-Franck
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  5 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: