org.kit.furia.fragment.asm
Class FragmentInterpreter

java.lang.Object
  extended by org.objectweb.asm.tree.analysis.BasicInterpreter
      extended by org.kit.furia.fragment.asm.FragmentInterpreter
All Implemented Interfaces:
org.objectweb.asm.Opcodes, org.objectweb.asm.tree.analysis.Interpreter

public class FragmentInterpreter
extends org.objectweb.asm.tree.analysis.BasicInterpreter


Field Summary
 
Fields inherited from interface org.objectweb.asm.Opcodes
AALOAD, AASTORE, ACC_ABSTRACT, ACC_ANNOTATION, ACC_BRIDGE, ACC_DEPRECATED, ACC_ENUM, ACC_FINAL, ACC_INTERFACE, ACC_NATIVE, ACC_PRIVATE, ACC_PROTECTED, ACC_PUBLIC, ACC_STATIC, ACC_STRICT, ACC_SUPER, ACC_SYNCHRONIZED, ACC_SYNTHETIC, ACC_TRANSIENT, ACC_VARARGS, ACC_VOLATILE, ACONST_NULL, ALOAD, ANEWARRAY, ARETURN, ARRAYLENGTH, ASTORE, ATHROW, BALOAD, BASTORE, BIPUSH, CALOAD, CASTORE, CHECKCAST, D2F, D2I, D2L, DADD, DALOAD, DASTORE, DCMPG, DCMPL, DCONST_0, DCONST_1, DDIV, DLOAD, DMUL, DNEG, DOUBLE, DREM, DRETURN, DSTORE, DSUB, DUP, DUP_X1, DUP_X2, DUP2, DUP2_X1, DUP2_X2, F_APPEND, F_CHOP, F_FULL, F_NEW, F_SAME, F_SAME1, F2D, F2I, F2L, FADD, FALOAD, FASTORE, FCMPG, FCMPL, FCONST_0, FCONST_1, FCONST_2, FDIV, FLOAD, FLOAT, FMUL, FNEG, FREM, FRETURN, FSTORE, FSUB, GETFIELD, GETSTATIC, GOTO, I2B, I2C, I2D, I2F, I2L, I2S, IADD, IALOAD, IAND, IASTORE, ICONST_0, ICONST_1, ICONST_2, ICONST_3, ICONST_4, ICONST_5, ICONST_M1, IDIV, IF_ACMPEQ, IF_ACMPNE, IF_ICMPEQ, IF_ICMPGE, IF_ICMPGT, IF_ICMPLE, IF_ICMPLT, IF_ICMPNE, IFEQ, IFGE, IFGT, IFLE, IFLT, IFNE, IFNONNULL, IFNULL, IINC, ILOAD, IMUL, INEG, INSTANCEOF, INTEGER, INVOKEINTERFACE, INVOKESPECIAL, INVOKESTATIC, INVOKEVIRTUAL, IOR, IREM, IRETURN, ISHL, ISHR, ISTORE, ISUB, IUSHR, IXOR, JSR, L2D, L2F, L2I, LADD, LALOAD, LAND, LASTORE, LCMP, LCONST_0, LCONST_1, LDC, LDIV, LLOAD, LMUL, LNEG, LONG, LOOKUPSWITCH, LOR, LREM, LRETURN, LSHL, LSHR, LSTORE, LSUB, LUSHR, LXOR, MONITORENTER, MONITOREXIT, MULTIANEWARRAY, NEW, NEWARRAY, NOP, NULL, POP, POP2, PUTFIELD, PUTSTATIC, RET, RETURN, SALOAD, SASTORE, SIPUSH, SWAP, T_BOOLEAN, T_BYTE, T_CHAR, T_DOUBLE, T_FLOAT, T_INT, T_LONG, T_SHORT, TABLESWITCH, TOP, UNINITIALIZED_THIS, V1_1, V1_2, V1_3, V1_4, V1_5, V1_6
 
Constructor Summary
FragmentInterpreter()
           
 
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 merge(org.objectweb.asm.tree.analysis.Value v, org.objectweb.asm.tree.analysis.Value w)
          A new phi function is created from the two values.
 org.objectweb.asm.tree.analysis.Value naryOperation(org.objectweb.asm.tree.AbstractInsnNode insn, java.util.List values)
           
 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 org.objectweb.asm.tree.analysis.BasicInterpreter
copyOperation, newOperation, newValue
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FragmentInterpreter

public FragmentInterpreter()
Method Detail

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)
Specified by:
binaryOperation in interface org.objectweb.asm.tree.analysis.Interpreter
Overrides:
binaryOperation in class org.objectweb.asm.tree.analysis.BasicInterpreter

naryOperation

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

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)
Specified by:
ternaryOperation in interface org.objectweb.asm.tree.analysis.Interpreter
Overrides:
ternaryOperation in class org.objectweb.asm.tree.analysis.BasicInterpreter

unaryOperation

public org.objectweb.asm.tree.analysis.Value unaryOperation(org.objectweb.asm.tree.AbstractInsnNode insn,
                                                            org.objectweb.asm.tree.analysis.Value value)
Specified by:
unaryOperation in interface org.objectweb.asm.tree.analysis.Interpreter
Overrides:
unaryOperation in class org.objectweb.asm.tree.analysis.BasicInterpreter

merge

public org.objectweb.asm.tree.analysis.Value merge(org.objectweb.asm.tree.analysis.Value v,
                                                   org.objectweb.asm.tree.analysis.Value w)
A new phi function is created from the two values. If either v or w are phis, we just create one phi function from all the values.

Specified by:
merge in interface org.objectweb.asm.tree.analysis.Interpreter
Overrides:
merge in class org.objectweb.asm.tree.analysis.BasicInterpreter


Copyright © 2008 Arnoldo Jose Muller Molina. All Rights Reserved.