|
|||||||||
| Home >> All >> com >> techtrader >> modules >> tools >> [ bytecode overview ] | PREV CLASS NEXT CLASS | ||||||||
SUMMARY: JAVADOC | SOURCE | DOWNLOAD | NESTED | FIELD | CONSTR | METHOD |
DETAIL: FIELD | CONSTR | METHOD | ||||||||
com.techtrader.modules.tools.bytecode
Class JumpInstruction

java.lang.Objectcom.techtrader.modules.tools.bytecode.Instruction
com.techtrader.modules.tools.bytecode.JumpInstruction
- All Implemented Interfaces:
- Constants, InstructionPtr, com.techtrader.modules.tools.bytecode.visitor.VisitAcceptor
- Direct Known Subclasses:
- LookupSwitchInstruction, TableSwitchInstruction
- public class JumpInstruction
- extends Instruction
- implements InstructionPtr
- extends Instruction
Represents an IF, GOTO, JSR, or similar instruction that specifies as its argument a position in the code block to jump to.
| Field Summary | |
protected int |
_offset
|
protected Instruction |
_target
|
| Fields inherited from class com.techtrader.modules.tools.bytecode.Instruction |
_byteIndex, _opcode, _opcodeTypes, _owner |
| Constructor Summary | |
protected |
JumpInstruction(Code owner,
int opcode)
|
| Method Summary | |
void |
acceptVisit(com.techtrader.modules.tools.bytecode.visitor.BCVisitor visit)
Accept a visit from a BCVisitor, calling the appropriate methods to notify the visitor that it has entered this entity, and to provide it with the proper callbacks for each sub-entity owned by this object. |
protected void |
copy(Instruction orig)
|
boolean |
equals(java.lang.Object other)
JumpInstructions are equal if they represent the same operation and the Instruction they jump to is the same, or if the jump Instruction of either is unset. |
int |
getLength()
Return the length in bytes of this opcode, including all arguments. |
int |
getOffset()
Get the byte offset for the jump instruction. |
int |
getStackChange()
Return the number of stack positions this instruction pushes or pops during its execution. |
Instruction |
getTarget()
Get the current target instruction to jump to, if it has been set. |
protected void |
readData(java.io.DataInput in)
Read the arguments for this opcode from the given stream. |
void |
setMarkers(java.util.List instructions)
Use the byte indexes read from the .class file to calculate and set references to the target instruction(s) for this ptr. |
void |
setOffset(int offset)
Set the byte offset for the jump instruction. |
JumpInstruction |
setTarget(Instruction instruction)
Set the instruction to jump to; the instruction must already be added to the code block. |
protected void |
writeData(java.io.DataOutput out)
Write the arguments for this opcode to the given stream. |
| Methods inherited from class com.techtrader.modules.tools.bytecode.Instruction |
getByteIndex, getName, getOpCode, getOwner, invalidate, setByteIndex, setOpCode |
| Methods inherited from class java.lang.Object |
clone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
_offset
protected int _offset
_target
protected Instruction _target
| Constructor Detail |
JumpInstruction
protected JumpInstruction(Code owner, int opcode)
| Method Detail |
setOffset
public void setOffset(int offset)
- Set the byte offset for the jump instruction.
getOffset
public int getOffset()
- Get the byte offset for the jump instruction.
setTarget
public JumpInstruction setTarget(Instruction instruction)
- Set the instruction to jump to; the instruction must already be
added to the code block. WARNING: if this instruction is later
deleted from the code block, the results are undefined.
getTarget
public Instruction getTarget()
- Get the current target instruction to jump to, if it has been set.
WARNING: if this instruction is later
deleted from the code block, the results are undefined.
setMarkers
public void setMarkers(java.util.List instructions)
- Description copied from interface:
InstructionPtr - Use the byte indexes read from the .class file to calculate and
set references to the target instruction(s) for this ptr.
This method will be called after the byte code
has been read in for the first time.
- Specified by:
setMarkersin interfaceInstructionPtr
equals
public boolean equals(java.lang.Object other)
- JumpInstructions are equal if they represent the same operation and
the Instruction they jump to is the
same, or if the jump Instruction of either is unset.
- Overrides:
equalsin classInstruction
getLength
public int getLength()
- Description copied from class:
Instruction - Return the length in bytes of this opcode, including all arguments.
This method should be overridden by opcodes that take arguments.
- Overrides:
getLengthin classInstruction
getStackChange
public int getStackChange()
- Description copied from class:
Instruction - Return the number of stack positions this instruction pushes
or pops during its execution.
- Overrides:
getStackChangein classInstruction
copy
protected void copy(Instruction orig)
- Overrides:
copyin classInstruction
readData
protected void readData(java.io.DataInput in) throws java.io.IOException
- Description copied from class:
Instruction - Read the arguments for this opcode from the given stream.
This method should be overridden by opcodes that take arguments.
- Overrides:
readDatain classInstruction
writeData
protected void writeData(java.io.DataOutput out) throws java.io.IOException
- Description copied from class:
Instruction - Write the arguments for this opcode to the given stream.
This method should be overridden by opcodes that take arguments.
- Overrides:
writeDatain classInstruction
acceptVisit
public void acceptVisit(com.techtrader.modules.tools.bytecode.visitor.BCVisitor visit)
- Description copied from interface:
com.techtrader.modules.tools.bytecode.visitor.VisitAcceptor - Accept a visit from a BCVisitor, calling the appropriate methods
to notify the visitor that it has entered this entity, and
to provide it with the proper callbacks for each sub-entity owned
by this object.
- Specified by:
acceptVisitin interfacecom.techtrader.modules.tools.bytecode.visitor.VisitAcceptor- Overrides:
acceptVisitin classInstruction
|
|||||||||
| Home >> All >> com >> techtrader >> modules >> tools >> [ bytecode overview ] | PREV CLASS NEXT CLASS | ||||||||
SUMMARY: JAVADOC | SOURCE | DOWNLOAD | NESTED | FIELD | CONSTR | METHOD |
DETAIL: FIELD | CONSTR | METHOD | ||||||||
JAVADOC