public final class RuleMethodInterpreter extends BasicInterpreter
apiAALOAD, AASTORE, ACC_ABSTRACT, ACC_ANNOTATION, ACC_BRIDGE, ACC_DEPRECATED, ACC_ENUM, ACC_FINAL, ACC_INTERFACE, ACC_MANDATED, 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, ASM4, ASM5, 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, H_GETFIELD, H_GETSTATIC, H_INVOKEINTERFACE, H_INVOKESPECIAL, H_INVOKESTATIC, H_INVOKEVIRTUAL, H_NEWINVOKESPECIAL, H_PUTFIELD, H_PUTSTATIC, 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, INVOKEDYNAMIC, 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, V1_7, V1_8| Constructor and Description |
|---|
RuleMethodInterpreter(RuleMethod method) |
| Modifier and Type | Method and Description |
|---|---|
BasicValue |
binaryOperation(AbstractInsnNode insn,
BasicValue value1,
BasicValue value2) |
BasicValue |
copyOperation(AbstractInsnNode insn,
BasicValue value) |
void |
finish() |
BasicValue |
merge(BasicValue v,
BasicValue w) |
BasicValue |
naryOperation(AbstractInsnNode insn,
List<? extends BasicValue> values) |
void |
newControlFlowEdge(int instructionIndex,
int successorIndex) |
BasicValue |
newOperation(AbstractInsnNode insn) |
BasicValue |
newValue(Type type) |
void |
returnOperation(AbstractInsnNode insn,
BasicValue value,
BasicValue expected) |
BasicValue |
ternaryOperation(AbstractInsnNode insn,
BasicValue v1,
BasicValue v2,
BasicValue v3) |
BasicValue |
unaryOperation(AbstractInsnNode insn,
BasicValue value) |
public RuleMethodInterpreter(RuleMethod method)
public BasicValue newValue(Type type)
newValue in class BasicInterpreterpublic BasicValue newOperation(AbstractInsnNode insn) throws AnalyzerException
newOperation in class BasicInterpreterAnalyzerExceptionpublic BasicValue copyOperation(AbstractInsnNode insn, BasicValue value) throws AnalyzerException
copyOperation in class BasicInterpreterAnalyzerExceptionpublic BasicValue unaryOperation(AbstractInsnNode insn, BasicValue value) throws AnalyzerException
unaryOperation in class BasicInterpreterAnalyzerExceptionpublic BasicValue binaryOperation(AbstractInsnNode insn, BasicValue value1, BasicValue value2) throws AnalyzerException
binaryOperation in class BasicInterpreterAnalyzerExceptionpublic BasicValue ternaryOperation(AbstractInsnNode insn, BasicValue v1, BasicValue v2, BasicValue v3) throws AnalyzerException
ternaryOperation in class BasicInterpreterAnalyzerExceptionpublic BasicValue naryOperation(AbstractInsnNode insn, List<? extends BasicValue> values) throws AnalyzerException
naryOperation in class BasicInterpreterAnalyzerExceptionpublic void returnOperation(AbstractInsnNode insn, BasicValue value, BasicValue expected) throws AnalyzerException
returnOperation in class BasicInterpreterAnalyzerExceptionpublic BasicValue merge(BasicValue v, BasicValue w)
merge in class BasicInterpreterpublic void newControlFlowEdge(int instructionIndex,
int successorIndex)
public void finish()