Class GOTO

All Implemented Interfaces:
Cloneable, InstructionTargeter, UnconditionalBranch, VariableLengthInstruction

public class GOTO extends GotoInstruction implements VariableLengthInstruction
GOTO - Branch always (to relative offset, not absolute address)
  • Constructor Details

    • GOTO

      public GOTO(InstructionHandle target)
      Constructs a GOTO instruction.
      Parameters:
      target - the target instruction.
  • Method Details

    • 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, that is, the most specific visitXXX() call comes last.
      Specified by:
      accept in class Instruction
      Parameters:
      v - Visitor object.
    • dump

      public void dump(DataOutputStream out) throws IOException
      Dumps instruction as byte code to stream out.
      Overrides:
      dump in class BranchInstruction
      Parameters:
      out - Output stream.
      Throws:
      IOException - Thrown when an I/O exception of some sort has occurred.
    • updatePosition

      protected int updatePosition(int offset, int maxOffset)
      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
      Parameters:
      offset - additional offset caused by preceding (variable length) instructions.
      maxOffset - the maximum offset that may be caused by these instructions.
      Returns:
      additional offset caused by possible change of this instruction's length.