diff options
author | Marc R. Hoffmann <hoffmann@mountainminds.com> | 2014-01-11 13:18:08 +0100 |
---|---|---|
committer | Marc R. Hoffmann <hoffmann@mountainminds.com> | 2014-01-13 07:02:41 +0100 |
commit | 60c33d63e75c1b0a5da9bd58be1f0b5434240220 (patch) | |
tree | 2d856daf9e2fb9cd151b2e9455b0410e66c62d23 /org.jacoco.core/src/org/jacoco/core/internal/analysis | |
parent | a7617e95423a1929577a59f03e08d67478b589bf (diff) | |
download | jacoco-60c33d63e75c1b0a5da9bd58be1f0b5434240220.tar.gz |
Provide core APIs to detect classes with non-matching ids.
Diffstat (limited to 'org.jacoco.core/src/org/jacoco/core/internal/analysis')
-rw-r--r-- | org.jacoco.core/src/org/jacoco/core/internal/analysis/ClassAnalyzer.java | 11 | ||||
-rw-r--r-- | org.jacoco.core/src/org/jacoco/core/internal/analysis/ClassCoverageImpl.java | 13 |
2 files changed, 19 insertions, 5 deletions
diff --git a/org.jacoco.core/src/org/jacoco/core/internal/analysis/ClassAnalyzer.java b/org.jacoco.core/src/org/jacoco/core/internal/analysis/ClassAnalyzer.java index 74d5da5c..8508ab18 100644 --- a/org.jacoco.core/src/org/jacoco/core/internal/analysis/ClassAnalyzer.java +++ b/org.jacoco.core/src/org/jacoco/core/internal/analysis/ClassAnalyzer.java @@ -24,6 +24,7 @@ import org.objectweb.asm.Opcodes; public class ClassAnalyzer extends ClassProbesVisitor { private final long classid; + private final boolean noMatch; private final boolean probes[]; private final StringPool stringPool; @@ -34,14 +35,18 @@ public class ClassAnalyzer extends ClassProbesVisitor { * * @param classid * id of the class + * @param noMatch + * <code>true</code> if class id does not match with execution + * data * @param probes * execution data for this class or <code>null</code> * @param stringPool * shared pool to minimize the number of {@link String} instances */ - public ClassAnalyzer(final long classid, final boolean[] probes, - final StringPool stringPool) { + public ClassAnalyzer(final long classid, final boolean noMatch, + final boolean[] probes, final StringPool stringPool) { this.classid = classid; + this.noMatch = noMatch; this.probes = probes; this.stringPool = stringPool; } @@ -61,7 +66,7 @@ public class ClassAnalyzer extends ClassProbesVisitor { final String signature, final String superName, final String[] interfaces) { this.coverage = new ClassCoverageImpl(stringPool.get(name), classid, - stringPool.get(signature), stringPool.get(superName), + noMatch, stringPool.get(signature), stringPool.get(superName), stringPool.get(interfaces)); } diff --git a/org.jacoco.core/src/org/jacoco/core/internal/analysis/ClassCoverageImpl.java b/org.jacoco.core/src/org/jacoco/core/internal/analysis/ClassCoverageImpl.java index 3ee8667c..1a29f24e 100644 --- a/org.jacoco.core/src/org/jacoco/core/internal/analysis/ClassCoverageImpl.java +++ b/org.jacoco.core/src/org/jacoco/core/internal/analysis/ClassCoverageImpl.java @@ -23,6 +23,7 @@ import org.jacoco.core.analysis.IMethodCoverage; public class ClassCoverageImpl extends SourceNodeImpl implements IClassCoverage { private final long id; + private final boolean noMatch; private final String signature; private final String superName; private final String[] interfaces; @@ -36,6 +37,9 @@ public class ClassCoverageImpl extends SourceNodeImpl implements IClassCoverage * vm name of the class * @param id * class identifier + * @param noMatch + * <code>true</code>, if class id does not match with execution + * data * @param signature * vm signature of the class * @param superName @@ -44,10 +48,11 @@ public class ClassCoverageImpl extends SourceNodeImpl implements IClassCoverage * vm names of interfaces of this class */ public ClassCoverageImpl(final String name, final long id, - final String signature, final String superName, - final String[] interfaces) { + final boolean noMatch, final String signature, + final String superName, final String[] interfaces) { super(ElementType.CLASS, name); this.id = id; + this.noMatch = noMatch; this.signature = signature; this.superName = superName; this.interfaces = interfaces; @@ -87,6 +92,10 @@ public class ClassCoverageImpl extends SourceNodeImpl implements IClassCoverage return id; } + public boolean isNoMatch() { + return noMatch; + } + public String getSignature() { return signature; } |