Package serp.bytecode

# Class GotoInstruction

java.lang.Object
serp.bytecode.Instruction
serp.bytecode.JumpInstruction
serp.bytecode.GotoInstruction

All Implemented Interfaces:
  `BCEntity`, `InstructionPtr`, `VisitAcceptor`

public class GotoInstruction extends JumpInstruction
An instruction that specifies a position in the code block to jump to. Examples include `go2, jsr`, etc.

Author:
  Abe White

## Method Summary

Modifier and Type
Method
Description
`int`
`getStackChange()`
Return the number of stack positions this instruction pushes or pops during its execution.
`void`
`setOffset(int offset)`

### Methods inherited from class serp.bytecode.JumpInstruction

`acceptVisit, equalsInstruction, getOffset, getTarget, replaceTarget, setTarget, updateTargets`

### Methods inherited from class serp.bytecode.Instruction

`getByteIndex, getClassLoader, getCode, getLineNumber, getLogicalStackChange, getName, getOpcode, getPool, getProject, isValid`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface serp.bytecode.InstructionPtr

`getCode`

## Method Details

### getStackChange

public int getStackChange()
Description copied from class: `Instruction`
Return the number of stack positions this instruction pushes or pops during its execution.

Overrides:
  `getStackChange` in class `Instruction`
Returns:
  0 if the stack is not affected by this instruction, a positive number if it pushes onto the stack, and a negative number if it pops from the stack

### setOffset

public void setOffset(int offset)

Overrides:
  `setOffset` in class `JumpInstruction`