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
ConstructorDescriptionSymbolicWrapperMethodAdapter
(org.objectweb.asm.MethodVisitor mv, String cname, String name, String desc) Constructor that calls the super from the default MethodVisitor -
Method Summary
Modifier and TypeMethodDescriptionvoid
Starts the visit of the method's code, if any (i.e.void
void
visitInsn
(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, symbolicString
Methods 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:
visitCode
in classorg.objectweb.asm.MethodVisitor
-
visitInsn
public void visitInsn(int opcode) Visits a zero operand instruction. Adds the ending call for the concolic engine- Overrides:
visitInsn
in 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
-