|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.objectweb.asm.MethodVisitor
org.jacoco.core.internal.flow.MethodProbesVisitor
org.jacoco.core.internal.analysis.MethodAnalyzer
public class MethodAnalyzer
A MethodProbesVisitor that builds the Instructions of a
method to calculate the detailed execution status.
| Field Summary |
|---|
| Fields inherited from class org.objectweb.asm.MethodVisitor |
|---|
api, mv |
| Method Summary | |
|---|---|
void |
accept(org.objectweb.asm.tree.MethodNode methodNode,
org.objectweb.asm.MethodVisitor methodVisitor)
This method can be overwritten to hook into the process of emitting the instructions of this method as visitX() events. |
void |
visitFieldInsn(int opcode,
String owner,
String name,
String desc)
|
void |
visitIincInsn(int var,
int increment)
|
void |
visitInsn(int opcode)
|
void |
visitInsnWithProbe(int opcode,
int probeId)
Visits a zero operand instruction with a probe. |
void |
visitIntInsn(int opcode,
int operand)
|
void |
visitInvokeDynamicInsn(String name,
String desc,
org.objectweb.asm.Handle bsm,
Object... bsmArgs)
|
void |
visitJumpInsn(int opcode,
org.objectweb.asm.Label label)
|
void |
visitJumpInsnWithProbe(int opcode,
org.objectweb.asm.Label label,
int probeId,
IFrame frame)
Visits a jump instruction. |
void |
visitLabel(org.objectweb.asm.Label label)
|
void |
visitLdcInsn(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 |
visitLookupSwitchInsnWithProbes(org.objectweb.asm.Label dflt,
int[] keys,
org.objectweb.asm.Label[] labels,
IFrame frame)
Visits a LOOKUPSWITCH instruction with optional probes for each target label. |
void |
visitMethodInsn(int opcode,
String owner,
String name,
String desc,
boolean itf)
|
void |
visitMultiANewArrayInsn(String desc,
int dims)
|
void |
visitProbe(int probeId)
Visits an unconditional probe that should be inserted at the current position. |
void |
visitTableSwitchInsn(int min,
int max,
org.objectweb.asm.Label dflt,
org.objectweb.asm.Label... labels)
|
void |
visitTableSwitchInsnWithProbes(int min,
int max,
org.objectweb.asm.Label dflt,
org.objectweb.asm.Label[] labels,
IFrame frame)
Visits a TABLESWITCH instruction with optional probes for each target label. |
void |
visitTypeInsn(int opcode,
String type)
|
void |
visitVarInsn(int opcode,
int var)
|
| Methods inherited from class org.objectweb.asm.MethodVisitor |
|---|
getDelegate, visitAnnotableParameterCount, visitAnnotation, visitAnnotationDefault, visitAttribute, visitCode, visitEnd, visitFrame, visitInsnAnnotation, visitLocalVariable, visitLocalVariableAnnotation, visitMaxs, visitMethodInsn, visitParameter, visitParameterAnnotation, visitTryCatchAnnotation, visitTryCatchBlock, visitTypeAnnotation |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Method Detail |
|---|
public void accept(org.objectweb.asm.tree.MethodNode methodNode,
org.objectweb.asm.MethodVisitor methodVisitor)
MethodProbesVisitorvisitX() events.
accept in class MethodProbesVisitormethodNode - the content to emitmethodVisitor - A visitor to emit the content to. Note that this is not
necessarily this visitor instance but some wrapper which
calculates the probes.public void visitLabel(org.objectweb.asm.Label label)
visitLabel in class org.objectweb.asm.MethodVisitor
public void visitLineNumber(int line,
org.objectweb.asm.Label start)
visitLineNumber in class org.objectweb.asm.MethodVisitorpublic void visitInsn(int opcode)
visitInsn in class org.objectweb.asm.MethodVisitor
public void visitIntInsn(int opcode,
int operand)
visitIntInsn in class org.objectweb.asm.MethodVisitor
public void visitVarInsn(int opcode,
int var)
visitVarInsn in class org.objectweb.asm.MethodVisitor
public void visitTypeInsn(int opcode,
String type)
visitTypeInsn in class org.objectweb.asm.MethodVisitor
public void visitFieldInsn(int opcode,
String owner,
String name,
String desc)
visitFieldInsn in class org.objectweb.asm.MethodVisitor
public void visitMethodInsn(int opcode,
String owner,
String name,
String desc,
boolean itf)
visitMethodInsn in class org.objectweb.asm.MethodVisitor
public void visitInvokeDynamicInsn(String name,
String desc,
org.objectweb.asm.Handle bsm,
Object... bsmArgs)
visitInvokeDynamicInsn in class org.objectweb.asm.MethodVisitor
public void visitJumpInsn(int opcode,
org.objectweb.asm.Label label)
visitJumpInsn in class org.objectweb.asm.MethodVisitorpublic void visitLdcInsn(Object cst)
visitLdcInsn in class org.objectweb.asm.MethodVisitor
public void visitIincInsn(int var,
int increment)
visitIincInsn in class org.objectweb.asm.MethodVisitor
public void visitTableSwitchInsn(int min,
int max,
org.objectweb.asm.Label dflt,
org.objectweb.asm.Label... labels)
visitTableSwitchInsn in class org.objectweb.asm.MethodVisitor
public void visitLookupSwitchInsn(org.objectweb.asm.Label dflt,
int[] keys,
org.objectweb.asm.Label[] labels)
visitLookupSwitchInsn in class org.objectweb.asm.MethodVisitor
public void visitMultiANewArrayInsn(String desc,
int dims)
visitMultiANewArrayInsn in class org.objectweb.asm.MethodVisitorpublic void visitProbe(int probeId)
MethodProbesVisitor
visitProbe in class MethodProbesVisitorprobeId - id of the probe to insert
public void visitJumpInsnWithProbe(int opcode,
org.objectweb.asm.Label label,
int probeId,
IFrame frame)
MethodProbesVisitor
visitJumpInsnWithProbe in class MethodProbesVisitoropcode - the opcode of the type instruction to be visited. This opcode
is either IFEQ, IFNE, IFLT, IFGE, IFGT, IFLE, IF_ICMPEQ,
IF_ICMPNE, IF_ICMPLT, IF_ICMPGE, IF_ICMPGT, IF_ICMPLE,
IF_ACMPEQ, IF_ACMPNE, GOTO, IFNULL or IFNONNULL.label - the operand of the instruction to be visited. This operand is
a label that designates the instruction to which the jump
instruction may jump.probeId - id of the probeframe - stackmap frame status after the execution of the jump
instruction. The instance is only valid with the call of this
method.MethodVisitor.visitJumpInsn(int, Label)
public void visitInsnWithProbe(int opcode,
int probeId)
MethodProbesVisitor
visitInsnWithProbe in class MethodProbesVisitoropcode - the opcode of the instruction to be visited. This opcode is
either IRETURN, LRETURN, FRETURN, DRETURN, ARETURN, RETURN or
ATHROW.probeId - id of the probeMethodVisitor.visitInsn(int)
public void visitTableSwitchInsnWithProbes(int min,
int max,
org.objectweb.asm.Label dflt,
org.objectweb.asm.Label[] labels,
IFrame frame)
MethodProbesVisitorLabelInfo.getProbeId(Label).
visitTableSwitchInsnWithProbes in class MethodProbesVisitormin - the minimum key value.max - the maximum key value.dflt - beginning of the default handler block.labels - beginnings of the handler blocks. labels[i] is
the beginning of the handler block for the
min + i key.frame - stackmap frame status after the execution of the switch
instruction. The instance is only valid with the call of this
method.MethodVisitor.visitTableSwitchInsn(int, int, Label, Label[])
public void visitLookupSwitchInsnWithProbes(org.objectweb.asm.Label dflt,
int[] keys,
org.objectweb.asm.Label[] labels,
IFrame frame)
MethodProbesVisitorLabelInfo.getProbeId(Label).
visitLookupSwitchInsnWithProbes in class MethodProbesVisitordflt - beginning of the default handler block.keys - the values of the keys.labels - beginnings of the handler blocks. labels[i] is
the beginning of the handler block for the
keys[i] key.frame - stackmap frame status after the execution of the switch
instruction. The instance is only valid with the call of this
method.MethodVisitor.visitLookupSwitchInsn(Label, int[], Label[])
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||