Class InvocationBlockModifier
java.lang.Object
mockit.asm.BaseWriter
mockit.asm.methods.MethodVisitor
mockit.asm.methods.WrappingMethodVisitor
mockit.internal.expectations.transformation.InvocationBlockModifier
-
Field Summary
Fields inherited from class WrappingMethodVisitor
mwFields inherited from class BaseWriter
annotations, classOrMemberAccess, cp -
Method Summary
Modifier and TypeMethodDescriptionvoidvisitFieldInsn(@NonNegative int opcode, String owner, String name, String desc) Visits a field access instruction, which loads or stores the value of a field of an object or a class.voidvisitInsn(@NonNegative int opcode) Visits a zero operand instruction.voidvisitIntInsn(@NonNegative int opcode, int operand) Visits an instruction with a singleintoperand.voidvisitJumpInsn(@NonNegative int opcode, Label label) Visits a jump instruction.voidvisitLabel(Label label) Visits a label, which designates the instruction that will be visited just after it.voidvisitLdcInsn(Object cst) Visits aLDCinstruction.voidvisitLocalVariable(String name, String desc, String signature, Label start, Label end, @NonNegative int index) Visits a local variable declaration.voidvisitLookupSwitchInsn(Label dflt, int[] keys, Label[] labels) Visits aLOOKUPSWITCHinstruction.voidvisitMethodInsn(@NonNegative int opcode, String owner, String name, String desc, boolean itf) Visits a method invocation instruction, which invokes a method or constructor.voidvisitMultiANewArrayInsn(String desc, @NonNegative int dims) Visits aMULTIANEWARRAYinstruction.voidvisitTableSwitchInsn(int min, int max, Label dflt, Label... labels) Visits aTABLESWITCHinstruction.voidvisitTypeInsn(@NonNegative int opcode, String typeDesc) Visits a type instruction, which takes the internal name of a class as parameter.voidvisitVarInsn(@NonNegative int opcode, @NonNegative int varIndex) Visits a local variable instruction, which loads or stores the value of a local variable.Methods inherited from class WrappingMethodVisitor
visitAnnotation, visitIincInsn, visitInvokeDynamicInsn, visitLineNumber, visitMaxStack, visitParameterAnnotation, visitTryCatchBlockMethods inherited from class BaseWriter
createMarkerAttributes, getAnnotationsSize, getConstantPoolGeneration, getMarkerAttributeCount, getMarkerAttributesSize, put, put, putAccess, putAnnotations, putMarkerAttributes, visitEnd
-
Method Details
-
visitFieldInsn
public void visitFieldInsn(@NonNegative int opcode, @NonNull String owner, @NonNull String name, @NonNull String desc) Description copied from class:MethodVisitorVisits a field access instruction, which loads or stores the value of a field of an object or a class.- Overrides:
visitFieldInsnin classWrappingMethodVisitor- Parameters:
opcode- the opcode of the instruction to be visited: GETSTATIC, PUTSTATIC, GETFIELD, or PUTFIELDowner- the internal name of the field's owner classname- the field's namedesc- the field's descriptor (seeJavaType)
-
visitMethodInsn
public void visitMethodInsn(@NonNegative int opcode, @NonNull String owner, @NonNull String name, @NonNull String desc, boolean itf) Description copied from class:MethodVisitorVisits a method invocation instruction, which invokes a method or constructor.- Overrides:
visitMethodInsnin classWrappingMethodVisitor- Parameters:
opcode- the opcode of the instruction: INVOKEVIRTUAL, INVOKESPECIAL, INVOKESTATIC, or INVOKEINTERFACEowner- the internal name of the method's owner classname- the method's namedesc- the method's descriptor (seeJavaType)itf- whether the method's owner class is an interface or not
-
visitLabel
Description copied from class:MethodVisitorVisits a label, which designates the instruction that will be visited just after it.- Overrides:
visitLabelin classWrappingMethodVisitor
-
visitTypeInsn
Description copied from class:MethodVisitorVisits a type instruction, which takes the internal name of a class as parameter.- Overrides:
visitTypeInsnin classWrappingMethodVisitor- Parameters:
opcode- the opcode of the instruction to be visited: NEW, ANEWARRAY, CHECKCAST, or INSTANCEOFtypeDesc- the operand of the instruction, which is the internal name of an object or array class
-
visitIntInsn
public void visitIntInsn(@NonNegative int opcode, int operand) Description copied from class:MethodVisitorVisits an instruction with a singleintoperand.- Overrides:
visitIntInsnin classWrappingMethodVisitor- Parameters:
opcode- the opcode of the instruction to be visited: BIPUSH, SIPUSH, or NEWARRAYoperand- the operand of the instruction to be visited: when opcode is BIPUSH, it's betweenByte.MIN_VALUEandByte.MAX_VALUE; when opcode is SIPUSH, it's betweenShort.MIN_VALUEandShort.MAX_VALUE; when opcode is NEWARRAY, the operand value is one of theArrayElementTypevalues
-
visitVarInsn
public void visitVarInsn(@NonNegative int opcode, @NonNegative int varIndex) Description copied from class:MethodVisitorVisits a local variable instruction, which loads or stores the value of a local variable.- Overrides:
visitVarInsnin classWrappingMethodVisitor- Parameters:
opcode- the opcode of the local variable instruction to be visited: ILOAD, LLOAD, FLOAD, DLOAD, ALOAD, ISTORE, LSTORE, FSTORE, DSTORE, ASTORE or RETvarIndex- the operand of the instruction to be visited, which is the index of a local variable
-
visitLdcInsn
Description copied from class:MethodVisitorVisits aLDCinstruction.- Overrides:
visitLdcInsnin classWrappingMethodVisitor- Parameters:
cst- the constant to be loaded on the stack, which must be a non nullInteger/Float/Long/Double/String, anObjectTypeorArrayTypefor.classconstants, aMethodType, or aMethodHandle
-
visitJumpInsn
Description copied from class:MethodVisitorVisits a jump instruction.- Overrides:
visitJumpInsnin classWrappingMethodVisitor- Parameters:
opcode- the opcode of the jump instruction to be visited: IFEQ, IFNE, IFLT, IFGE, IFGT, IFLE, IF_ICMPEQ, IF_ICMPNE, IF_ICMPLT, IF_ICMPGE, IF_ICMPGT, IF_ICMPLE, IF_ACMPEQ, IF_ACMPNE, GOTO, JSR, IFNULL, or IFNONNULLlabel- the operand of the instruction to be visited, which is a label that designates the instruction to which the jump instruction may jump
-
visitTableSwitchInsn
Description copied from class:MethodVisitorVisits aTABLESWITCHinstruction.- Overrides:
visitTableSwitchInsnin classWrappingMethodVisitor- Parameters:
min- the minimum key valuemax- the maximum key valuedflt- beginning of the default handler blocklabels- beginnings of the handler blocks;labels[i]is the beginning of the handler block for themin + ikey
-
visitLookupSwitchInsn
public void visitLookupSwitchInsn(@NonNull Label dflt, @NonNull int[] keys, @NonNull Label[] labels) Description copied from class:MethodVisitorVisits aLOOKUPSWITCHinstruction.- Overrides:
visitLookupSwitchInsnin classWrappingMethodVisitor- Parameters:
dflt- beginning of the default handler blockkeys- the values of the keyslabels- beginnings of the handler blocks;labels[i]is the beginning of the handler block for thekeys[i]
-
visitMultiANewArrayInsn
Description copied from class:MethodVisitorVisits aMULTIANEWARRAYinstruction.- Overrides:
visitMultiANewArrayInsnin classWrappingMethodVisitor- Parameters:
desc- an array type descriptor (seeArrayType)dims- number of dimensions of the array to allocate
-
visitInsn
public void visitInsn(@NonNegative int opcode) Description copied from class:MethodVisitorVisits a zero operand instruction.- Overrides:
visitInsnin classWrappingMethodVisitor- Parameters:
opcode- the opcode of the instruction to be visited: NOP, ACONST_NULL, ICONST_M1, ICONST_0 ICONST_0 to ICONST_5, LCONST_0, LCONST_1, FCONST_0 to 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
-
visitLocalVariable
public void visitLocalVariable(@NonNull String name, @NonNull String desc, @Nullable String signature, @NonNull Label start, @NonNull Label end, @NonNegative int index) Description copied from class:MethodVisitorVisits a local variable declaration.- Overrides:
visitLocalVariablein classWrappingMethodVisitor- Parameters:
name- the name of the local variabledesc- the type descriptor of the local variablesignature- the type signature of the local variable;nullwhen the local variable type does not use generic typesstart- the first instruction corresponding to the scope of this local variable (inclusive)end- the last instruction corresponding to the scope of this local variable (exclusive)index- the local variable's index
-