Class MultiANewArrayForm


  • public class MultiANewArrayForm
    extends ClassRefForm
    This class implements the byte code form for the multianewarray instruction. It has a class reference and a byte operand. MultiANewArrayForms (like other anewarray forms) do not track the last new().
    • Constructor Detail

      • MultiANewArrayForm

        public MultiANewArrayForm​(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

      • setByteCodeOperands

        public void setByteCodeOperands​(ByteCode byteCode,
                                        OperandManager operandManager,
                                        int codeLength)
                                 throws Pack200Exception
        Description copied from class: ByteCodeForm
        Sets the rewrite of the byteCode.
        Overrides:
        setByteCodeOperands in class ReferenceForm
        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].