Uploaded image for project: 'Code Tools'
  1. Code Tools
  2. CODETOOLS-7903617

jdis: RuntimeVisibleParameterAnnotations are ignored if method is abstract

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: P3 P3
    • None
    • asm_tools_8.0
    • tools
    • None
    • Fix Understood
    • b09

      Java code:
      protected abstract Map<List<E>, Outer.Middle<@TestFields0.A
      Foo.@TestFields0.B Bar>.Inner<@TestFields0.D String @TestFields0.C []>>
          sum0(@MethodAnnot(cvalue = Hashtable.class) List<Outer.Middle<@TestFields0.A Foo.@TestFields0.B Bar>.Inner<@TestFields0.D String @TestFields0.C []>> A);

      jasm code:
        @T+javasoft/sqe/tests/api/java/lang/classfile/resources/TestFields0$B { { } { METHOD_RETURN } { TYPE_ARGUMENT{1}, INNER_TYPE, INNER_TYPE, TYPE_ARGUMENT{0}, INNER_TYPE } }
        @T+javasoft/sqe/tests/api/java/lang/classfile/resources/TestFields0$A { { } { METHOD_RETURN } { TYPE_ARGUMENT{1}, INNER_TYPE, INNER_TYPE, TYPE_ARGUMENT{0} } }
        @T+javasoft/sqe/tests/api/java/lang/classfile/resources/TestFields0$C { { } { METHOD_RETURN } { TYPE_ARGUMENT{1}, INNER_TYPE, INNER_TYPE, INNER_TYPE, TYPE_ARGUMENT{0} } }
        @T+javasoft/sqe/tests/api/java/lang/classfile/resources/TestFields0$D { { } { METHOD_RETURN } { TYPE_ARGUMENT{1}, INNER_TYPE, INNER_TYPE, INNER_TYPE, TYPE_ARGUMENT{0}, ARRAY } }
        @T+javasoft/sqe/tests/api/java/lang/classfile/resources/TestFields0$B { { } { METHOD_FORMAL_PARAMETER 0 } { TYPE_ARGUMENT{0}, INNER_TYPE, INNER_TYPE, TYPE_ARGUMENT{0}, INNER_TYPE } }
        @T+javasoft/sqe/tests/api/java/lang/classfile/resources/TestFields0$A { { } { METHOD_FORMAL_PARAMETER 0 } { TYPE_ARGUMENT{0}, INNER_TYPE, INNER_TYPE, TYPE_ARGUMENT{0} } }
        @T+javasoft/sqe/tests/api/java/lang/classfile/resources/TestFields0$C { { } { METHOD_FORMAL_PARAMETER 0 } { TYPE_ARGUMENT{0}, INNER_TYPE, INNER_TYPE, INNER_TYPE, TYPE_ARGUMENT{0} } }
        @T+javasoft/sqe/tests/api/java/lang/classfile/resources/TestFields0$D { { } { METHOD_FORMAL_PARAMETER 0 } { TYPE_ARGUMENT{0}, INNER_TYPE, INNER_TYPE, INNER_TYPE, TYPE_ARGUMENT{0}, ARRAY } }
        protected abstract Method #68:#69:#70; // sum0:"(Ljava/util/List;)Ljava/util/Map;":"(Ljava/util/List<Ljavasoft/sqe/tests/api/java/lang/classfile/resources/TestMethods0<TE;>.Outer.Middle<Ljavasoft/sqe/tests/api/java/lang/classfile/resources/TestMethods0$Foo$Bar;>.Inner<[Ljava/lang/String;>;>;)Ljava/util/Map<Ljava/util/List<TE;>;Ljavasoft/sqe/tests/api/java/lang/classfile/resources/TestMethods0<TE;>.Outer.Middle<Ljavasoft/sqe/tests/api/java/lang/classfile/resources/TestMethods0$Foo$Bar;>.Inner<[Ljava/lang/String;>;>;"

      Expected RuntimeVisibleParameterAnnotations attribute is missing:
      0: @+javasoft/sqe/tests/api/java/lang/classfile/resources/TestMethods0$MethodAnnot{
                 #55 /* cvalue */ = class #77 /* java/util/Hashtable */
               }

            lkuskov Leonid Kuskov
            lkuskov Leonid Kuskov
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: