Package org.apache.bcel.generic
Class JSR
- java.lang.Object
-
- org.apache.bcel.generic.Instruction
-
- org.apache.bcel.generic.BranchInstruction
-
- org.apache.bcel.generic.JsrInstruction
-
- org.apache.bcel.generic.JSR
-
- All Implemented Interfaces:
Cloneable
,InstructionTargeter
,StackProducer
,TypedInstruction
,UnconditionalBranch
,VariableLengthInstruction
public class JSR extends JsrInstruction implements VariableLengthInstruction
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
-
-
Constructor Summary
Constructors Constructor Description JSR(InstructionHandle target)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
accept(Visitor v)
Call corresponding visitor method(s).void
dump(DataOutputStream out)
Dump instruction as byte code to stream out.protected int
updatePosition(int offset, int max_offset)
Called by InstructionList.setPositions when setting the position for every instruction.-
Methods inherited from class org.apache.bcel.generic.JsrInstruction
getType, physicalSuccessor
-
Methods inherited from class org.apache.bcel.generic.BranchInstruction
containsTarget, getIndex, getPosition, getTarget, getTargetOffset, getTargetOffset, initFromFile, setIndex, setPosition, setTarget, toString, updateTarget
-
Methods inherited from class org.apache.bcel.generic.Instruction
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
-
-
-
-
Constructor Detail
-
JSR
public JSR(InstructionHandle target)
-
-
Method Detail
-
dump
public void dump(DataOutputStream out) throws IOException
Dump instruction as byte code to stream out.- Overrides:
dump
in classBranchInstruction
- Parameters:
out
- Output stream- Throws:
IOException
-
updatePosition
protected int updatePosition(int offset, int max_offset)
Description copied from class:BranchInstruction
Called by InstructionList.setPositions when setting the position for every instruction. In the presence of variable length instructions `setPositions' performs multiple passes over the instruction list to calculate the correct (byte) positions and offsets by calling this function.- Overrides:
updatePosition
in classBranchInstruction
- Parameters:
offset
- additional offset caused by preceding (variable length) instructionsmax_offset
- the maximum offset that may be caused by these instructions- Returns:
- additional offset caused by possible change of this instruction's length
-
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, i.e., the most specific visitXXX() call comes last.- Specified by:
accept
in classInstruction
- Parameters:
v
- Visitor object
-
-