org.siebengeisslein.client.instrument
Class SGInterpreter

java.lang.Object
  extended by org.siebengeisslein.client.instrument.SGInterpreter
All Implemented Interfaces:
org.objectweb.asm.tree.analysis.Interpreter

public class SGInterpreter
extends java.lang.Object
implements org.objectweb.asm.tree.analysis.Interpreter


Nested Class Summary
static class SGInterpreter.UnknownValue
           
 
Field Summary
static org.objectweb.asm.tree.analysis.Value UNKNOWN_VALUE
           
 
Constructor Summary
SGInterpreter(java.lang.String classname, java.lang.String methodname, java.util.List localVariables, int paramCount, boolean isStatic)
           
 
Method Summary
 org.objectweb.asm.tree.analysis.Value binaryOperation(org.objectweb.asm.tree.AbstractInsnNode insn, org.objectweb.asm.tree.analysis.Value value1, org.objectweb.asm.tree.analysis.Value value2)
           
 org.objectweb.asm.tree.analysis.Value copyOperation(org.objectweb.asm.tree.AbstractInsnNode insn, org.objectweb.asm.tree.analysis.Value value)
           
 java.util.Map<java.lang.Integer,org.objectweb.asm.tree.analysis.Value> getLocalVarValues()
           
 org.objectweb.asm.tree.analysis.Value merge(org.objectweb.asm.tree.analysis.Value v, org.objectweb.asm.tree.analysis.Value w)
           
 org.objectweb.asm.tree.analysis.Value naryOperation(org.objectweb.asm.tree.AbstractInsnNode insn, java.util.List values)
           
 org.objectweb.asm.tree.analysis.Value newOperation(org.objectweb.asm.tree.AbstractInsnNode insn)
           
 org.objectweb.asm.tree.analysis.Value newValue(org.objectweb.asm.Type type)
           
 org.objectweb.asm.tree.analysis.Value ternaryOperation(org.objectweb.asm.tree.AbstractInsnNode insn, org.objectweb.asm.tree.analysis.Value value1, org.objectweb.asm.tree.analysis.Value value2, org.objectweb.asm.tree.analysis.Value value3)
           
 org.objectweb.asm.tree.analysis.Value unaryOperation(org.objectweb.asm.tree.AbstractInsnNode insn, org.objectweb.asm.tree.analysis.Value value)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

UNKNOWN_VALUE

public static final org.objectweb.asm.tree.analysis.Value UNKNOWN_VALUE
Constructor Detail

SGInterpreter

public SGInterpreter(java.lang.String classname,
                     java.lang.String methodname,
                     java.util.List localVariables,
                     int paramCount,
                     boolean isStatic)
Method Detail

getLocalVarValues

public java.util.Map<java.lang.Integer,org.objectweb.asm.tree.analysis.Value> getLocalVarValues()

newValue

public org.objectweb.asm.tree.analysis.Value newValue(org.objectweb.asm.Type type)
Specified by:
newValue in interface org.objectweb.asm.tree.analysis.Interpreter

newOperation

public org.objectweb.asm.tree.analysis.Value newOperation(org.objectweb.asm.tree.AbstractInsnNode insn)
                                                   throws org.objectweb.asm.tree.analysis.AnalyzerException
Specified by:
newOperation in interface org.objectweb.asm.tree.analysis.Interpreter
Throws:
org.objectweb.asm.tree.analysis.AnalyzerException

copyOperation

public org.objectweb.asm.tree.analysis.Value copyOperation(org.objectweb.asm.tree.AbstractInsnNode insn,
                                                           org.objectweb.asm.tree.analysis.Value value)
                                                    throws org.objectweb.asm.tree.analysis.AnalyzerException
Specified by:
copyOperation in interface org.objectweb.asm.tree.analysis.Interpreter
Throws:
org.objectweb.asm.tree.analysis.AnalyzerException

unaryOperation

public org.objectweb.asm.tree.analysis.Value unaryOperation(org.objectweb.asm.tree.AbstractInsnNode insn,
                                                            org.objectweb.asm.tree.analysis.Value value)
                                                     throws org.objectweb.asm.tree.analysis.AnalyzerException
Specified by:
unaryOperation in interface org.objectweb.asm.tree.analysis.Interpreter
Throws:
org.objectweb.asm.tree.analysis.AnalyzerException

binaryOperation

public org.objectweb.asm.tree.analysis.Value binaryOperation(org.objectweb.asm.tree.AbstractInsnNode insn,
                                                             org.objectweb.asm.tree.analysis.Value value1,
                                                             org.objectweb.asm.tree.analysis.Value value2)
                                                      throws org.objectweb.asm.tree.analysis.AnalyzerException
Specified by:
binaryOperation in interface org.objectweb.asm.tree.analysis.Interpreter
Throws:
org.objectweb.asm.tree.analysis.AnalyzerException

ternaryOperation

public org.objectweb.asm.tree.analysis.Value ternaryOperation(org.objectweb.asm.tree.AbstractInsnNode insn,
                                                              org.objectweb.asm.tree.analysis.Value value1,
                                                              org.objectweb.asm.tree.analysis.Value value2,
                                                              org.objectweb.asm.tree.analysis.Value value3)
                                                       throws org.objectweb.asm.tree.analysis.AnalyzerException
Specified by:
ternaryOperation in interface org.objectweb.asm.tree.analysis.Interpreter
Throws:
org.objectweb.asm.tree.analysis.AnalyzerException

naryOperation

public org.objectweb.asm.tree.analysis.Value naryOperation(org.objectweb.asm.tree.AbstractInsnNode insn,
                                                           java.util.List values)
                                                    throws org.objectweb.asm.tree.analysis.AnalyzerException
Specified by:
naryOperation in interface org.objectweb.asm.tree.analysis.Interpreter
Throws:
org.objectweb.asm.tree.analysis.AnalyzerException

merge

public org.objectweb.asm.tree.analysis.Value merge(org.objectweb.asm.tree.analysis.Value v,
                                                   org.objectweb.asm.tree.analysis.Value w)
Specified by:
merge in interface org.objectweb.asm.tree.analysis.Interpreter