de.fub.bytecode.generic
Class LDC

java.lang.Object
  |
  +--de.fub.bytecode.generic.Instruction
        |
        +--de.fub.bytecode.generic.CPInstruction
              |
              +--de.fub.bytecode.generic.LDC
All Implemented Interfaces:
java.lang.Cloneable, ExceptionThrower, IndexedInstruction, PushInstruction, java.io.Serializable, StackProducer, TypedInstruction
Direct Known Subclasses:
LDC_W

public class LDC
extends CPInstruction
implements PushInstruction, ExceptionThrower, TypedInstruction

LDC - Push item from constant pool.

Stack: ... -> ..., item

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

Fields inherited from class de.fub.bytecode.generic.CPInstruction
index
 
Fields inherited from class de.fub.bytecode.generic.Instruction
length, opcode
 
Constructor Summary
LDC(int index)
           
 
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(ConstantPoolGen cpg)
           
 java.lang.Object getValue(ConstantPoolGen cpg)
           
protected  void initFromFile(ByteSequence bytes, boolean wide)
          Read needed data (e.g.
 void setIndex(int index)
          Set the index to constant pool and adjust size.
protected  void setSize()
           
 
Methods inherited from class de.fub.bytecode.generic.CPInstruction
getIndex, toString, toString
 
Methods inherited from class de.fub.bytecode.generic.Instruction
consumeStack, consumeStack, copy, getLength, getOpcode, getTag, produceStack, produceStack, readInstruction, 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

LDC

public LDC(int index)
Method Detail

setSize

protected final void setSize()

dump

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

setIndex

public final void setIndex(int index)
Set the index to constant pool and adjust size.
Overrides:
setIndex in class CPInstruction
Following copied from class: de.fub.bytecode.generic.CPInstruction
Parameters:
index - in constant pool.

initFromFile

protected void initFromFile(ByteSequence bytes,
                            boolean wide)
                     throws java.io.IOException
Read needed data (e.g. index) from file.
Overrides:
initFromFile in class CPInstruction
Following copied from class: de.fub.bytecode.generic.CPInstruction
Parameters:
bytes - input stream
wide - wide prefix?

getValue

public java.lang.Object getValue(ConstantPoolGen cpg)

getType

public Type getType(ConstantPoolGen cpg)
Specified by:
getType in interface TypedInstruction
Overrides:
getType in class CPInstruction
Following copied from class: de.fub.bytecode.generic.CPInstruction
Returns:
type related with this instruction.

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