aboutsummaryrefslogtreecommitdiff
path: root/org.jacoco.core/src/org/jacoco/core/internal/analysis
diff options
context:
space:
mode:
authorMarc R. Hoffmann <hoffmann@mountainminds.com>2014-01-11 13:18:08 +0100
committerMarc R. Hoffmann <hoffmann@mountainminds.com>2014-01-13 07:02:41 +0100
commit60c33d63e75c1b0a5da9bd58be1f0b5434240220 (patch)
tree2d856daf9e2fb9cd151b2e9455b0410e66c62d23 /org.jacoco.core/src/org/jacoco/core/internal/analysis
parenta7617e95423a1929577a59f03e08d67478b589bf (diff)
downloadjacoco-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.java11
-rw-r--r--org.jacoco.core/src/org/jacoco/core/internal/analysis/ClassCoverageImpl.java13
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;
}