aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorandroid-build-team Robot <android-build-team-robot@google.com>2017-06-28 07:31:52 +0000
committerandroid-build-team Robot <android-build-team-robot@google.com>2017-06-28 07:31:52 +0000
commit503a120329864b158ed72a07e21155b18e709c21 (patch)
tree660155d155e075109b5d7f6dd0c96e532805ca88
parent0c8b44743920959d428111a09b3fb2b7d458857b (diff)
parente28fab5f40c3c8f64666c6e46f9b0992673e9067 (diff)
downloadjacoco-oreo-m5-release.tar.gz
release-request-1b0d6769-ebfa-4e2d-b128-039ac0dcd5c9-for-git_oc-mr1-release-4140700 snap-temp-L81200000078275553android-wear-8.1.0_r1android-vts-8.1_r9android-vts-8.1_r8android-vts-8.1_r7android-vts-8.1_r6android-vts-8.1_r5android-vts-8.1_r4android-vts-8.1_r3android-vts-8.1_r14android-vts-8.1_r13android-vts-8.1_r12android-vts-8.1_r11android-vts-8.1_r10android-security-8.1.0_r93android-security-8.1.0_r92android-security-8.1.0_r91android-security-8.1.0_r90android-security-8.1.0_r89android-security-8.1.0_r88android-security-8.1.0_r87android-security-8.1.0_r86android-security-8.1.0_r85android-security-8.1.0_r84android-security-8.1.0_r83android-security-8.1.0_r82android-cts-8.1_r9android-cts-8.1_r8android-cts-8.1_r7android-cts-8.1_r6android-cts-8.1_r5android-cts-8.1_r4android-cts-8.1_r3android-cts-8.1_r25android-cts-8.1_r24android-cts-8.1_r23android-cts-8.1_r22android-cts-8.1_r21android-cts-8.1_r20android-cts-8.1_r2android-cts-8.1_r19android-cts-8.1_r18android-cts-8.1_r17android-cts-8.1_r16android-cts-8.1_r15android-cts-8.1_r14android-cts-8.1_r13android-cts-8.1_r12android-cts-8.1_r11android-cts-8.1_r10android-cts-8.1_r1android-8.1.0_r9android-8.1.0_r81android-8.1.0_r80android-8.1.0_r8android-8.1.0_r79android-8.1.0_r78android-8.1.0_r77android-8.1.0_r76android-8.1.0_r75android-8.1.0_r74android-8.1.0_r73android-8.1.0_r72android-8.1.0_r71android-8.1.0_r70android-8.1.0_r7android-8.1.0_r69android-8.1.0_r68android-8.1.0_r67android-8.1.0_r66android-8.1.0_r65android-8.1.0_r64android-8.1.0_r63android-8.1.0_r62android-8.1.0_r61android-8.1.0_r60android-8.1.0_r6android-8.1.0_r53android-8.1.0_r52android-8.1.0_r51android-8.1.0_r50android-8.1.0_r5android-8.1.0_r48android-8.1.0_r47android-8.1.0_r46android-8.1.0_r45android-8.1.0_r43android-8.1.0_r42android-8.1.0_r41android-8.1.0_r40android-8.1.0_r4android-8.1.0_r39android-8.1.0_r38android-8.1.0_r37android-8.1.0_r36android-8.1.0_r35android-8.1.0_r33android-8.1.0_r32android-8.1.0_r31android-8.1.0_r30android-8.1.0_r3android-8.1.0_r29android-8.1.0_r28android-8.1.0_r27android-8.1.0_r26android-8.1.0_r25android-8.1.0_r23android-8.1.0_r22android-8.1.0_r21android-8.1.0_r20android-8.1.0_r2android-8.1.0_r19android-8.1.0_r18android-8.1.0_r17android-8.1.0_r16android-8.1.0_r15android-8.1.0_r14android-8.1.0_r13android-8.1.0_r12android-8.1.0_r11android-8.1.0_r10android-8.1.0_r1security-oc-mr1-releaseoreo-mr1-wear-releaseoreo-mr1-vts-releaseoreo-mr1-security-releaseoreo-mr1-s1-releaseoreo-mr1-releaseoreo-mr1-cuttlefish-testingoreo-mr1-cts-releaseoreo-m8-releaseoreo-m7-releaseoreo-m6-s4-releaseoreo-m6-s3-releaseoreo-m6-s2-releaseoreo-m5-releaseoreo-m4-s9-releaseoreo-m4-s8-releaseoreo-m4-s7-releaseoreo-m4-s6-releaseoreo-m4-s5-releaseoreo-m4-s4-releaseoreo-m4-s3-releaseoreo-m4-s2-releaseoreo-m4-s12-releaseoreo-m4-s11-releaseoreo-m4-s10-releaseoreo-m4-s1-releaseoreo-m3-releaseoreo-m2-s5-releaseoreo-m2-s4-releaseoreo-m2-s3-releaseoreo-m2-s2-releaseoreo-m2-s1-releaseoreo-m2-release
Change-Id: Id0d11002db354e50e0feb004de687d5c1bc5ddc2
-rw-r--r--Android.mk7
-rw-r--r--org.jacoco.agent.rt/src/org/jacoco/agent/rt/internal/CoverageTransformer.java10
-rw-r--r--org.jacoco.core.test/src/org/jacoco/core/matcher/IncludeExcludeMatcherTest.java75
-rw-r--r--org.jacoco.core.test/src/org/jacoco/core/matcher/WildcardMatcherTest.java72
-rw-r--r--org.jacoco.core.test/src/org/jacoco/core/runtime/WildcardMatcherTest.java72
-rw-r--r--org.jacoco.core/src/org/jacoco/core/matcher/ClassnameMatcher.java80
-rw-r--r--org.jacoco.core/src/org/jacoco/core/matcher/IncludeExcludeMatcher.java67
-rw-r--r--org.jacoco.core/src/org/jacoco/core/matcher/Predicate.java24
-rw-r--r--org.jacoco.core/src/org/jacoco/core/runtime/AgentOptions.java1
-rw-r--r--org.jacoco.core/src/org/jacoco/core/runtime/WildcardMatcher.java (renamed from org.jacoco.core/src/org/jacoco/core/matcher/WildcardMatcher.java)7
-rw-r--r--org.jacoco.report/src/org/jacoco/report/check/Rule.java4
11 files changed, 90 insertions, 329 deletions
diff --git a/Android.mk b/Android.mk
index 1804e6df..5ba54801 100644
--- a/Android.mk
+++ b/Android.mk
@@ -68,6 +68,13 @@ LOCAL_STATIC_JAVA_LIBRARIES := jacoco-asm-host args4j-2.0.28
include $(BUILD_HOST_JAVA_LIBRARY)
+# include jacoco-cli in the dist directory to enable running it to generate a code-coverage report
+ifeq ($(ANDROID_COMPILE_WITH_JACK),false)
+ifeq ($(EMMA_INSTRUMENT),true)
+$(call dist-for-goals, dist_files, $(LOCAL_INSTALLED_MODULE))
+endif
+endif
+
#
# Build asm-5.0.1 as a static library for the device
diff --git a/org.jacoco.agent.rt/src/org/jacoco/agent/rt/internal/CoverageTransformer.java b/org.jacoco.agent.rt/src/org/jacoco/agent/rt/internal/CoverageTransformer.java
index cbd6a62b..53d12387 100644
--- a/org.jacoco.agent.rt/src/org/jacoco/agent/rt/internal/CoverageTransformer.java
+++ b/org.jacoco.agent.rt/src/org/jacoco/agent/rt/internal/CoverageTransformer.java
@@ -19,7 +19,7 @@ import java.security.ProtectionDomain;
import org.jacoco.core.instr.Instrumenter;
import org.jacoco.core.runtime.AgentOptions;
import org.jacoco.core.runtime.IRuntime;
-import org.jacoco.core.matcher.WildcardMatcher;
+import org.jacoco.core.runtime.WildcardMatcher;
/**
* Class file transformer to instrument classes for code coverage analysis.
@@ -120,14 +120,16 @@ public class CoverageTransformer implements ClassFileTransformer {
if (!inclNoLocationClasses && !hasSourceLocation(protectionDomain)) {
return false;
}
- if (exclClassloader.apply(loader.getClass().getName())) {
+ if (exclClassloader.matches(loader.getClass().getName())) {
return false;
}
}
return !classname.startsWith(AGENT_PREFIX) &&
- includes.apply(classname) &&
- !excludes.apply(classname);
+
+ includes.matches(classname) &&
+
+ !excludes.matches(classname);
}
/**
diff --git a/org.jacoco.core.test/src/org/jacoco/core/matcher/IncludeExcludeMatcherTest.java b/org.jacoco.core.test/src/org/jacoco/core/matcher/IncludeExcludeMatcherTest.java
deleted file mode 100644
index e0268956..00000000
--- a/org.jacoco.core.test/src/org/jacoco/core/matcher/IncludeExcludeMatcherTest.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2017 Mountainminds GmbH & Co. KG and Contributors
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Jeffry Gaston - initial API and implementation
- *
- *******************************************************************************/
-package org.jacoco.core.matcher;
-
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-
-import org.junit.Test;
-
-public class IncludeExcludeMatcherTest {
-
- @Test
- public void testEmpty() {
- assertTrue(new IncludeExcludeMatcher<String>().apply("includeMe"));
- }
-
- @Test
- public void testSingleExclude() {
- IncludeExcludeMatcher<String> matcher = new IncludeExcludeMatcher<String>()
- .exclude(new WildcardMatcher("excluded"));
- assertTrue(matcher.apply("included"));
- assertFalse(matcher.apply("excluded"));
- }
-
- @Test
- public void testMultipleExcludes() {
- IncludeExcludeMatcher<String> matcher = new IncludeExcludeMatcher<String>().exclude(
- new WildcardMatcher("excluded"))
- .exclude(new WildcardMatcher("excluded2"));
- assertTrue(matcher.apply("included"));
- assertFalse(matcher.apply("excluded"));
- assertFalse(matcher.apply("excluded2"));
- }
-
- @Test
- public void testSingleInclude() {
- IncludeExcludeMatcher<String> matcher = new IncludeExcludeMatcher<String>()
- .include(new WildcardMatcher("include me"));
- assertTrue(matcher.apply("include me"));
- assertFalse(matcher.apply("not me"));
- }
-
- @Test
- public void testIncludesAndExcludes() {
- IncludeExcludeMatcher<String> matcher = new IncludeExcludeMatcher<String>()
- .include(new WildcardMatcher("inclusion1"))
- .include(new WildcardMatcher("me too"))
- .exclude(new WildcardMatcher("not me"))
- .exclude(new WildcardMatcher("nope"));
- assertTrue(matcher.apply("inclusion1"));
- assertTrue(matcher.apply("me too"));
- assertFalse(matcher.apply("not me"));
- assertFalse(matcher.apply("nope"));
- assertFalse(matcher.apply("other"));
- }
-
- @Test
- public void testExcludedInclusion() {
- IncludeExcludeMatcher<String> matcher = new IncludeExcludeMatcher<String>()
- .include(new WildcardMatcher("a"))
- .exclude(new WildcardMatcher("a"));
- assertFalse(matcher.apply("a"));
- assertFalse(matcher.apply("b"));
- }
-
-}
diff --git a/org.jacoco.core.test/src/org/jacoco/core/matcher/WildcardMatcherTest.java b/org.jacoco.core.test/src/org/jacoco/core/matcher/WildcardMatcherTest.java
deleted file mode 100644
index baf1dc2b..00000000
--- a/org.jacoco.core.test/src/org/jacoco/core/matcher/WildcardMatcherTest.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2017 Mountainminds GmbH & Co. KG and Contributors
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Marc R. Hoffmann - initial API and implementation
- *
- *******************************************************************************/
-package org.jacoco.core.matcher;
-
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-
-import org.junit.Test;
-
-public class WildcardMatcherTest {
-
- @Test
- public void testEmpty() {
- assertTrue(new WildcardMatcher("").apply(""));
- assertFalse(new WildcardMatcher("").apply("abc"));
- }
-
- @Test
- public void testExact() {
- assertTrue(new WildcardMatcher("abc/def.txt").apply("abc/def.txt"));
- }
-
- @Test
- public void testCaseSensitive() {
- assertFalse(new WildcardMatcher("abcdef").apply("abcDef"));
- assertFalse(new WildcardMatcher("ABCDEF").apply("AbCDEF"));
- }
-
- @Test
- public void testQuote() {
- assertFalse(new WildcardMatcher("rst.xyz").apply("rstAxyz"));
- assertTrue(new WildcardMatcher("(x)+").apply("(x)+"));
- }
-
- @Test
- public void testWildcards() {
- assertTrue(new WildcardMatcher("*").apply(""));
- assertTrue(new WildcardMatcher("*").apply("java/lang/Object"));
- assertTrue(new WildcardMatcher("*Test").apply("jacoco/MatcherTest"));
- assertTrue(new WildcardMatcher("Matcher*").apply("Matcher"));
- assertTrue(new WildcardMatcher("Matcher*").apply("MatcherTest"));
- assertTrue(new WildcardMatcher("a*b*a").apply("a-b-b-a"));
- assertFalse(new WildcardMatcher("a*b*a").apply("alaska"));
- assertTrue(new WildcardMatcher("Hello?orld").apply("HelloWorld"));
- assertFalse(new WildcardMatcher("Hello?orld").apply("HelloWWWorld"));
- assertTrue(new WildcardMatcher("?aco*").apply("jacoco"));
- }
-
- @Test
- public void testMultiExpression() {
- assertTrue(new WildcardMatcher("Hello:World").apply("World"));
- assertTrue(new WildcardMatcher("Hello:World").apply("World"));
- assertTrue(new WildcardMatcher("*Test:*Foo").apply("UnitTest"));
- }
-
- @Test
- public void testDollar() {
- assertTrue(new WildcardMatcher("*$*").apply("java/util/Map$Entry"));
- assertTrue(new WildcardMatcher("*$$$*")
- .apply("org/example/Enity$$$generated123"));
- }
-
-}
diff --git a/org.jacoco.core.test/src/org/jacoco/core/runtime/WildcardMatcherTest.java b/org.jacoco.core.test/src/org/jacoco/core/runtime/WildcardMatcherTest.java
new file mode 100644
index 00000000..10e012c4
--- /dev/null
+++ b/org.jacoco.core.test/src/org/jacoco/core/runtime/WildcardMatcherTest.java
@@ -0,0 +1,72 @@
+/*******************************************************************************
+ * Copyright (c) 2009, 2017 Mountainminds GmbH & Co. KG and Contributors
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Marc R. Hoffmann - initial API and implementation
+ *
+ *******************************************************************************/
+package org.jacoco.core.runtime;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+import org.junit.Test;
+
+public class WildcardMatcherTest {
+
+ @Test
+ public void testEmpty() {
+ assertTrue(new WildcardMatcher("").matches(""));
+ assertFalse(new WildcardMatcher("").matches("abc"));
+ }
+
+ @Test
+ public void testExact() {
+ assertTrue(new WildcardMatcher("abc/def.txt").matches("abc/def.txt"));
+ }
+
+ @Test
+ public void testCaseSensitive() {
+ assertFalse(new WildcardMatcher("abcdef").matches("abcDef"));
+ assertFalse(new WildcardMatcher("ABCDEF").matches("AbCDEF"));
+ }
+
+ @Test
+ public void testQuote() {
+ assertFalse(new WildcardMatcher("rst.xyz").matches("rstAxyz"));
+ assertTrue(new WildcardMatcher("(x)+").matches("(x)+"));
+ }
+
+ @Test
+ public void testWildcards() {
+ assertTrue(new WildcardMatcher("*").matches(""));
+ assertTrue(new WildcardMatcher("*").matches("java/lang/Object"));
+ assertTrue(new WildcardMatcher("*Test").matches("jacoco/MatcherTest"));
+ assertTrue(new WildcardMatcher("Matcher*").matches("Matcher"));
+ assertTrue(new WildcardMatcher("Matcher*").matches("MatcherTest"));
+ assertTrue(new WildcardMatcher("a*b*a").matches("a-b-b-a"));
+ assertFalse(new WildcardMatcher("a*b*a").matches("alaska"));
+ assertTrue(new WildcardMatcher("Hello?orld").matches("HelloWorld"));
+ assertFalse(new WildcardMatcher("Hello?orld").matches("HelloWWWorld"));
+ assertTrue(new WildcardMatcher("?aco*").matches("jacoco"));
+ }
+
+ @Test
+ public void testMultiExpression() {
+ assertTrue(new WildcardMatcher("Hello:World").matches("World"));
+ assertTrue(new WildcardMatcher("Hello:World").matches("World"));
+ assertTrue(new WildcardMatcher("*Test:*Foo").matches("UnitTest"));
+ }
+
+ @Test
+ public void testDollar() {
+ assertTrue(new WildcardMatcher("*$*").matches("java/util/Map$Entry"));
+ assertTrue(new WildcardMatcher("*$$$*")
+ .matches("org/example/Enity$$$generated123"));
+ }
+
+}
diff --git a/org.jacoco.core/src/org/jacoco/core/matcher/ClassnameMatcher.java b/org.jacoco.core/src/org/jacoco/core/matcher/ClassnameMatcher.java
deleted file mode 100644
index 939bd5fe..00000000
--- a/org.jacoco.core/src/org/jacoco/core/matcher/ClassnameMatcher.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2017 Mountainminds GmbH & Co. KG and Contributors
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Jeffry Gaston - initial API and implementation
- *
- *******************************************************************************/
-
-package org.jacoco.core.matcher;
-
-import java.util.List;
-
-import org.objectweb.asm.ClassReader;
-
-/**
- * A ClassnameMatcher matches ClassReader objects based on their class name
- */
-public class ClassnameMatcher implements Predicate<ClassReader> {
- private IncludeExcludeMatcher<String> matcher = new IncludeExcludeMatcher<String>();
-
- /**
- * Includes the given pattern from the matches of this matcher
- * @param pattern to include
- * @return this object (for chaining)
- */
- public ClassnameMatcher include(String pattern) {
- matcher.include(new WildcardMatcher(pattern));
- return this;
- }
-
- /**
- * Adds the given patterns as inclusions for this matcher
- * @param patterns patterns to include
- * @return this object (for chaining)
- */
- public ClassnameMatcher include(List<String> patterns) {
- for (String pattern : patterns) {
- include(pattern);
- }
- return this;
- }
-
- /**
- * As the given pattern as an exclusion for this matcher
- * @param pattern pattern to exclude
- * @return this object (for chaining)
- */
- public ClassnameMatcher exclude(String pattern) {
- matcher.exclude(new WildcardMatcher(pattern));
- return this;
- }
-
- /**
- * As the given patterns as exclusions for this matcher
- * @param patterns patterns to include
- * @return this object (for chaining)
- */
- public ClassnameMatcher exclude(List<String> patterns) {
- for (String pattern : patterns) {
- exclude(pattern);
- }
- return this;
- }
-
-
- /**
- * Tells whether this matcher matches this class reader
- * @param classReader the reader to match
- * @return whether this matcher matches
- */
- @Override
- public boolean apply(ClassReader classReader) {
- return matcher.apply(classReader.getClassName().replaceAll("/", "."));
- }
-
-}
diff --git a/org.jacoco.core/src/org/jacoco/core/matcher/IncludeExcludeMatcher.java b/org.jacoco.core/src/org/jacoco/core/matcher/IncludeExcludeMatcher.java
deleted file mode 100644
index 50f1d886..00000000
--- a/org.jacoco.core/src/org/jacoco/core/matcher/IncludeExcludeMatcher.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2017 Mountainminds GmbH & Co. KG and Contributors
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Jeffry Gaston - initial API and implementation
- *
- *******************************************************************************/
-package org.jacoco.core.matcher;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * An IncludeExcludeMatcher matches a given input if
- * at least one inclusion matches and no exclusions match.
- */
-public class IncludeExcludeMatcher<T> implements Predicate<T> {
- private List<Predicate<T>> inclusions = new ArrayList<Predicate<T>>();
- private List<Predicate<T>> exclusions = new ArrayList<Predicate<T>>();
-
- /**
- * Includes the given matcher
- * @param inclusion new matcher to include
- * @return this object (for chaining several calls)
- */
- public IncludeExcludeMatcher include(Predicate<T> inclusion) {
- inclusions.add(inclusion);
- return this;
- }
-
- /**
- * Excludes a given matcher
- * @param exclusion
- * @return this object (for chaining several calls)
- */
- public IncludeExcludeMatcher exclude(Predicate<T> exclusion) {
- exclusions.add(exclusion);
- return this;
- }
-
- /**
- * Tells whether this matcher matches this string
- * @param input the string match
- * @return whether the matcher matches
- */
- @Override
- public boolean apply(T input) {
- // doesn't match if an exclusion matches
- for (Predicate<T> exclusion : exclusions) {
- if (exclusion.apply(input)) {
- return false;
- }
- }
- // does match if an inclusion matches
- for (Predicate<T> inclusion : inclusions) {
- if (inclusion.apply(input)) {
- return true;
- }
- }
- // no match; choose a default based on whether any includes were given
- return (inclusions.size() == 0);
- }
-}
diff --git a/org.jacoco.core/src/org/jacoco/core/matcher/Predicate.java b/org.jacoco.core/src/org/jacoco/core/matcher/Predicate.java
deleted file mode 100644
index 14d084b1..00000000
--- a/org.jacoco.core/src/org/jacoco/core/matcher/Predicate.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2017 Mountainminds GmbH & Co. KG and Contributors
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Jeffry Gaston - initial API and implementation
- *
- *******************************************************************************/
-package org.jacoco.core.matcher;
-
-/**
- * A simple interface telling whether a predicate matches an input.
- * Once the minimum supported version of Java is Java 1.8, then this can be replaced with the
- * built-in Java predicate.
- * While it could work to add a dependency on a library providing a similar interface, we prefer
- * to keep the number of dependencies low, to avoid forcing other dependencies onto
- * any builds that depend on Jacoco.
- */
-public interface Predicate<T> {
- boolean apply(final T s);
-}
diff --git a/org.jacoco.core/src/org/jacoco/core/runtime/AgentOptions.java b/org.jacoco.core/src/org/jacoco/core/runtime/AgentOptions.java
index 6b4fb0c5..cf575127 100644
--- a/org.jacoco.core/src/org/jacoco/core/runtime/AgentOptions.java
+++ b/org.jacoco.core/src/org/jacoco/core/runtime/AgentOptions.java
@@ -22,7 +22,6 @@ import java.util.List;
import java.util.Map;
import java.util.Properties;
import java.util.regex.Pattern;
-import org.jacoco.core.matcher.WildcardMatcher;
/**
* Utility to create and parse options for the runtime agent. Options are
diff --git a/org.jacoco.core/src/org/jacoco/core/matcher/WildcardMatcher.java b/org.jacoco.core/src/org/jacoco/core/runtime/WildcardMatcher.java
index 6ae20c4f..221e6ea5 100644
--- a/org.jacoco.core/src/org/jacoco/core/matcher/WildcardMatcher.java
+++ b/org.jacoco.core/src/org/jacoco/core/runtime/WildcardMatcher.java
@@ -9,7 +9,7 @@
* Marc R. Hoffmann - initial API and implementation
*
*******************************************************************************/
-package org.jacoco.core.matcher;
+package org.jacoco.core.runtime;
import java.util.regex.Pattern;
@@ -18,7 +18,7 @@ import java.util.regex.Pattern;
* Multiple expressions can be separated with a colon (:). In this case the
* expression matches if at least one part matches.
*/
-public class WildcardMatcher implements Predicate<String> {
+public class WildcardMatcher {
private final Pattern pattern;
@@ -67,8 +67,7 @@ public class WildcardMatcher implements Predicate<String> {
* string to test
* @return <code>true</code>, if the expression matches
*/
- @Override
- public boolean apply(final String s) {
+ public boolean matches(final String s) {
return pattern.matcher(s).matches();
}
diff --git a/org.jacoco.report/src/org/jacoco/report/check/Rule.java b/org.jacoco.report/src/org/jacoco/report/check/Rule.java
index f424e81f..f34c6cdf 100644
--- a/org.jacoco.report/src/org/jacoco/report/check/Rule.java
+++ b/org.jacoco.report/src/org/jacoco/report/check/Rule.java
@@ -15,7 +15,7 @@ import java.util.ArrayList;
import java.util.List;
import org.jacoco.core.analysis.ICoverageNode.ElementType;
-import org.jacoco.core.matcher.WildcardMatcher;
+import org.jacoco.core.runtime.WildcardMatcher;
/**
* A rule applies for a certain element type and can define any number of limits
@@ -116,7 +116,7 @@ public final class Rule {
}
boolean matches(final String name) {
- return includesMatcher.apply(name) && !excludesMatcher.apply(name);
+ return includesMatcher.matches(name) && !excludesMatcher.matches(name);
}
}