aboutsummaryrefslogtreecommitdiff
path: root/org.jacoco.core
diff options
context:
space:
mode:
authorMarc R. Hoffmann <hoffmann@mountainminds.com>2014-10-31 17:28:24 +0100
committerMarc R. Hoffmann <hoffmann@mountainminds.com>2014-10-31 17:28:24 +0100
commit9f0b1351547fb982c71b9db6cc76fc44a13ff51f (patch)
tree31fc842c05abf32cdd42f81b1bda83244e17ea73 /org.jacoco.core
parent2b2aaff9746d3e53c02986c4aff0878a03332994 (diff)
downloadjacoco-9f0b1351547fb982c71b9db6cc76fc44a13ff51f.tar.gz
Use ASM pattern of non-abstract methods to address issue raised in #257.
Diffstat (limited to 'org.jacoco.core')
-rw-r--r--org.jacoco.core/src/org/jacoco/core/internal/flow/ClassProbesAdapter.java39
-rw-r--r--org.jacoco.core/src/org/jacoco/core/internal/flow/MethodProbesVisitor.java26
2 files changed, 20 insertions, 45 deletions
diff --git a/org.jacoco.core/src/org/jacoco/core/internal/flow/ClassProbesAdapter.java b/org.jacoco.core/src/org/jacoco/core/internal/flow/ClassProbesAdapter.java
index 2f658c6a..0f74c324 100644
--- a/org.jacoco.core/src/org/jacoco/core/internal/flow/ClassProbesAdapter.java
+++ b/org.jacoco.core/src/org/jacoco/core/internal/flow/ClassProbesAdapter.java
@@ -13,7 +13,6 @@ package org.jacoco.core.internal.flow;
import org.jacoco.core.JaCoCo;
import org.objectweb.asm.ClassVisitor;
-import org.objectweb.asm.Label;
import org.objectweb.asm.MethodVisitor;
import org.objectweb.asm.commons.AnalyzerAdapter;
@@ -24,42 +23,8 @@ import org.objectweb.asm.commons.AnalyzerAdapter;
public class ClassProbesAdapter extends ClassVisitor implements
IProbeIdGenerator {
- private static final MethodProbesVisitor EMPTY_METHOD_PROBES_VISITOR;
-
- static {
- class Impl extends MethodProbesVisitor {
-
- @Override
- public void visitProbe(final int probeId) {
- // nothing to do
- }
-
- @Override
- public void visitJumpInsnWithProbe(final int opcode,
- final Label label, final int probeId, final IFrame frame) {
- // nothing to do
- }
-
- @Override
- public void visitInsnWithProbe(final int opcode, final int probeId) {
- // nothing to do
- }
-
- @Override
- public void visitTableSwitchInsnWithProbes(final int min,
- final int max, final Label dflt, final Label[] labels,
- final IFrame frame) {
- // nothing to do
- }
-
- @Override
- public void visitLookupSwitchInsnWithProbes(final Label dflt,
- final int[] keys, final Label[] labels, final IFrame frame) {
- // nothing to do
- }
- }
- EMPTY_METHOD_PROBES_VISITOR = new Impl();
- }
+ private static final MethodProbesVisitor EMPTY_METHOD_PROBES_VISITOR = new MethodProbesVisitor() {
+ };
private final ClassProbesVisitor cv;
diff --git a/org.jacoco.core/src/org/jacoco/core/internal/flow/MethodProbesVisitor.java b/org.jacoco.core/src/org/jacoco/core/internal/flow/MethodProbesVisitor.java
index 36f982a0..6a2408a8 100644
--- a/org.jacoco.core/src/org/jacoco/core/internal/flow/MethodProbesVisitor.java
+++ b/org.jacoco.core/src/org/jacoco/core/internal/flow/MethodProbesVisitor.java
@@ -45,7 +45,9 @@ public abstract class MethodProbesVisitor extends MethodVisitor {
* @param probeId
* id of the probe to insert
*/
- public abstract void visitProbe(int probeId);
+ @SuppressWarnings("unused")
+ public void visitProbe(final int probeId) {
+ }
/**
* Visits a jump instruction. A probe with the given id should be inserted
@@ -69,8 +71,10 @@ public abstract class MethodProbesVisitor extends MethodVisitor {
* method.
* @see MethodVisitor#visitJumpInsn(int, Label)
*/
- public abstract void visitJumpInsnWithProbe(int opcode, Label label,
- int probeId, IFrame frame);
+ @SuppressWarnings("unused")
+ public void visitJumpInsnWithProbe(final int opcode, final Label label,
+ final int probeId, final IFrame frame) {
+ }
/**
* Visits a zero operand instruction with a probe. This event is used only
@@ -85,7 +89,9 @@ public abstract class MethodProbesVisitor extends MethodVisitor {
* id of the probe
* @see MethodVisitor#visitInsn(int)
*/
- public abstract void visitInsnWithProbe(int opcode, int probeId);
+ @SuppressWarnings("unused")
+ public void visitInsnWithProbe(final int opcode, final int probeId) {
+ }
/**
* Visits a TABLESWITCH instruction with optional probes for each target
@@ -110,8 +116,10 @@ public abstract class MethodProbesVisitor extends MethodVisitor {
* method.
* @see MethodVisitor#visitTableSwitchInsn(int, int, Label, Label[])
*/
- public abstract void visitTableSwitchInsnWithProbes(int min, int max,
- Label dflt, Label[] labels, IFrame frame);
+ @SuppressWarnings("unused")
+ public void visitTableSwitchInsnWithProbes(final int min, final int max,
+ final Label dflt, final Label[] labels, final IFrame frame) {
+ }
/**
* Visits a LOOKUPSWITCH instruction with optional probes for each target
@@ -134,7 +142,9 @@ public abstract class MethodProbesVisitor extends MethodVisitor {
* method.
* @see MethodVisitor#visitLookupSwitchInsn(Label, int[], Label[])
*/
- public abstract void visitLookupSwitchInsnWithProbes(Label dflt,
- int[] keys, Label[] labels, IFrame frame);
+ @SuppressWarnings("unused")
+ public void visitLookupSwitchInsnWithProbes(final Label dflt,
+ final int[] keys, final Label[] labels, final IFrame frame) {
+ }
}