|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.objectweb.asm.MethodAdapter
net.sourceforge.cobertura.instrument.NewLocalVariableMethodAdapter
net.sourceforge.cobertura.instrument.SecondPassMethodInstrumenter
public class SecondPassMethodInstrumenter
| Field Summary | |
|---|---|
private static int |
BOOLEAN_FALSE
|
private static int |
BOOLEAN_TRUE
|
private int |
currentJump
|
private int |
currentLine
|
private org.objectweb.asm.Label |
endLabel
|
private FirstPassMethodInstrumenter |
firstPass
|
private JumpHolder |
lastJump
|
private boolean |
methodStarted
|
private int |
myVariableIndex
|
private org.objectweb.asm.Label |
startLabel
|
| Fields inherited from class net.sourceforge.cobertura.instrument.NewLocalVariableMethodAdapter |
|---|
addedStackWords, firstStackVariable |
| Fields inherited from class org.objectweb.asm.MethodAdapter |
|---|
mv |
| Fields inherited from interface org.objectweb.asm.Opcodes |
|---|
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, 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, 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, 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 |
| Constructor Summary | |
|---|---|
SecondPassMethodInstrumenter(FirstPassMethodInstrumenter firstPass)
|
|
| Method Summary | |
|---|---|
private void |
instrumentGetClassData()
|
private void |
instrumentInvokeTouchJump()
|
private void |
instrumentInvokeTouchSwitch()
|
private org.objectweb.asm.Label |
instrumentIsLastJump()
|
private void |
instrumentJumpHit(boolean branch)
|
private void |
instrumentPutLineAndBranchNumbers()
|
private void |
instrumentSwitchHit(int lineNumber,
int switchNumber,
int branch)
|
private void |
touchBranchFalse()
|
void |
visitCode()
|
void |
visitFieldInsn(int opcode,
java.lang.String owner,
java.lang.String name,
java.lang.String desc)
|
void |
visitIincInsn(int var,
int increment)
|
void |
visitInsn(int opcode)
|
void |
visitIntInsn(int opcode,
int operand)
|
void |
visitJumpInsn(int opcode,
org.objectweb.asm.Label label)
|
void |
visitLabel(org.objectweb.asm.Label label)
|
void |
visitLdcInsn(java.lang.Object cst)
|
void |
visitLineNumber(int line,
org.objectweb.asm.Label start)
|
void |
visitLookupSwitchInsn(org.objectweb.asm.Label dflt,
int[] keys,
org.objectweb.asm.Label[] labels)
|
void |
visitMaxs(int maxStack,
int maxLocals)
|
void |
visitMethodInsn(int opcode,
java.lang.String owner,
java.lang.String name,
java.lang.String desc)
|
void |
visitMultiANewArrayInsn(java.lang.String desc,
int dims)
|
void |
visitTableSwitchInsn(int min,
int max,
org.objectweb.asm.Label dflt,
org.objectweb.asm.Label[] labels)
|
void |
visitTryCatchBlock(org.objectweb.asm.Label start,
org.objectweb.asm.Label end,
org.objectweb.asm.Label handler,
java.lang.String type)
|
void |
visitTypeInsn(int opcode,
java.lang.String desc)
|
void |
visitVarInsn(int opcode,
int var)
|
| Methods inherited from class net.sourceforge.cobertura.instrument.NewLocalVariableMethodAdapter |
|---|
getAddedStackWords, getFirstStackVariable, visitLocalVariable |
| Methods inherited from class org.objectweb.asm.MethodAdapter |
|---|
visitAnnotation, visitAnnotationDefault, visitAttribute, visitEnd, visitFrame, visitParameterAnnotation |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
private int currentLine
private int currentJump
private boolean methodStarted
private int myVariableIndex
private org.objectweb.asm.Label startLabel
private org.objectweb.asm.Label endLabel
private JumpHolder lastJump
private FirstPassMethodInstrumenter firstPass
private static final int BOOLEAN_TRUE
private static final int BOOLEAN_FALSE
| Constructor Detail |
|---|
public SecondPassMethodInstrumenter(FirstPassMethodInstrumenter firstPass)
| Method Detail |
|---|
public void visitJumpInsn(int opcode,
org.objectweb.asm.Label label)
visitJumpInsn in interface org.objectweb.asm.MethodVisitorvisitJumpInsn in class org.objectweb.asm.MethodAdapter
public void visitLineNumber(int line,
org.objectweb.asm.Label start)
visitLineNumber in interface org.objectweb.asm.MethodVisitorvisitLineNumber in class org.objectweb.asm.MethodAdapter
public void visitMethodInsn(int opcode,
java.lang.String owner,
java.lang.String name,
java.lang.String desc)
visitMethodInsn in interface org.objectweb.asm.MethodVisitorvisitMethodInsn in class org.objectweb.asm.MethodAdapter
public void visitFieldInsn(int opcode,
java.lang.String owner,
java.lang.String name,
java.lang.String desc)
visitFieldInsn in interface org.objectweb.asm.MethodVisitorvisitFieldInsn in class org.objectweb.asm.MethodAdapter
public void visitIincInsn(int var,
int increment)
visitIincInsn in interface org.objectweb.asm.MethodVisitorvisitIincInsn in class NewLocalVariableMethodAdapterpublic void visitInsn(int opcode)
visitInsn in interface org.objectweb.asm.MethodVisitorvisitInsn in class org.objectweb.asm.MethodAdapter
public void visitIntInsn(int opcode,
int operand)
visitIntInsn in interface org.objectweb.asm.MethodVisitorvisitIntInsn in class org.objectweb.asm.MethodAdapterpublic void visitLabel(org.objectweb.asm.Label label)
visitLabel in interface org.objectweb.asm.MethodVisitorvisitLabel in class org.objectweb.asm.MethodAdapterpublic void visitLdcInsn(java.lang.Object cst)
visitLdcInsn in interface org.objectweb.asm.MethodVisitorvisitLdcInsn in class org.objectweb.asm.MethodAdapter
public void visitMultiANewArrayInsn(java.lang.String desc,
int dims)
visitMultiANewArrayInsn in interface org.objectweb.asm.MethodVisitorvisitMultiANewArrayInsn in class org.objectweb.asm.MethodAdapter
public void visitLookupSwitchInsn(org.objectweb.asm.Label dflt,
int[] keys,
org.objectweb.asm.Label[] labels)
visitLookupSwitchInsn in interface org.objectweb.asm.MethodVisitorvisitLookupSwitchInsn in class org.objectweb.asm.MethodAdapter
public void visitTableSwitchInsn(int min,
int max,
org.objectweb.asm.Label dflt,
org.objectweb.asm.Label[] labels)
visitTableSwitchInsn in interface org.objectweb.asm.MethodVisitorvisitTableSwitchInsn in class org.objectweb.asm.MethodAdapter
public void visitTryCatchBlock(org.objectweb.asm.Label start,
org.objectweb.asm.Label end,
org.objectweb.asm.Label handler,
java.lang.String type)
visitTryCatchBlock in interface org.objectweb.asm.MethodVisitorvisitTryCatchBlock in class org.objectweb.asm.MethodAdapter
public void visitTypeInsn(int opcode,
java.lang.String desc)
visitTypeInsn in interface org.objectweb.asm.MethodVisitorvisitTypeInsn in class org.objectweb.asm.MethodAdapter
public void visitVarInsn(int opcode,
int var)
visitVarInsn in interface org.objectweb.asm.MethodVisitorvisitVarInsn in class NewLocalVariableMethodAdapterpublic void visitCode()
visitCode in interface org.objectweb.asm.MethodVisitorvisitCode in class org.objectweb.asm.MethodAdapterprivate void touchBranchFalse()
private void instrumentGetClassData()
private void instrumentSwitchHit(int lineNumber,
int switchNumber,
int branch)
private void instrumentJumpHit(boolean branch)
private void instrumentInvokeTouchJump()
private void instrumentInvokeTouchSwitch()
private void instrumentPutLineAndBranchNumbers()
private org.objectweb.asm.Label instrumentIsLastJump()
public void visitMaxs(int maxStack,
int maxLocals)
visitMaxs in interface org.objectweb.asm.MethodVisitorvisitMaxs in class org.objectweb.asm.MethodAdapter
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||