de.fub.bytecode.generic
Class NEWARRAY

java.lang.Object
  |
  +--de.fub.bytecode.generic.Instruction
        |
        +--de.fub.bytecode.generic.NEWARRAY
All Implemented Interfaces:
AllocationInstruction, java.lang.Cloneable, ExceptionThrower, java.io.Serializable, StackProducer

public class NEWARRAY
extends Instruction
implements AllocationInstruction, ExceptionThrower, StackProducer

NEWARRAY - Create new array of basic type (int, short, ...)

Stack: ..., count -> ..., arrayref
type must be one of T_INT, T_SHORT, ...

Version:
$Id: NEWARRAY.java,v 1.8 2001/07/03 08:20:18 dahm Exp $
Author:
M. Dahm
See Also:
Serialized Form

Fields inherited from class de.fub.bytecode.generic.Instruction
length, opcode
 
Constructor Summary
NEWARRAY(BasicType type)
           
NEWARRAY(byte type)
           
 
Method Summary
 void accept(Visitor v)
          Call corresponding visitor method(s).
 void dump(java.io.DataOutputStream out)
          Dump instruction as byte code to stream out.
 java.lang.Class[] getExceptions()
           
 Type getType()
           
 byte getTypecode()
           
protected  void initFromFile(ByteSequence bytes, boolean wide)
          Read needed data (e.g.
 java.lang.String toString(boolean verbose)
          Long output format: <name of opcode> "["<opcode number>"]" "("<length of instruction>")"
 
Methods inherited from class de.fub.bytecode.generic.Instruction
consumeStack, consumeStack, copy, getLength, getOpcode, getTag, produceStack, produceStack, readInstruction, toString, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface de.fub.bytecode.generic.StackProducer
produceStack
 

Constructor Detail

NEWARRAY

public NEWARRAY(byte type)

NEWARRAY

public NEWARRAY(BasicType type)
Method Detail

dump

public void dump(java.io.DataOutputStream out)
          throws java.io.IOException
Dump instruction as byte code to stream out.
Overrides:
dump in class Instruction
Parameters:
out - Output stream

getTypecode

public final byte getTypecode()
Returns:
numeric code for basic element type

getType

public final Type getType()
Returns:
type of constructed array

toString

public java.lang.String toString(boolean verbose)
Description copied from class: Instruction
Long output format: <name of opcode> "["<opcode number>"]" "("<length of instruction>")"
Overrides:
toString in class Instruction
Returns:
mnemonic for instruction

initFromFile

protected void initFromFile(ByteSequence bytes,
                            boolean wide)
                     throws java.io.IOException
Read needed data (e.g. index) from file.
Overrides:
initFromFile in class Instruction
Following copied from class: de.fub.bytecode.generic.Instruction
Parameters:
bytes - byte sequence to read from
wide - "wide" instruction flag

getExceptions

public java.lang.Class[] getExceptions()
Specified by:
getExceptions in interface ExceptionThrower

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.
Overrides:
accept in class Instruction
Parameters:
v - Visitor object