Class SymbolicWrapperMethodAdapter
java.lang.Object
org.objectweb.asm.MethodVisitor
de.uzl.its.swat.instrument.AbstractMethodAdapter
de.uzl.its.swat.instrument.symbolicwrapper.SymbolicWrapperMethodAdapter
-
Field Summary
Fields inherited from class org.objectweb.asm.MethodVisitor
api, mv -
Constructor Summary
ConstructorsConstructorDescriptionSymbolicWrapperMethodAdapter(org.objectweb.asm.MethodVisitor mv, String cname, String name, String desc) Constructor that calls the super from the default MethodVisitor -
Method Summary
Modifier and TypeMethodDescriptionvoidStarts the visit of the method's code, if any (i.e.voidvoidvisitInsn(int opcode) Visits a zero operand instruction.Methods inherited from class de.uzl.its.swat.instrument.AbstractMethodAdapter
getConfig, getDesc, getName, handleMethodParameters, splitParameters, symbolicBoolean, symbolicByte, symbolicChar, symbolicDouble, symbolicFloat, symbolicInt, symbolicLong, symbolicLongObject, symbolicShort, symbolicStringMethods inherited from class org.objectweb.asm.MethodVisitor
getDelegate, visitAnnotableParameterCount, visitAnnotation, visitAnnotationDefault, visitAttribute, visitEnd, visitFieldInsn, visitFrame, visitIincInsn, visitInsnAnnotation, visitIntInsn, visitInvokeDynamicInsn, visitJumpInsn, visitLabel, visitLdcInsn, visitLineNumber, visitLocalVariable, visitLocalVariableAnnotation, visitLookupSwitchInsn, visitMaxs, visitMethodInsn, visitMethodInsn, visitMultiANewArrayInsn, visitParameter, visitParameterAnnotation, visitTableSwitchInsn, visitTryCatchAnnotation, visitTryCatchBlock, visitTypeAnnotation, visitTypeInsn, visitVarInsn
-
Constructor Details
-
SymbolicWrapperMethodAdapter
public SymbolicWrapperMethodAdapter(org.objectweb.asm.MethodVisitor mv, String cname, String name, String desc) Constructor that calls the super from the default MethodVisitor- Parameters:
mv- Parent MethodVisitorname- The method namedesc- A string description of the parameters of the method
-
-
Method Details
-
visitCode
public void visitCode()- Overrides:
visitCodein classorg.objectweb.asm.MethodVisitor
-
visitInsn
public void visitInsn(int opcode) Visits a zero operand instruction. Adds the ending call for the concolic engine- Overrides:
visitInsnin classorg.objectweb.asm.MethodVisitor- Parameters:
opcode- the opcode of the instruction to be visited. This opcode is either NOP, ACONST_NULL, ICONST_M1, ICONST_0, ICONST_1, ICONST_2, ICONST_3, ICONST_4, ICONST_5, LCONST_0, LCONST_1, FCONST_0, FCONST_1, FCONST_2, DCONST_0, DCONST_1, IALOAD, LALOAD, FALOAD, DALOAD, AALOAD, BALOAD, CALOAD, SALOAD, IASTORE, LASTORE, FASTORE, DASTORE, AASTORE, BASTORE, CASTORE, SASTORE, POP, POP2, DUP, DUP_X1, DUP_X2, DUP2, DUP2_X1, DUP2_X2, SWAP, IADD, LADD, FADD, DADD, ISUB, LSUB, FSUB, DSUB, IMUL, LMUL, FMUL, DMUL, IDIV, LDIV, FDIV, DDIV, IREM, LREM, FREM, DREM, INEG, LNEG, FNEG, DNEG, ISHL, LSHL, ISHR, LSHR, IUSHR, LUSHR, IAND, LAND, IOR, LOR, IXOR, LXOR, I2L, I2F, I2D, L2I, L2F, L2D, F2I, F2L, F2D, D2I, D2L, D2F, I2B, I2C, I2S, LCMP, FCMPL, FCMPG, DCMPL, DCMPG, IRETURN, LRETURN, FRETURN, DRETURN, ARETURN, RETURN, ARRAYLENGTH, ATHROW, MONITORENTER, or MONITOREXIT.
-
insertHeaderIfNeeded
public void insertHeaderIfNeeded()Starts the visit of the method's code, if any (i.e. non abstract method). Adds the beginning call for the concolic engine to the method
-