org.apache.bcel.generic

Class JsrInstruction

Implemented Interfaces:
Cloneable, InstructionTargeter, Serializable, StackProducer, TypedInstruction, UnconditionalBranch
Known Direct Subclasses:
JSR, JSR_W

public abstract class JsrInstruction
extends BranchInstruction
implements UnconditionalBranch, TypedInstruction, StackProducer

Super class for JSR - Jump to subroutine
Version:
$Id: JsrInstruction.java 386056 2006-03-15 11:31:56Z tcurdt $
Author:
M. Dahm

Field Summary

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

index, position, target

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

cmp, length, opcode

Constructor Summary

JsrInstruction()
Empty constructor needed for the Class.newInstance() statement in Instruction.readInstruction().
JsrInstruction(short opcode, InstructionHandle target)
Common super constructor

Method Summary

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, dispose, dump, getIndex, getTarget, getTargetOffset, getTargetOffset, initFromFile, notifyTarget, setTarget, toString, updatePosition, updateTarget

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

accept, className, consumeStack, copy, dispose, dump, equals, getComparator, getLength, getName, getOpcode, initFromFile, produceStack, readInstruction, setComparator, setOpcode, toString, toString, toString

Constructor Details

JsrInstruction

(package private)  JsrInstruction()
Empty constructor needed for the Class.newInstance() statement in Instruction.readInstruction(). Not to be used otherwise.

JsrInstruction

(package private)  JsrInstruction(short opcode,
                                  InstructionHandle target)
Common super constructor
Parameters:
opcode - Instruction opcode
target - instruction to branch to

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.