de.fub.bytecode.generic
Class CPInstruction
java.lang.Object
|
+--de.fub.bytecode.generic.Instruction
|
+--de.fub.bytecode.generic.CPInstruction
- All Implemented Interfaces:
- java.lang.Cloneable, IndexedInstruction, java.io.Serializable, TypedInstruction
- Direct Known Subclasses:
- ANEWARRAY, CHECKCAST, FieldOrMethod, INSTANCEOF, LDC, LDC2_W, MULTIANEWARRAY, NEW
- public abstract class CPInstruction
- extends Instruction
- implements TypedInstruction, IndexedInstruction
Abstract super class for instructions that use an index into the
constant pool such as LDC, INVOKEVIRTUAL, etc.
- Version:
- $Id: CPInstruction.java,v 1.6 2001/07/03 08:20:18 dahm Exp $
- Author:
- M. Dahm
- See Also:
ConstantPoolGen
,
LDC
,
INVOKEVIRTUAL
, Serialized Form
Field Summary |
protected int |
index
|
Constructor Summary |
protected |
CPInstruction(short opcode,
int index)
|
Method Summary |
void |
dump(java.io.DataOutputStream out)
Dump instruction as byte code to stream out. |
int |
getIndex()
|
Type |
getType(ConstantPoolGen cpg)
|
protected void |
initFromFile(ByteSequence bytes,
boolean wide)
Read needed data (i.e., index) from file. |
void |
setIndex(int index)
Set the index to constant pool. |
java.lang.String |
toString(boolean verbose)
Long output format:
<name of opcode> "["<opcode number>"]"
"("<length of instruction>")" "<"< constant pool index>">" |
java.lang.String |
toString(ConstantPool cp)
|
Methods inherited from class de.fub.bytecode.generic.Instruction |
accept, 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 |
index
protected int index
CPInstruction
protected CPInstruction(short opcode,
int index)
- Parameters:
index
- to constant pool
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
toString
public java.lang.String toString(boolean verbose)
- Long output format:
<name of opcode> "["<opcode number>"]"
"("<length of instruction>")" "<"< constant pool index>">"
- Overrides:
toString
in class Instruction
- Parameters:
verbose
- long/short format switch- Returns:
- mnemonic for instruction
toString
public java.lang.String toString(ConstantPool cp)
- Overrides:
toString
in class Instruction
- Returns:
- mnemonic for instruction with symbolic references resolved
initFromFile
protected void initFromFile(ByteSequence bytes,
boolean wide)
throws java.io.IOException
- Read needed data (i.e., index) from file.
- Overrides:
initFromFile
in class Instruction
- Parameters:
bytes
- input streamwide
- wide prefix?
getIndex
public final int getIndex()
- Specified by:
getIndex
in interface IndexedInstruction
- Returns:
- index in constant pool referred by this instruction.
setIndex
public void setIndex(int index)
- Set the index to constant pool.
- Specified by:
setIndex
in interface IndexedInstruction
- Parameters:
index
- in constant pool.
getType
public Type getType(ConstantPoolGen cpg)
- Specified by:
getType
in interface TypedInstruction
- Returns:
- type related with this instruction.