bcel API: Class BranchHandle
org.apache.bcel.generic
Class BranchHandle
java.lang.Object
|
+--org.apache.bcel.generic.InstructionHandle
|
+--org.apache.bcel.generic.BranchHandle
All Implemented Interfaces: java.io.Serializable
public final class BranchHandle extends InstructionHandle
BranchHandle is returned by specialized InstructionList.append() whenever a
BranchInstruction is appended. This is useful when the target of this
instruction is not known at time of creation and must be set later
via setTarget().
Version: $Id: BranchHandle.java,v 1.1.1.1 2001/10/29 20:00:06 jvanzyl Exp $
Author: M. Dahm
See Also: InstructionHandle
,
Instruction
,
InstructionList
, Serialized Form
Methods inherited from class org.apache.bcel.generic.InstructionHandle
accept , addAttribute , addTargeter , getAttribute , getAttributes , getInstruction , getNext , getPrev , getTargeters , hasTargeters , removeAllTargeters , removeAttribute , removeTargeter , swapInstruction , toString , toString
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
addHandle
protected void addHandle ()
Handle adds itself to the list of resuable handles.
Overrides: addHandle
in class InstructionHandle
getPosition
public int getPosition ()
Overrides: getPosition
in class InstructionHandle
Following copied from class: org.apache.bcel.generic.InstructionHandle
Returns: the position, i.e., the byte code offset of the contained
instruction. This is accurate only after
InstructionList.setPositions() has been called.
updatePosition
protected int updatePosition (int offset,
int max_offset)
Description copied from class: InstructionHandle
Called by InstructionList.setPositions when setting the position for every
instruction. In the presence of variable length instructions `setPositions()'
performs multiple passes over the instruction list to calculate the
correct (byte) positions and offsets by calling this function.
Overrides: updatePosition
in class InstructionHandle
Following copied from class: org.apache.bcel.generic.InstructionHandle
Parameters: offset
- additional offset caused by preceding (variable length) instructionsmax_offset
- the maximum offset that may be caused by these instructionsReturns: additional offset caused by possible change of this instruction's length
setTarget
public void setTarget (InstructionHandle ih)
Pass new target to instruction.
updateTarget
public void updateTarget (InstructionHandle old_ih,
InstructionHandle new_ih)
Update target of instruction.
getTarget
public InstructionHandle getTarget ()
Returns: target of instruction.
setInstruction
public void setInstruction (Instruction i)
Set new contents. Old instruction is disposed and may not be used anymore.
Overrides: setInstruction
in class InstructionHandle