Package org.apache.bcel.generic

# Class MULTIANEWARRAY

java.lang.Object
org.apache.bcel.generic.Instruction
org.apache.bcel.generic.CPInstruction
org.apache.bcel.generic.MULTIANEWARRAY

All Implemented Interfaces:
  `Cloneable`, `AllocationInstruction`, `ExceptionThrower`, `IndexedInstruction`, `LoadClass`, `TypedInstruction`

public class MULTIANEWARRAY extends CPInstruction implements LoadClass, AllocationInstruction, ExceptionThrower
MULTIANEWARRAY - Create new mutidimensional array of references

     Stack: ..., count1, [count2, ...] -> ..., arrayref

- ## Field Summary

  ### Fields inherited from class org.apache.bcel.generic.CPInstruction

  `index`

  ### Fields inherited from class org.apache.bcel.generic.Instruction

  `length, opcode`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `MULTIANEWARRAY(int index, short dimensions)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `accept(Visitor v)`
  Call corresponding visitor method(s).
  `int`
  `consumeStack(ConstantPoolGen cpg)`
  Also works for instructions whose stack effect depends on the constant pool entry they reference.
  `void`
  `dump(DataOutputStream out)`
  Dump instruction as byte code to stream out.
  `final short`
  `getDimensions()`
  `Class<?>[]`
  `getExceptions()`
  `ObjectType`
  `getLoadClassType(ConstantPoolGen cpg)`
  Returns the `ObjectType` of the referenced class or interface that may be loaded and resolved.
  `protected void`
  `initFromFile(ByteSequence bytes, boolean wide)`
  Read needed data (i.e., no.
  `String`
  `toString(boolean verbose)`
  Long output format: <name of opcode> "["<opcode number>"]" "("<length of instruction>")" "<"< constant pool index>">"
  `String`
  `toString(ConstantPool cp)`

  ### Methods inherited from class org.apache.bcel.generic.CPInstruction

  `getIndex, getType, setIndex`

  ### Methods inherited from class org.apache.bcel.generic.Instruction

  `copy, equals, getComparator, getLength, getName, getOpcode, hashCode, isValidByte, isValidShort, produceStack, readInstruction, setComparator, toString`

  ### Methods inherited from class java.lang.Object

  `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

  ### Methods inherited from interface org.apache.bcel.generic.LoadClass

  `getType`

- ## Constructor Details

  - ### MULTIANEWARRAY

    public MULTIANEWARRAY(int index, short dimensions)

- ## Method Details

  - ### accept

    public void accept(Visitor v)
    Call corresponding visitor method(s). The order is: Call visitor methods of implemented interfaces first, then call methods according to the class hierarchy in descending order, i.e., the most specific visitXXX() call comes last.
    Specified by:
      `accept` in class `Instruction`
    Parameters:
      `v` - Visitor object

  - ### consumeStack

    public int consumeStack(ConstantPoolGen cpg)
    Also works for instructions whose stack effect depends on the constant pool entry they reference.
    Overrides:
      `consumeStack` in class `Instruction`
    Returns:
      Number of words consumed from stack by this instruction

  - ### dump

    public void dump(DataOutputStream out) throws IOException
    Dump instruction as byte code to stream out.
    Overrides:
      `dump` in class `CPInstruction`
    Parameters:
      `out` - Output stream
    Throws:
      `IOException` - Thrown when an I/O exception of some sort has occurred.

  - ### getDimensions

    public final short getDimensions()
    Returns:
      number of dimensions to be created

  - ### getExceptions

    public Class<?>[] getExceptions()
    Specified by:
      `getExceptions` in interface `ExceptionThrower`

  - ### getLoadClassType

    public ObjectType getLoadClassType(ConstantPoolGen cpg)
    Description copied from interface: `LoadClass`
    Returns the `ObjectType` of the referenced class or interface that may be loaded and resolved.
    Specified by:
      `getLoadClassType` in interface `LoadClass`
    Parameters:
      `cpg` - A ConstantPoolGen
    Returns:
      object type that may be loaded or null if a primitive is referenced

  - ### initFromFile

    protected void initFromFile(ByteSequence bytes, boolean wide) throws IOException
    Read needed data (i.e., no. dimension) from file.
    Overrides:
      `initFromFile` in class `CPInstruction`
    Parameters:
      `bytes` - input stream
      `wide` - wide prefix?
    Throws:
      `IOException` - may be thrown if the implementation needs to read data from the file

  - ### toString

    public String toString(boolean verbose)
    Description copied from class: `CPInstruction`
    Long output format: <name of opcode> "["<opcode number>"]" "("<length of instruction>")" "<"< constant pool index>">"
    Overrides:
      `toString` in class `CPInstruction`
    Parameters:
      `verbose` - long/short format switch
    Returns:
      mnemonic for instruction

  - ### toString

    public String toString(ConstantPool cp)
    Overrides:
      `toString` in class `CPInstruction`
    Returns:
      mnemonic for instruction with symbolic references resolved