Class ReferenceForm

    • Constructor Detail

      • ReferenceForm

        public ReferenceForm​(int opcode,
                             java.lang.String name,
                             int[] rewrite)
        Constructs a new instance with the specified opcode, name, operandType and rewrite.
        Parameters:
        opcode - index corresponding to the opcode's value.
        name - String printable name of the opcode.
        rewrite - Operand positions (which will later be rewritten in ByteCodes) are indicated by -1.
    • Method Detail

      • getPoolID

        protected abstract int getPoolID()
      • setByteCodeOperands

        public void setByteCodeOperands​(ByteCode byteCode,
                                        OperandManager operandManager,
                                        int codeLength)
                                 throws Pack200Exception
        Description copied from class: ByteCodeForm
        Sets the rewrite of the byteCode.
        Specified by:
        setByteCodeOperands in class ByteCodeForm
        Parameters:
        byteCode - ByteCode to be updated (!)
        operandManager - OperandTable from which to draw info
        codeLength - Length of bytes (excluding this bytecode) from the beginning of the method. Used in calculating padding for some variable-length bytecodes (such as lookupswitch, tableswitch).
        Throws:
        Pack200Exception - if a type is not supported or an index not in the range [0, Integer.MAX_VALUE].
      • setNestedEntries

        protected void setNestedEntries​(ByteCode byteCode,
                                        OperandManager operandManager,
                                        int offset)
                                 throws Pack200Exception
        Sets the nested entries.
        Parameters:
        byteCode - byte codes.
        operandManager - Operand manager.
        offset - offset.
        Throws:
        Pack200Exception - if support for a type is not supported or the offset not in the range [0, Integer.MAX_VALUE].