public abstract class BaseLineFilter extends CoverageFilter
The filter tries to remove a line after the corresponding block is finished. The line is not removed if
setHasInstructions() callsshouldRemoveLine()setHasInstructions() by default. When processing the expected instruction,
redirect the super call to the parent visitor MethodVisitor.mv. One should call setHasInstructions()
when the processed instruction is unexpected in the overriding visitor.myContext| Constructor and Description |
|---|
BaseLineFilter() |
| Modifier and Type | Method and Description |
|---|---|
protected int |
getCurrentLine() |
protected boolean |
hasInstructions() |
protected void |
onLineRemoved() |
protected void |
setHasInstructions() |
protected abstract boolean |
shouldRemoveLine() |
void |
visitEnd() |
void |
visitFieldInsn(int opcode,
java.lang.String owner,
java.lang.String name,
java.lang.String descriptor) |
void |
visitIincInsn(int varIndex,
int increment) |
void |
visitInsn(int opcode) |
void |
visitIntInsn(int opcode,
int operand) |
void |
visitInvokeDynamicInsn(java.lang.String name,
java.lang.String descriptor,
org.jetbrains.coverage.org.objectweb.asm.Handle bootstrapMethodHandle,
java.lang.Object... bootstrapMethodArguments) |
void |
visitJumpInsn(int opcode,
org.jetbrains.coverage.org.objectweb.asm.Label label) |
void |
visitLdcInsn(java.lang.Object value) |
void |
visitLineNumber(int line,
org.jetbrains.coverage.org.objectweb.asm.Label start) |
void |
visitLookupSwitchInsn(org.jetbrains.coverage.org.objectweb.asm.Label dflt,
int[] keys,
org.jetbrains.coverage.org.objectweb.asm.Label[] labels) |
void |
visitMethodInsn(int opcode,
java.lang.String owner,
java.lang.String name,
java.lang.String descriptor,
boolean isInterface) |
void |
visitMultiANewArrayInsn(java.lang.String descriptor,
int numDimensions) |
void |
visitTableSwitchInsn(int min,
int max,
org.jetbrains.coverage.org.objectweb.asm.Label dflt,
org.jetbrains.coverage.org.objectweb.asm.Label... labels) |
void |
visitTypeInsn(int opcode,
java.lang.String type) |
void |
visitVarInsn(int opcode,
int varIndex) |
protected boolean |
wasLineSeenBefore() |
initFilter, isApplicablegetDelegate, visitAnnotableParameterCount, visitAnnotation, visitAnnotationDefault, visitAttribute, visitCode, visitFrame, visitInsnAnnotation, visitLabel, visitLocalVariable, visitLocalVariableAnnotation, visitMaxs, visitMethodInsn, visitParameter, visitParameterAnnotation, visitTryCatchAnnotation, visitTryCatchBlock, visitTypeAnnotationprotected abstract boolean shouldRemoveLine()
protected void onLineRemoved()
protected boolean hasInstructions()
protected void setHasInstructions()
protected int getCurrentLine()
protected boolean wasLineSeenBefore()
public void visitLineNumber(int line,
org.jetbrains.coverage.org.objectweb.asm.Label start)
visitLineNumber in class org.jetbrains.coverage.org.objectweb.asm.MethodVisitorpublic void visitEnd()
visitEnd in class org.jetbrains.coverage.org.objectweb.asm.MethodVisitorpublic void visitMethodInsn(int opcode,
java.lang.String owner,
java.lang.String name,
java.lang.String descriptor,
boolean isInterface)
visitMethodInsn in class org.jetbrains.coverage.org.objectweb.asm.MethodVisitorpublic void visitLdcInsn(java.lang.Object value)
visitLdcInsn in class org.jetbrains.coverage.org.objectweb.asm.MethodVisitorpublic void visitInsn(int opcode)
visitInsn in class org.jetbrains.coverage.org.objectweb.asm.MethodVisitorpublic void visitTableSwitchInsn(int min,
int max,
org.jetbrains.coverage.org.objectweb.asm.Label dflt,
org.jetbrains.coverage.org.objectweb.asm.Label... labels)
visitTableSwitchInsn in class org.jetbrains.coverage.org.objectweb.asm.MethodVisitorpublic void visitMultiANewArrayInsn(java.lang.String descriptor,
int numDimensions)
visitMultiANewArrayInsn in class org.jetbrains.coverage.org.objectweb.asm.MethodVisitorpublic void visitTypeInsn(int opcode,
java.lang.String type)
visitTypeInsn in class org.jetbrains.coverage.org.objectweb.asm.MethodVisitorpublic void visitLookupSwitchInsn(org.jetbrains.coverage.org.objectweb.asm.Label dflt,
int[] keys,
org.jetbrains.coverage.org.objectweb.asm.Label[] labels)
visitLookupSwitchInsn in class org.jetbrains.coverage.org.objectweb.asm.MethodVisitorpublic void visitInvokeDynamicInsn(java.lang.String name,
java.lang.String descriptor,
org.jetbrains.coverage.org.objectweb.asm.Handle bootstrapMethodHandle,
java.lang.Object... bootstrapMethodArguments)
visitInvokeDynamicInsn in class org.jetbrains.coverage.org.objectweb.asm.MethodVisitorpublic void visitIincInsn(int varIndex,
int increment)
visitIincInsn in class org.jetbrains.coverage.org.objectweb.asm.MethodVisitorpublic void visitFieldInsn(int opcode,
java.lang.String owner,
java.lang.String name,
java.lang.String descriptor)
visitFieldInsn in class org.jetbrains.coverage.org.objectweb.asm.MethodVisitorpublic void visitIntInsn(int opcode,
int operand)
visitIntInsn in class org.jetbrains.coverage.org.objectweb.asm.MethodVisitorpublic void visitJumpInsn(int opcode,
org.jetbrains.coverage.org.objectweb.asm.Label label)
visitJumpInsn in class org.jetbrains.coverage.org.objectweb.asm.MethodVisitorpublic void visitVarInsn(int opcode,
int varIndex)
visitVarInsn in class org.jetbrains.coverage.org.objectweb.asm.MethodVisitor