diff options
author | Marc R. Hoffmann <hoffmann@mountainminds.com> | 2010-05-10 15:58:36 +0000 |
---|---|---|
committer | Marc R. Hoffmann <hoffmann@mountainminds.com> | 2010-05-10 15:58:36 +0000 |
commit | 8bb03db8aeba94f9f061402f36139d977e7cc80c (patch) | |
tree | 691d54f2e84ad9d04d2daf0b6ba37d9fe0fa8b69 /org.jacoco.core | |
parent | d3fc4dba8c28e019aa43a3f70f9db8cb9969e3fb (diff) | |
download | jacoco-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.java | 20 | ||||
-rw-r--r-- | org.jacoco.core/src/org/jacoco/core/analysis/CoverageBuilder.java | 2 |
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) {
|