aboutsummaryrefslogtreecommitdiff
path: root/org.jacoco.core/src/org/jacoco/core/internal/analysis/filter/EnumEmptyConstructorFilter.java
diff options
context:
space:
mode:
Diffstat (limited to 'org.jacoco.core/src/org/jacoco/core/internal/analysis/filter/EnumEmptyConstructorFilter.java')
-rw-r--r--org.jacoco.core/src/org/jacoco/core/internal/analysis/filter/EnumEmptyConstructorFilter.java15
1 files changed, 8 insertions, 7 deletions
diff --git a/org.jacoco.core/src/org/jacoco/core/internal/analysis/filter/EnumEmptyConstructorFilter.java b/org.jacoco.core/src/org/jacoco/core/internal/analysis/filter/EnumEmptyConstructorFilter.java
index 9bdc5077..be79e328 100644
--- a/org.jacoco.core/src/org/jacoco/core/internal/analysis/filter/EnumEmptyConstructorFilter.java
+++ b/org.jacoco.core/src/org/jacoco/core/internal/analysis/filter/EnumEmptyConstructorFilter.java
@@ -33,24 +33,25 @@ public final class EnumEmptyConstructorFilter implements IFilter {
private static final String CONSTRUCTOR_NAME = "<init>";
private static final String CONSTRUCTOR_DESC = "(Ljava/lang/String;I)V";
- public void filter(String className, String superClassName,
- MethodNode methodNode, IFilterOutput output) {
- if ("java/lang/Enum".equals(superClassName)
+ private static final String ENUM_TYPE = "java/lang/Enum";
+
+ public void filter(final MethodNode methodNode,
+ final IFilterContext context, final IFilterOutput output) {
+ if (ENUM_TYPE.equals(context.getSuperClassName())
&& CONSTRUCTOR_NAME.equals(methodNode.name)
&& CONSTRUCTOR_DESC.equals(methodNode.desc)
- && new Matcher().match(methodNode, superClassName)) {
+ && new Matcher().match(methodNode)) {
output.ignore(methodNode.instructions.getFirst(),
methodNode.instructions.getLast());
}
}
private static class Matcher extends AbstractMatcher {
- private boolean match(final MethodNode methodNode,
- final String superClassName) {
+ private boolean match(final MethodNode methodNode) {
firstIsALoad0(methodNode);
nextIs(Opcodes.ALOAD);
nextIs(Opcodes.ILOAD);
- nextIsInvokeSuper(superClassName, CONSTRUCTOR_DESC);
+ nextIsInvokeSuper(ENUM_TYPE, CONSTRUCTOR_DESC);
nextIs(Opcodes.RETURN);
return cursor != null;
}