java.lang.Object
Compil3r.BytecodeAnalysis.Bytecodes.Instruction
Compil3r.BytecodeAnalysis.Bytecodes.CPInstruction
Compil3r.BytecodeAnalysis.Bytecodes.MULTIANEWARRAY
- All Implemented Interfaces:
- Bytecodes.AllocationInstruction, Bytecodes.ExceptionThrower, Bytecodes.TypedInstruction, java.lang.Cloneable, java.io.Serializable
- Enclosing class:
- Bytecodes
- public static class Bytecodes.MULTIANEWARRAY
- extends Bytecodes.CPInstruction
- implements Bytecodes.AllocationInstruction, Bytecodes.ExceptionThrower, Bytecodes.TypedInstruction
dimensions
private short dimensions
Bytecodes.MULTIANEWARRAY
Bytecodes.MULTIANEWARRAY()
- Empty constructor needed for the Class.newInstance() statement in
Instruction.readInstruction(). Not to be used otherwise.
Bytecodes.MULTIANEWARRAY
public Bytecodes.MULTIANEWARRAY(Clazz.jq_Type array,
short dimensions)
dump
public void dump(java.io.DataOutputStream out)
throws java.io.IOException
- Dump instruction as byte code to stream out.
- Overrides:
dump in class Bytecodes.CPInstruction
initFromFile
protected void initFromFile(Clazz.jq_ConstantPool cp,
Util.IO.ByteSequence bytes,
boolean wide)
throws java.io.IOException
- Read needed data (i.e., no. dimension) from file.
- Overrides:
initFromFile in class Bytecodes.CPInstruction
getDimensions
public final short getDimensions()
toString
public java.lang.String toString(boolean verbose)
- Description copied from class:
Bytecodes.CPInstruction
- Long output format:
<name of opcode> "["<opcode number>"]"
"("<length of instruction>")" "<"< constant pool index>">"
- Overrides:
toString in class Bytecodes.CPInstruction
toString
public java.lang.String toString()
- Description copied from class:
java.lang.Object
- Convert this Object to a human-readable String.
There are no limits placed on how long this String
should be or what it should contain. We suggest you
make it as intuitive as possible to be able to place
it into System.out.println() 55
and such.
It is typical, but not required, to ensure that this method
never completes abruptly with a java.lang.RuntimeException.
This method will be called when performing string
concatenation with this object. If the result is
null, string concatenation will instead
use "null".
The default implementation returns
getClass().getName() + "@" +
Integer.toHexString(hashCode()).
- Overrides:
toString in class Bytecodes.CPInstruction
consumeStack
public int consumeStack()
- Also works for instructions whose stack effect depends on the
constant pool entry they reference.
- Overrides:
consumeStack in class Bytecodes.Instruction
getExceptions
public java.util.Set getExceptions()
- Specified by:
getExceptions in interface Bytecodes.ExceptionThrower
accept
public void accept(Bytecodes.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 Bytecodes.Instruction