joeq.Compiler.BytecodeAnalysis
Class Bytecodes.JSR

java.lang.Object
  extended by joeq.Compiler.BytecodeAnalysis.Bytecodes.Instruction
      extended by joeq.Compiler.BytecodeAnalysis.Bytecodes.BranchInstruction
          extended by joeq.Compiler.BytecodeAnalysis.Bytecodes.JsrInstruction
              extended by joeq.Compiler.BytecodeAnalysis.Bytecodes.JSR
All Implemented Interfaces:
Serializable, Cloneable, Bytecodes.InstructionTargeter, Bytecodes.StackProducer, Bytecodes.TypedInstruction, Bytecodes.UnconditionalBranch, Bytecodes.VariableLengthInstruction
Enclosing interface:
Bytecodes

public static class Bytecodes.JSR
extends Bytecodes.JsrInstruction
implements Bytecodes.StackProducer, Bytecodes.VariableLengthInstruction

See Also:
Serialized Form

Field Summary
 
Fields inherited from class joeq.Compiler.BytecodeAnalysis.Bytecodes.BranchInstruction
index, position, target
 
Fields inherited from class joeq.Compiler.BytecodeAnalysis.Bytecodes.Instruction
length, opcode
 
Constructor Summary
Bytecodes.JSR(Bytecodes.InstructionHandle target)
           
 
Method Summary
 void accept(Bytecodes.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 joeq.Compiler.BytecodeAnalysis.Bytecodes.JsrInstruction
getType, physicalSuccessor
 
Methods inherited from class joeq.Compiler.BytecodeAnalysis.Bytecodes.BranchInstruction
containsTarget, getIndex, getTarget, getTargetOffset, getTargetOffset, initFromFile, setTarget, toString, updateTarget
 
Methods inherited from class joeq.Compiler.BytecodeAnalysis.Bytecodes.Instruction
consumeStack, copy, getLength, getOpcode, produceStack, readInstruction, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface joeq.Compiler.BytecodeAnalysis.Bytecodes.StackProducer
produceStack
 

Constructor Detail

Bytecodes.JSR

public Bytecodes.JSR(Bytecodes.InstructionHandle target)
Method Detail

dump

public void dump(DataOutputStream out)
          throws IOException
Dump instruction as byte code to stream out.

Overrides:
dump in class Bytecodes.BranchInstruction
Parameters:
out - Output stream
Throws:
IOException

updatePosition

protected int updatePosition(int offset,
                             int max_offset)
Description copied from class: Bytecodes.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 Bytecodes.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(Bytecodes.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 Bytecodes.Instruction
Parameters:
v - Visitor object


Copyright © 2001-2008 John Whaley. All Rights Reserved.