|
|||||||||
Home >> All >> org >> apache >> bcel >> [ generic overview ] | PREV CLASS NEXT CLASS | ||||||||
SUMMARY: ![]() ![]() ![]() |
DETAIL: FIELD | CONSTR | METHOD |
org.apache.bcel.generic
Class Instruction

java.lang.Objectorg.apache.bcel.generic.Instruction
- All Implemented Interfaces:
- java.lang.Cloneable, java.io.Serializable
- Direct Known Subclasses:
- ACONST_NULL, ArithmeticInstruction, ArrayInstruction, ARRAYLENGTH, ATHROW, BIPUSH, BranchInstruction, BREAKPOINT, ConversionInstruction, CPInstruction, DCMPG, DCMPL, DCONST, FCMPG, FCMPL, FCONST, ICONST, IMPDEP1, IMPDEP2, LCMP, LCONST, LocalVariableInstruction, MONITORENTER, MONITOREXIT, NEWARRAY, NOP, RET, ReturnInstruction, SIPUSH, StackInstruction
- public abstract class Instruction
- extends java.lang.Object
- implements java.lang.Cloneable, java.io.Serializable
- extends java.lang.Object
Abstract super class for all Java byte codes.
- Version:
- $Id: Instruction.java 386056 2006-03-15 11:31:56Z tcurdt $
Field Summary | |
private static InstructionComparator |
cmp
|
protected short |
length
|
protected short |
opcode
|
Constructor Summary | |
(package private) |
Instruction()
Empty constructor needed for the Class.newInstance() statement in Instruction.readInstruction(). |
|
Instruction(short opcode,
short length)
|
Method Summary | |
abstract void |
accept(Visitor v)
Call corresponding visitor method(s). |
private static java.lang.String |
className(short opcode)
|
int |
consumeStack(ConstantPoolGen cpg)
This method also gives right results for instructions whose effect on the stack depends on the constant pool entry they reference. |
Instruction |
copy()
Use with caution, since `BranchInstruction's have a `target' reference which is not copied correctly (only basic types are). |
(package private) void |
dispose()
Some instructions may be reused, so don't do anything by default. |
void |
dump(java.io.DataOutputStream out)
Dump instruction as byte code to stream out. |
boolean |
equals(java.lang.Object that)
Check for equality, delegated to comparator |
static InstructionComparator |
getComparator()
Get Comparator object used in the equals() method to determine equality of instructions. |
int |
getLength()
|
java.lang.String |
getName()
|
short |
getOpcode()
|
protected void |
initFromFile(org.apache.bcel.util.ByteSequence bytes,
boolean wide)
Read needed data (e.g. |
int |
produceStack(ConstantPoolGen cpg)
This method also gives right results for instructions whose effect on the stack depends on the constant pool entry they reference. |
static Instruction |
readInstruction(org.apache.bcel.util.ByteSequence bytes)
Read an instruction from (byte code) input stream and return the appropiate object. |
static void |
setComparator(InstructionComparator c)
Set comparator to be used for equals(). |
private void |
setOpcode(short opcode)
Needed in readInstruction. |
java.lang.String |
toString()
Convert this Object to a human-readable String. |
java.lang.String |
toString(boolean verbose)
Long output format: <name of opcode> "["<opcode number>"]" "("<length of instruction>")" |
java.lang.String |
toString(org.apache.bcel.classfile.ConstantPool cp)
|
Methods inherited from class java.lang.Object |
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
length
protected short length
opcode
protected short opcode
cmp
private static InstructionComparator cmp
Constructor Detail |
Instruction
Instruction()
- Empty constructor needed for the Class.newInstance() statement in
Instruction.readInstruction(). Not to be used otherwise.
Instruction
public Instruction(short opcode, short length)
Method Detail |
dump
public void dump(java.io.DataOutputStream out) throws java.io.IOException
- Dump instruction as byte code to stream out.
getName
public java.lang.String getName()
toString
public java.lang.String toString(boolean verbose)
- Long output format:
<name of opcode> "["<opcode number>"]"
"("<length of instruction>")"
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())
.
toString
public java.lang.String toString(org.apache.bcel.classfile.ConstantPool cp)
copy
public Instruction copy()
- Use with caution, since `BranchInstruction's have a `target' reference which
is not copied correctly (only basic types are). This also applies for
`Select' instructions with their multiple branch targets.
initFromFile
protected void initFromFile(org.apache.bcel.util.ByteSequence bytes, boolean wide) throws java.io.IOException
- Read needed data (e.g. index) from file.
readInstruction
public static final Instruction readInstruction(org.apache.bcel.util.ByteSequence bytes) throws java.io.IOException
- Read an instruction from (byte code) input stream and return the
appropiate object.
className
private static final java.lang.String className(short opcode)
consumeStack
public int consumeStack(ConstantPoolGen cpg)
- This method also gives right results for instructions whose
effect on the stack depends on the constant pool entry they
reference.
produceStack
public int produceStack(ConstantPoolGen cpg)
- This method also gives right results for instructions whose
effect on the stack depends on the constant pool entry they
reference.
getOpcode
public short getOpcode()
getLength
public int getLength()
setOpcode
private void setOpcode(short opcode)
- Needed in readInstruction.
dispose
void dispose()
- Some instructions may be reused, so don't do anything by default.
accept
public abstract 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.
getComparator
public static InstructionComparator getComparator()
- Get Comparator object used in the equals() method to determine
equality of instructions.
setComparator
public static void setComparator(InstructionComparator c)
- Set comparator to be used for equals().
equals
public boolean equals(java.lang.Object that)
- Check for equality, delegated to comparator
|
|||||||||
Home >> All >> org >> apache >> bcel >> [ generic overview ] | PREV CLASS NEXT CLASS | ||||||||
SUMMARY: ![]() ![]() ![]() |
DETAIL: FIELD | CONSTR | METHOD |