org.objectweb.asm.tree.analysis

Class DataflowInterpreter

Implemented Interfaces:
Constants, Interpreter

public class DataflowInterpreter
extends Object
implements Constants, Interpreter

An Interpreter for DataflowValue values.
Author:
Eric Bruneton

Fields inherited from interface org.objectweb.asm.Constants

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, DREM, DRETURN, DSTORE, DSUB, DUP, DUP2, DUP2_X1, DUP2_X2, DUP_X1, DUP_X2, F2D, F2I, F2L, FADD, FALOAD, FASTORE, FCMPG, FCMPL, FCONST_0, FCONST_1, FCONST_2, FDIV, FLOAD, 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, IFEQ, IFGE, IFGT, IFLE, IFLT, IFNE, IFNONNULL, IFNULL, IF_ACMPEQ, IF_ACMPNE, IF_ICMPEQ, IF_ICMPGE, IF_ICMPGT, IF_ICMPLE, IF_ICMPLT, IF_ICMPNE, IINC, ILOAD, IMUL, INEG, INSTANCEOF, 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, LOOKUPSWITCH, LOR, LREM, LRETURN, LSHL, LSHR, LSTORE, LSUB, LUSHR, LXOR, MONITORENTER, MONITOREXIT, MULTIANEWARRAY, NEW, NEWARRAY, NOP, POP, POP2, PUTFIELD, PUTSTATIC, RET, RETURN, SALOAD, SASTORE, SIPUSH, SWAP, TABLESWITCH, T_BOOLEAN, T_BYTE, T_CHAR, T_DOUBLE, T_FLOAT, T_INT, T_LONG, T_SHORT, V1_1, V1_2, V1_3, V1_4, V1_5

Method Summary

Value
binaryOperation(AbstractInsnNode insn, Value value1, Value value2)
Value
copyOperation(AbstractInsnNode insn, Value value)
Value
merge(Value v, Value w)
Value
naryOperation(AbstractInsnNode insn, List values)
Value
newOperation(AbstractInsnNode insn)
Value
newValue(Type type)
Value
ternaryOperation(AbstractInsnNode insn, Value value1, Value value2, Value value3)
Value
unaryOperation(AbstractInsnNode insn, Value value)

Method Details

binaryOperation

public Value binaryOperation(AbstractInsnNode insn,
                             Value value1,
                             Value value2)
Specified by:
binaryOperation in interface Interpreter

copyOperation

public Value copyOperation(AbstractInsnNode insn,
                           Value value)
Specified by:
copyOperation in interface Interpreter

merge

public Value merge(Value v,
                   Value w)
Specified by:
merge in interface Interpreter

naryOperation

public Value naryOperation(AbstractInsnNode insn,
                           List values)
Specified by:
naryOperation in interface Interpreter

newOperation

public Value newOperation(AbstractInsnNode insn)
Specified by:
newOperation in interface Interpreter

newValue

public Value newValue(Type type)
Specified by:
newValue in interface Interpreter

ternaryOperation

public Value ternaryOperation(AbstractInsnNode insn,
                              Value value1,
                              Value value2,
                              Value value3)
Specified by:
ternaryOperation in interface Interpreter

unaryOperation

public Value unaryOperation(AbstractInsnNode insn,
                            Value value)
Specified by:
unaryOperation in interface Interpreter