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 Details

    • MultiANewArrayForm

      public MultiANewArrayForm(int opcode, 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 Details

    • 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].