## 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:
  Serializable, Cloneable, InstructionTargeter, StackProducer, TypedInstruction, UnconditionalBranch, VariableLengthInstruction

    public class JSR

extends JsrInstruction
implements VariableLengthInstruction

JSR - Jump to subroutine

Version:
  $Id: JSR.java 386056 2006-03-15 11:31:56Z tcurdt $
See Also:
  Serialized Form

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
`JSR(InstructionHandle target)`

Method Summary
`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, getTarget, getTargetOffset, getTargetOffset, initFromFile, setTarget, toString, updateTarget`

Methods inherited from class org.apache.bcel.generic.Instruction
`consumeStack, copy, equals, getComparator, getLength, getName, getOpcode, produceStack, readInstruction, setComparator, toString, toString`

Methods inherited from class java.lang.Object
`clone, finalize, getClass, hashCode, 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 class `BranchInstruction`
  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 class `BranchInstruction`
  Parameters:
    `offset` - additional offset caused by preceding (variable length) instructions
    `max_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 class `Instruction`
  Parameters:
    `v` - Visitor object

Copyright © 2002-2006 Apache Software Foundation. All Rights Reserved.