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:
java.lang.Cloneable,AllocationInstruction,ExceptionThrower,IndexedInstruction,LoadClass,TypedInstruction
public class MULTIANEWARRAY extends CPInstruction implements LoadClass, AllocationInstruction, ExceptionThrower
MULTIANEWARRAY - Create new mutidimensional array of referencesStack: ..., count1, [count2, ...] -> ..., arrayref
-
-
Field Summary
Fields Modifier and Type Field Description private shortdimensions-
Fields inherited from class org.apache.bcel.generic.CPInstruction
index
-
Fields inherited from class org.apache.bcel.generic.Instruction
EMPTY_ARRAY, length, opcode
-
-
Constructor Summary
Constructors Constructor Description MULTIANEWARRAY()Empty constructor needed for Instruction.readInstruction.MULTIANEWARRAY(int index, short dimensions)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaccept(Visitor v)Call corresponding visitor method(s).intconsumeStack(ConstantPoolGen cpg)Also works for instructions whose stack effect depends on the constant pool entry they reference.voiddump(java.io.DataOutputStream out)Dumps instruction as byte code to stream out.shortgetDimensions()java.lang.Class<?>[]getExceptions()Gets the exceptions that may be thrown by this instruction.ObjectTypegetLoadClassType(ConstantPoolGen cpg)Returns theObjectTypeof the referenced class or interface that may be loaded and resolved.protected voidinitFromFile(ByteSequence bytes, boolean wide)Reads needed data (that is, no.java.lang.StringtoString(boolean verbose)Long output format: <name of opcode> "["<opcode number>"]" "("<length of instruction>")" "<"< constant pool index>">"java.lang.StringtoString(ConstantPool cp)Gets the mnemonic for instruction with symbolic references resolved.-
Methods inherited from class org.apache.bcel.generic.CPInstruction
getIndex, getType, setIndex
-
Methods inherited from class org.apache.bcel.generic.Instruction
copy, dispose, equals, getComparator, getLength, getName, getOpcode, hashCode, isValidByte, isValidShort, produceStack, readInstruction, setComparator, setLength, setOpcode, toString
-
-
-
-
Method Detail
-
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, that is, the most specific visitXXX() call comes last.- Specified by:
acceptin classInstruction- 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:
consumeStackin classInstruction- Parameters:
cpg- the constant pool generator.- Returns:
- Number of words consumed from stack by this instruction.
-
dump
public void dump(java.io.DataOutputStream out) throws java.io.IOExceptionDumps instruction as byte code to stream out.- Overrides:
dumpin classCPInstruction- Parameters:
out- Output stream.- Throws:
java.io.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 java.lang.Class<?>[] getExceptions()
Description copied from interface:ExceptionThrowerGets the exceptions that may be thrown by this instruction.- Specified by:
getExceptionsin interfaceExceptionThrower- Returns:
- the exceptions that may be thrown by this instruction.
-
getLoadClassType
public ObjectType getLoadClassType(ConstantPoolGen cpg)
Description copied from interface:LoadClassReturns theObjectTypeof the referenced class or interface that may be loaded and resolved.- Specified by:
getLoadClassTypein interfaceLoadClass- 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 java.io.IOException
Reads needed data (that is, no. dimension) from file.- Overrides:
initFromFilein classCPInstruction- Parameters:
bytes- input stream.wide- wide prefix?.- Throws:
java.io.IOException- may be thrown if the implementation needs to read data from the file
-
toString
public java.lang.String toString(boolean verbose)
Description copied from class:CPInstructionLong output format: <name of opcode> "["<opcode number>"]" "("<length of instruction>")" "<"< constant pool index>">"- Overrides:
toStringin classCPInstruction- Parameters:
verbose- long/short format switch.- Returns:
- mnemonic for instruction.
-
toString
public java.lang.String toString(ConstantPool cp)
Description copied from class:InstructionGets the mnemonic for instruction with symbolic references resolved.- Overrides:
toStringin classCPInstruction- Parameters:
cp- the constant pool.- Returns:
- mnemonic for instruction with symbolic references resolved.
-
-