joeq.Compiler.BytecodeAnalysis
Class Bytecodes.Select

java.lang.Object
  extended by joeq.Compiler.BytecodeAnalysis.Bytecodes.Instruction
      extended by joeq.Compiler.BytecodeAnalysis.Bytecodes.BranchInstruction
          extended by joeq.Compiler.BytecodeAnalysis.Bytecodes.Select
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, Bytecodes.InstructionTargeter, Bytecodes.StackProducer, Bytecodes.VariableLengthInstruction
Direct Known Subclasses:
Bytecodes.LOOKUPSWITCH, Bytecodes.TABLESWITCH
Enclosing interface:
Bytecodes

public abstract static class Bytecodes.Select
extends Bytecodes.BranchInstruction
implements Bytecodes.VariableLengthInstruction, Bytecodes.StackProducer

See Also:
Serialized Form

Method Summary
 boolean containsTarget(Bytecodes.InstructionHandle ih)
           
 void dump(java.io.DataOutputStream out)
          Dump instruction as byte code to stream out.
 int[] getIndices()
           
 int[] getMatchs()
           
 java.util.List getTargets()
           
 void setTarget(int i, Bytecodes.InstructionHandle target)
          Set branch target for `i'th case
 java.lang.String toString(boolean verbose)
          Long output format: <position in byte code> <name of opcode> "["<opcode number>"]" "("<length of instruction>")" "<"<target instruction>">" "@"<branch target offset>
 void updateTarget(Bytecodes.InstructionHandle old_ih, Bytecodes.InstructionHandle new_ih)
           
 
Methods inherited from class joeq.Compiler.BytecodeAnalysis.Bytecodes.BranchInstruction
getIndex, getTarget, setTarget
 
Methods inherited from class joeq.Compiler.BytecodeAnalysis.Bytecodes.Instruction
accept, consumeStack, copy, getLength, getOpcode, produceStack, readInstruction, toString
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface joeq.Compiler.BytecodeAnalysis.Bytecodes.StackProducer
produceStack
 

Method Detail

dump

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

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

toString

public java.lang.String toString(boolean verbose)
Description copied from class: Bytecodes.BranchInstruction
Long output format: <position in byte code> <name of opcode> "["<opcode number>"]" "("<length of instruction>")" "<"<target instruction>">" "@"<branch target offset>

Overrides:
toString in class Bytecodes.BranchInstruction
Parameters:
verbose - long/short format switch
Returns:
mnemonic for instruction

setTarget

public void setTarget(int i,
                      Bytecodes.InstructionHandle target)
Set branch target for `i'th case


updateTarget

public void updateTarget(Bytecodes.InstructionHandle old_ih,
                         Bytecodes.InstructionHandle new_ih)
Specified by:
updateTarget in interface Bytecodes.InstructionTargeter
Overrides:
updateTarget in class Bytecodes.BranchInstruction
Parameters:
old_ih - old target
new_ih - new target

containsTarget

public boolean containsTarget(Bytecodes.InstructionHandle ih)
Specified by:
containsTarget in interface Bytecodes.InstructionTargeter
Overrides:
containsTarget in class Bytecodes.BranchInstruction
Returns:
true, if ih is target of this instruction

getMatchs

public int[] getMatchs()
Returns:
array of match indices

getIndices

public int[] getIndices()
Returns:
array of match target offsets

getTargets

public java.util.List getTargets()
Returns:
array of match targets