de.fub.bytecode.generic
Class JsrInstruction

java.lang.Object
  |
  +--de.fub.bytecode.generic.Instruction
        |
        +--de.fub.bytecode.generic.BranchInstruction
              |
              +--de.fub.bytecode.generic.JsrInstruction
All Implemented Interfaces:
java.lang.Cloneable, InstructionTargeter, java.io.Serializable, 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

Version:
$Id: JsrInstruction.java,v 1.12 2001/07/03 08:20:18 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
 
Method Summary
 Type getType(ConstantPoolGen cp)
           
 InstructionHandle physicalSuccessor()
          Returns an InstructionHandle to the physical successor of this JsrInstruction.
 
Methods inherited from class de.fub.bytecode.generic.BranchInstruction
containsTarget, dump, getIndex, getTarget, getTargetOffset, getTargetOffset, initFromFile, setTarget, toString, updatePosition, updateTarget
 
Methods inherited from class de.fub.bytecode.generic.Instruction
accept, 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
 
Methods inherited from interface de.fub.bytecode.generic.StackProducer
produceStack
 

Method Detail

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.