net.sourceforge.cobertura.instrument

Class SecondPassMethodInstrumenter

public class SecondPassMethodInstrumenter extends NewLocalVariableMethodAdapter implements Opcodes

Field Summary
static intBOOLEAN_FALSE
static intBOOLEAN_TRUE
intcurrentJump
intcurrentLine
LabelendLabel
FirstPassMethodInstrumenterfirstPass
JumpHolderlastJump
booleanmethodStarted
intmyVariableIndex
LabelstartLabel
Constructor Summary
SecondPassMethodInstrumenter(FirstPassMethodInstrumenter firstPass)
Method Summary
voidinstrumentGetClassData()
voidinstrumentInvokeTouchJump()
voidinstrumentInvokeTouchSwitch()
LabelinstrumentIsLastJump()
voidinstrumentJumpHit(boolean branch)
voidinstrumentPutLineAndBranchNumbers()
voidinstrumentSwitchHit(int lineNumber, int switchNumber, int branch)
voidtouchBranchFalse()
voidvisitCode()
voidvisitFieldInsn(int opcode, String owner, String name, String desc)
voidvisitIincInsn(int var, int increment)
voidvisitInsn(int opcode)
voidvisitIntInsn(int opcode, int operand)
voidvisitJumpInsn(int opcode, Label label)
voidvisitLabel(Label label)
voidvisitLdcInsn(Object cst)
voidvisitLineNumber(int line, Label start)
voidvisitLookupSwitchInsn(Label dflt, int[] keys, Label[] labels)
voidvisitMaxs(int maxStack, int maxLocals)
voidvisitMethodInsn(int opcode, String owner, String name, String desc)
voidvisitMultiANewArrayInsn(String desc, int dims)
voidvisitTableSwitchInsn(int min, int max, Label dflt, Label[] labels)
voidvisitTryCatchBlock(Label start, Label end, Label handler, String type)
voidvisitTypeInsn(int opcode, String desc)
voidvisitVarInsn(int opcode, int var)

Field Detail

BOOLEAN_FALSE

private static final int BOOLEAN_FALSE

BOOLEAN_TRUE

private static final int BOOLEAN_TRUE

currentJump

private int currentJump

currentLine

private int currentLine

endLabel

private Label endLabel

firstPass

private FirstPassMethodInstrumenter firstPass

lastJump

private JumpHolder lastJump

methodStarted

private boolean methodStarted

myVariableIndex

private int myVariableIndex

startLabel

private Label startLabel

Constructor Detail

SecondPassMethodInstrumenter

public SecondPassMethodInstrumenter(FirstPassMethodInstrumenter firstPass)

Method Detail

instrumentGetClassData

private void instrumentGetClassData()

instrumentInvokeTouchJump

private void instrumentInvokeTouchJump()

instrumentInvokeTouchSwitch

private void instrumentInvokeTouchSwitch()

instrumentIsLastJump

private Label instrumentIsLastJump()

instrumentJumpHit

private void instrumentJumpHit(boolean branch)

instrumentPutLineAndBranchNumbers

private void instrumentPutLineAndBranchNumbers()

instrumentSwitchHit

private void instrumentSwitchHit(int lineNumber, int switchNumber, int branch)

touchBranchFalse

private void touchBranchFalse()

visitCode

public void visitCode()

visitFieldInsn

public void visitFieldInsn(int opcode, String owner, String name, String desc)

visitIincInsn

public void visitIincInsn(int var, int increment)

visitInsn

public void visitInsn(int opcode)

visitIntInsn

public void visitIntInsn(int opcode, int operand)

visitJumpInsn

public void visitJumpInsn(int opcode, Label label)

visitLabel

public void visitLabel(Label label)

visitLdcInsn

public void visitLdcInsn(Object cst)

visitLineNumber

public void visitLineNumber(int line, Label start)

visitLookupSwitchInsn

public void visitLookupSwitchInsn(Label dflt, int[] keys, Label[] labels)

visitMaxs

public void visitMaxs(int maxStack, int maxLocals)

visitMethodInsn

public void visitMethodInsn(int opcode, String owner, String name, String desc)

visitMultiANewArrayInsn

public void visitMultiANewArrayInsn(String desc, int dims)

visitTableSwitchInsn

public void visitTableSwitchInsn(int min, int max, Label dflt, Label[] labels)

visitTryCatchBlock

public void visitTryCatchBlock(Label start, Label end, Label handler, String type)

visitTypeInsn

public void visitTypeInsn(int opcode, String desc)

visitVarInsn

public void visitVarInsn(int opcode, int var)