Package org.jacoco.core.internal.flow
Class MethodProbesAdapter
java.lang.Object
org.objectweb.asm.MethodVisitor
org.jacoco.core.internal.flow.MethodProbesAdapter
public final class MethodProbesAdapter
extends org.objectweb.asm.MethodVisitor
Adapter that creates additional visitor events for probes to be inserted into
a method.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate org.objectweb.asm.commons.AnalyzerAdapter
private final IProbeIdGenerator
private final MethodProbesVisitor
private final Map
<org.objectweb.asm.Label, org.objectweb.asm.Label> Fields inherited from class org.objectweb.asm.MethodVisitor
api, mv
-
Constructor Summary
ConstructorsConstructorDescriptionMethodProbesAdapter
(MethodProbesVisitor probesVisitor, IProbeIdGenerator idGenerator) Create a new adapter instance. -
Method Summary
Modifier and TypeMethodDescriptionprivate IFrame
frame
(int popCount) private org.objectweb.asm.Label
getTryCatchLabel
(org.objectweb.asm.Label label) private int
jumpPopCount
(int opcode) private boolean
markLabels
(org.objectweb.asm.Label dflt, org.objectweb.asm.Label[] labels) void
setAnalyzer
(org.objectweb.asm.commons.AnalyzerAdapter analyzer) If an analyzer is setIFrame
handles are calculated and emitted to the probes methods.void
visitInsn
(int opcode) void
visitJumpInsn
(int opcode, org.objectweb.asm.Label label) void
visitLabel
(org.objectweb.asm.Label label) void
visitLookupSwitchInsn
(org.objectweb.asm.Label dflt, int[] keys, org.objectweb.asm.Label[] labels) 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, String type) Methods inherited from class org.objectweb.asm.MethodVisitor
getDelegate, visitAnnotableParameterCount, visitAnnotation, visitAnnotationDefault, visitAttribute, visitCode, visitEnd, visitFieldInsn, visitFrame, visitIincInsn, visitInsnAnnotation, visitIntInsn, visitInvokeDynamicInsn, visitLdcInsn, visitLineNumber, visitLocalVariable, visitLocalVariableAnnotation, visitMaxs, visitMethodInsn, visitMethodInsn, visitMultiANewArrayInsn, visitParameter, visitParameterAnnotation, visitTryCatchAnnotation, visitTypeAnnotation, visitTypeInsn, visitVarInsn
-
Field Details
-
probesVisitor
-
idGenerator
-
analyzer
private org.objectweb.asm.commons.AnalyzerAdapter analyzer -
tryCatchProbeLabels
-
-
Constructor Details
-
MethodProbesAdapter
Create a new adapter instance.- Parameters:
probesVisitor
- visitor to delegate toidGenerator
- generator for unique probe ids
-
-
Method Details
-
setAnalyzer
public void setAnalyzer(org.objectweb.asm.commons.AnalyzerAdapter analyzer) If an analyzer is setIFrame
handles are calculated and emitted to the probes methods.- Parameters:
analyzer
- optional analyzer to set
-
visitTryCatchBlock
public void visitTryCatchBlock(org.objectweb.asm.Label start, org.objectweb.asm.Label end, org.objectweb.asm.Label handler, String type) - Overrides:
visitTryCatchBlock
in classorg.objectweb.asm.MethodVisitor
-
getTryCatchLabel
private org.objectweb.asm.Label getTryCatchLabel(org.objectweb.asm.Label label) -
visitLabel
public void visitLabel(org.objectweb.asm.Label label) - Overrides:
visitLabel
in classorg.objectweb.asm.MethodVisitor
-
visitInsn
public void visitInsn(int opcode) - Overrides:
visitInsn
in classorg.objectweb.asm.MethodVisitor
-
visitJumpInsn
public void visitJumpInsn(int opcode, org.objectweb.asm.Label label) - Overrides:
visitJumpInsn
in classorg.objectweb.asm.MethodVisitor
-
jumpPopCount
private int jumpPopCount(int opcode) -
visitLookupSwitchInsn
public void visitLookupSwitchInsn(org.objectweb.asm.Label dflt, int[] keys, org.objectweb.asm.Label[] labels) - Overrides:
visitLookupSwitchInsn
in classorg.objectweb.asm.MethodVisitor
-
visitTableSwitchInsn
public void visitTableSwitchInsn(int min, int max, org.objectweb.asm.Label dflt, org.objectweb.asm.Label... labels) - Overrides:
visitTableSwitchInsn
in classorg.objectweb.asm.MethodVisitor
-
markLabels
private boolean markLabels(org.objectweb.asm.Label dflt, org.objectweb.asm.Label[] labels) -
frame
-