public class MethodAnalyzer extends Object implements IMethodProbesVisitor
IMethodProbesVisitor that analyzes which statements and branches of
a method has been executed based on given probe data.| Constructor and Description |
|---|
MethodAnalyzer(String name,
String desc,
String signature,
boolean[] executionData)
New Method analyzer for the given probe data.
|
| Modifier and Type | Method and Description |
|---|---|
IMethodCoverage |
getCoverage()
Returns the coverage data for this method after this visitor has been
processed.
|
org.objectweb.asm.AnnotationVisitor |
visitAnnotation(String desc,
boolean visible) |
org.objectweb.asm.AnnotationVisitor |
visitAnnotationDefault() |
void |
visitAttribute(org.objectweb.asm.Attribute attr) |
void |
visitCode() |
void |
visitEnd() |
void |
visitFieldInsn(int opcode,
String owner,
String name,
String desc) |
void |
visitFrame(int type,
int nLocal,
Object[] local,
int nStack,
Object[] stack) |
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 |
visitJumpInsn(int opcode,
org.objectweb.asm.Label label) |
void |
visitJumpInsnWithProbe(int opcode,
org.objectweb.asm.Label label,
int probeId)
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 |
visitLocalVariable(String name,
String desc,
String signature,
org.objectweb.asm.Label start,
org.objectweb.asm.Label end,
int index) |
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)
Visits a LOOKUPSWITCH instruction with optional probes for each target
label.
|
void |
visitMaxs(int maxStack,
int maxLocals) |
void |
visitMethodInsn(int opcode,
String owner,
String name,
String desc) |
void |
visitMultiANewArrayInsn(String desc,
int dims) |
org.objectweb.asm.AnnotationVisitor |
visitParameterAnnotation(int parameter,
String desc,
boolean visible) |
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)
Visits a TABLESWITCH instruction with optional probes for each target
label.
|
void |
visitTryCatchBlock(org.objectweb.asm.Label start,
org.objectweb.asm.Label end,
org.objectweb.asm.Label handler,
String type) |
void |
visitTypeInsn(int opcode,
String type) |
void |
visitVarInsn(int opcode,
int var) |
public MethodAnalyzer(String name, String desc, String signature, boolean[] executionData)
name - method namedesc - description of the methodsignature - optional parameterized signatureexecutionData - recorded probe date of the containing class or
null if the class is not executed at allpublic IMethodCoverage getCoverage()
public void visitLabel(org.objectweb.asm.Label label)
visitLabel in interface org.objectweb.asm.MethodVisitorpublic void visitLineNumber(int line,
org.objectweb.asm.Label start)
visitLineNumber in interface org.objectweb.asm.MethodVisitorpublic void visitInsn(int opcode)
visitInsn in interface org.objectweb.asm.MethodVisitorpublic void visitIntInsn(int opcode,
int operand)
visitIntInsn in interface org.objectweb.asm.MethodVisitorpublic void visitVarInsn(int opcode,
int var)
visitVarInsn in interface org.objectweb.asm.MethodVisitorpublic void visitTypeInsn(int opcode,
String type)
visitTypeInsn in interface org.objectweb.asm.MethodVisitorpublic void visitFieldInsn(int opcode,
String owner,
String name,
String desc)
visitFieldInsn in interface org.objectweb.asm.MethodVisitorpublic void visitMethodInsn(int opcode,
String owner,
String name,
String desc)
visitMethodInsn in interface org.objectweb.asm.MethodVisitorpublic void visitJumpInsn(int opcode,
org.objectweb.asm.Label label)
visitJumpInsn in interface org.objectweb.asm.MethodVisitorpublic void visitLdcInsn(Object cst)
visitLdcInsn in interface org.objectweb.asm.MethodVisitorpublic void visitIincInsn(int var,
int increment)
visitIincInsn in interface org.objectweb.asm.MethodVisitorpublic void visitTableSwitchInsn(int min,
int max,
org.objectweb.asm.Label dflt,
org.objectweb.asm.Label[] labels)
visitTableSwitchInsn in interface org.objectweb.asm.MethodVisitorpublic void visitLookupSwitchInsn(org.objectweb.asm.Label dflt,
int[] keys,
org.objectweb.asm.Label[] labels)
visitLookupSwitchInsn in interface org.objectweb.asm.MethodVisitorpublic void visitMultiANewArrayInsn(String desc, int dims)
visitMultiANewArrayInsn in interface org.objectweb.asm.MethodVisitorpublic void visitProbe(int probeId)
IMethodProbesVisitorvisitProbe in interface IMethodProbesVisitorprobeId - id of the probe to insertpublic void visitJumpInsnWithProbe(int opcode,
org.objectweb.asm.Label label,
int probeId)
IMethodProbesVisitorvisitJumpInsnWithProbe in interface IMethodProbesVisitoropcode - 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 probeMethodVisitor.visitJumpInsn(int, Label)public void visitInsnWithProbe(int opcode,
int probeId)
IMethodProbesVisitorvisitInsnWithProbe in interface IMethodProbesVisitoropcode - 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)
IMethodProbesVisitorLabelInfo.getProbeId(Label).visitTableSwitchInsnWithProbes in interface IMethodProbesVisitormin - 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.MethodVisitor.visitTableSwitchInsn(int, int, Label, Label[])public void visitLookupSwitchInsnWithProbes(org.objectweb.asm.Label dflt,
int[] keys,
org.objectweb.asm.Label[] labels)
IMethodProbesVisitorLabelInfo.getProbeId(Label).visitLookupSwitchInsnWithProbes in interface IMethodProbesVisitordflt - 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.MethodVisitor.visitLookupSwitchInsn(Label, int[], Label[])public void visitEnd()
visitEnd in interface org.objectweb.asm.MethodVisitorpublic org.objectweb.asm.AnnotationVisitor visitAnnotationDefault()
visitAnnotationDefault in interface org.objectweb.asm.MethodVisitorpublic org.objectweb.asm.AnnotationVisitor visitAnnotation(String desc, boolean visible)
visitAnnotation in interface org.objectweb.asm.MethodVisitorpublic org.objectweb.asm.AnnotationVisitor visitParameterAnnotation(int parameter,
String desc,
boolean visible)
visitParameterAnnotation in interface org.objectweb.asm.MethodVisitorpublic void visitAttribute(org.objectweb.asm.Attribute attr)
visitAttribute in interface org.objectweb.asm.MethodVisitorpublic void visitCode()
visitCode in interface org.objectweb.asm.MethodVisitorpublic void visitTryCatchBlock(org.objectweb.asm.Label start,
org.objectweb.asm.Label end,
org.objectweb.asm.Label handler,
String type)
visitTryCatchBlock in interface org.objectweb.asm.MethodVisitorpublic void visitFrame(int type,
int nLocal,
Object[] local,
int nStack,
Object[] stack)
visitFrame in interface org.objectweb.asm.MethodVisitorpublic void visitLocalVariable(String name, String desc, String signature, org.objectweb.asm.Label start, org.objectweb.asm.Label end, int index)
visitLocalVariable in interface org.objectweb.asm.MethodVisitorpublic void visitMaxs(int maxStack,
int maxLocals)
visitMaxs in interface org.objectweb.asm.MethodVisitorCopyright © 2009-2012 Mountainminds GmbH & Co. KG. All Rights Reserved.