Package org.apache.bcel.generic

# Class JsrInstruction

java.lang.Object
org.apache.bcel.generic.Instruction
org.apache.bcel.generic.BranchInstruction
org.apache.bcel.generic.JsrInstruction

All Implemented Interfaces:
  `Cloneable`, `InstructionTargeter`, `StackProducer`, `TypedInstruction`, `UnconditionalBranch`

Direct Known Subclasses:
  `JSR`, `JSR_W`

public abstract class JsrInstruction extends BranchInstruction implements UnconditionalBranch, TypedInstruction, StackProducer
Super class for JSR - Jump to subroutine

- ## Field Summary

  ### Fields inherited from class org.apache.bcel.generic.BranchInstruction

  `index, position, target`

  ### Fields inherited from class org.apache.bcel.generic.Instruction

  `length, opcode`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Type`
  `getType(ConstantPoolGen cp)`
  `InstructionHandle`
  `physicalSuccessor()`
  Returns an InstructionHandle to the physical successor of this JsrInstruction.

  ### Methods inherited from class org.apache.bcel.generic.BranchInstruction

  `containsTarget, dump, getIndex, getPosition, getTarget, getTargetOffset, getTargetOffset, initFromFile, setIndex, setPosition, setTarget, toString, updatePosition, updateTarget`

  ### Methods inherited from class org.apache.bcel.generic.Instruction

  `accept, consumeStack, copy, equals, getComparator, getLength, getName, getOpcode, hashCode, isValidByte, isValidShort, produceStack, readInstruction, setComparator, toString, toString`

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

  `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

  ### Methods inherited from interface org.apache.bcel.generic.StackProducer

  `produceStack`

- ## Method Details

  - ### getType

    public Type getType(ConstantPoolGen cp)
    Specified by:
      `getType` in interface `TypedInstruction`
    Returns:
      return address type

  - ### physicalSuccessor

    public InstructionHandle physicalSuccessor()
    Returns an InstructionHandle to the physical successor of this JsrInstruction. For this method to work, this JsrInstruction object must not be shared between multiple InstructionHandle objects! Formally, there must not be InstructionHandle objects i, j where i != j and i.getInstruction() == this == j.getInstruction().
    Returns:
      an InstructionHandle to the "next" instruction that will be executed when RETurned from a subroutine.