de.fub.bytecode.generic
Class GOTO
java.lang.Object
|
+--de.fub.bytecode.generic.Instruction
|
+--de.fub.bytecode.generic.BranchInstruction
|
+--de.fub.bytecode.generic.GotoInstruction
|
+--de.fub.bytecode.generic.GOTO
- All Implemented Interfaces:
- java.lang.Cloneable, InstructionTargeter, java.io.Serializable, UnconditionalBranch, VariableLengthInstruction
- public class GOTO
- extends GotoInstruction
- implements VariableLengthInstruction
GOTO - Branch always (to relative offset, not absolute address)
- Version:
- $Id: GOTO.java,v 1.9 2001/07/16 09:22:26 dahm Exp $
- Author:
- M. Dahm
- See Also:
- Serialized Form
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. |
protected int |
updatePosition(int offset,
int max_offset)
Called in pass 2 of InstructionList.setPositions() in order to update
the branch target, that may shift due to variable length instructions. |
Methods inherited from class de.fub.bytecode.generic.Instruction |
consumeStack, consumeStack, copy, getLength, getOpcode, getTag, produceStack, produceStack, readInstruction, toString, toString |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
GOTO
public GOTO(InstructionHandle target)
dump
public void dump(java.io.DataOutputStream out)
throws java.io.IOException
- Dump instruction as byte code to stream out.
- Overrides:
dump
in class BranchInstruction
- Parameters:
out
- Output stream
updatePosition
protected int updatePosition(int offset,
int max_offset)
- Called in pass 2 of InstructionList.setPositions() in order to update
the branch target, that may shift due to variable length instructions.
- Overrides:
updatePosition
in class BranchInstruction
- Following copied from class:
de.fub.bytecode.generic.BranchInstruction
- Parameters:
offset
- additional offset caused by preceding (variable length) instructionsmax_offset
- the maximum offset that may be caused by these instructions- Returns:
- additional offset caused by possible change of this instruction's length
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