BytecodeGenerator throws UnsupportedOperationException for JavaOp.InvokeOp when invoke kind is SUPER.

XMLWordPrintable

    • Type: Bug
    • Resolution: Unresolved
    • Priority: P4
    • None
    • Affects Version/s: repo-babylon
    • Component/s: core-libs

      BytecodeGenerator throws UnsupportedOperationException for JavaOp.InvokeOp when invoke kind is SUPER.

      We cannot generate an invokespecial as it will result in a verify error, since the owner is not assignable to generated hidden class.

      Construct method handle via lookup.findSpecial using the lookup's class as the specialCaller and add that method handle to the to be defined hidden class's constant data. Use and ldc+constant dynamic to access the class data, extract the method handle and then invoke it.

            Assignee:
            Adam Sotona
            Reporter:
            Adam Sotona
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: