aboutsummaryrefslogtreecommitdiff
path: root/org.jacoco.core
diff options
context:
space:
mode:
authorMarc R. Hoffmann <hoffmann@mountainminds.com>2010-05-10 15:58:36 +0000
committerMarc R. Hoffmann <hoffmann@mountainminds.com>2010-05-10 15:58:36 +0000
commit8bb03db8aeba94f9f061402f36139d977e7cc80c (patch)
tree691d54f2e84ad9d04d2daf0b6ba37d9fe0fa8b69 /org.jacoco.core
parentd3fc4dba8c28e019aa43a3f70f9db8cb9969e3fb (diff)
downloadjacoco-8bb03db8aeba94f9f061402f36139d977e7cc80c.tar.gz
Trac #94: Include id with ClassCoverage to allow linkage with execution data.
Diffstat (limited to 'org.jacoco.core')
-rw-r--r--org.jacoco.core/src/org/jacoco/core/analysis/ClassCoverage.java20
-rw-r--r--org.jacoco.core/src/org/jacoco/core/analysis/CoverageBuilder.java2
2 files changed, 18 insertions, 4 deletions
diff --git a/org.jacoco.core/src/org/jacoco/core/analysis/ClassCoverage.java b/org.jacoco.core/src/org/jacoco/core/analysis/ClassCoverage.java
index 3016e6fa..b319d693 100644
--- a/org.jacoco.core/src/org/jacoco/core/analysis/ClassCoverage.java
+++ b/org.jacoco.core/src/org/jacoco/core/analysis/ClassCoverage.java
@@ -22,6 +22,7 @@ import java.util.Collection;
*/
public class ClassCoverage extends CoverageNodeImpl {
+ private final long id;
private final String signature;
private final String superName;
private final String[] interfaces;
@@ -33,6 +34,8 @@ public class ClassCoverage extends CoverageNodeImpl {
*
* @param name
* vm name of the class
+ * @param id
+ * class identifier
* @param signature
* vm signature of the class
* @param superName
@@ -44,11 +47,12 @@ public class ClassCoverage extends CoverageNodeImpl {
* @param methods
* contained methods
*/
- public ClassCoverage(final String name, final String signature,
- final String superName, final String[] interfaces,
- final String sourceFileName,
+ public ClassCoverage(final String name, final long id,
+ final String signature, final String superName,
+ final String[] interfaces, final String sourceFileName,
final Collection<MethodCoverage> methods) {
super(ElementType.CLASS, name, true);
+ this.id = id;
this.signature = signature;
this.superName = superName;
this.interfaces = interfaces;
@@ -62,6 +66,16 @@ public class ClassCoverage extends CoverageNodeImpl {
}
/**
+ * Returns the identifier for this class which is the CRC64 signature of the
+ * class definition.
+ *
+ * @return class identifier
+ */
+ public long getId() {
+ return id;
+ }
+
+ /**
* Returns the VM signature of the class.
*
* @return VM signature of the class (may be <code>null</code>)
diff --git a/org.jacoco.core/src/org/jacoco/core/analysis/CoverageBuilder.java b/org.jacoco.core/src/org/jacoco/core/analysis/CoverageBuilder.java
index 3adae388..527e97a1 100644
--- a/org.jacoco.core/src/org/jacoco/core/analysis/CoverageBuilder.java
+++ b/org.jacoco.core/src/org/jacoco/core/analysis/CoverageBuilder.java
@@ -116,7 +116,7 @@ public class CoverageBuilder implements IStructureVisitor {
}
public void visitEnd() {
- final ClassCoverage classData = new ClassCoverage(name,
+ final ClassCoverage classData = new ClassCoverage(name, id,
signature, superName, interfaces, sourcename, methods);
// Only consider classes that actually contain code:
if (classData.getInstructionCounter().getTotalCount() > 0) {