|
|||||||||
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, INVOKEDYNAMIC, INVOKEDYNAMIC_OWNER, 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 |
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.MethodVisitor
visitJumpInsn
in class org.objectweb.asm.MethodAdapter
public void visitLineNumber(int line, org.objectweb.asm.Label start)
visitLineNumber
in interface org.objectweb.asm.MethodVisitor
visitLineNumber
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.MethodVisitor
visitMethodInsn
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.MethodVisitor
visitFieldInsn
in class org.objectweb.asm.MethodAdapter
public void visitIincInsn(int var, int increment)
visitIincInsn
in interface org.objectweb.asm.MethodVisitor
visitIincInsn
in class NewLocalVariableMethodAdapter
public void visitInsn(int opcode)
visitInsn
in interface org.objectweb.asm.MethodVisitor
visitInsn
in class org.objectweb.asm.MethodAdapter
public void visitIntInsn(int opcode, int operand)
visitIntInsn
in interface org.objectweb.asm.MethodVisitor
visitIntInsn
in class org.objectweb.asm.MethodAdapter
public void visitLabel(org.objectweb.asm.Label label)
visitLabel
in interface org.objectweb.asm.MethodVisitor
visitLabel
in class org.objectweb.asm.MethodAdapter
public void visitLdcInsn(java.lang.Object cst)
visitLdcInsn
in interface org.objectweb.asm.MethodVisitor
visitLdcInsn
in class org.objectweb.asm.MethodAdapter
public void visitMultiANewArrayInsn(java.lang.String desc, int dims)
visitMultiANewArrayInsn
in interface org.objectweb.asm.MethodVisitor
visitMultiANewArrayInsn
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.MethodVisitor
visitLookupSwitchInsn
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.MethodVisitor
visitTableSwitchInsn
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.MethodVisitor
visitTryCatchBlock
in class org.objectweb.asm.MethodAdapter
public void visitTypeInsn(int opcode, java.lang.String desc)
visitTypeInsn
in interface org.objectweb.asm.MethodVisitor
visitTypeInsn
in class org.objectweb.asm.MethodAdapter
public void visitVarInsn(int opcode, int var)
visitVarInsn
in interface org.objectweb.asm.MethodVisitor
visitVarInsn
in class NewLocalVariableMethodAdapter
public void visitCode()
visitCode
in interface org.objectweb.asm.MethodVisitor
visitCode
in class org.objectweb.asm.MethodAdapter
private 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.MethodVisitor
visitMaxs
in class org.objectweb.asm.MethodAdapter
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |