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

Fields inherited from class de.fub.bytecode.generic.BranchInstruction
index, position, target
 
Fields inherited from class de.fub.bytecode.generic.Instruction
length, opcode
 
Constructor Summary
GOTO(InstructionHandle target)
           
 
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.BranchInstruction
containsTarget, getIndex, getTarget, getTargetOffset, getTargetOffset, initFromFile, setTarget, toString, updateTarget
 
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
 

Constructor Detail

GOTO

public GOTO(InstructionHandle target)
Method Detail

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) instructions
max_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