aboutsummaryrefslogtreecommitdiff
path: root/org.jacoco.core/src/org/jacoco/core/analysis/CoverageBuilder.java
diff options
context:
space:
mode:
authorMarc R. Hoffmann <hoffmann@mountainminds.com>2010-12-10 12:52:22 +0000
committerMarc R. Hoffmann <hoffmann@mountainminds.com>2010-12-10 12:52:22 +0000
commit2afd611acff37b88fac79ee9b661a2246596b735 (patch)
treec4fa8f6b4fe845213bcd7b5e3fb0c2d9d3c371b9 /org.jacoco.core/src/org/jacoco/core/analysis/CoverageBuilder.java
parent5ff6b2dc7a8a82132fbe3a65e4c86a60a0be8693 (diff)
downloadjacoco-2afd611acff37b88fac79ee9b661a2246596b735.tar.gz
SF #3110219: Provide proper error message in case of duplicate class names in the same group.
Diffstat (limited to 'org.jacoco.core/src/org/jacoco/core/analysis/CoverageBuilder.java')
-rw-r--r--org.jacoco.core/src/org/jacoco/core/analysis/CoverageBuilder.java9
1 files changed, 6 insertions, 3 deletions
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 66521de8..b5ba833e 100644
--- a/org.jacoco.core/src/org/jacoco/core/analysis/CoverageBuilder.java
+++ b/org.jacoco.core/src/org/jacoco/core/analysis/CoverageBuilder.java
@@ -40,7 +40,7 @@ public class CoverageBuilder implements IStructureVisitor {
private final StringPool stringPool;
- private final Map<Long, ClassCoverage> classes;
+ private final Map<String, ClassCoverage> classes;
private final Map<String, SourceFileCoverage> sourcefiles;
@@ -66,7 +66,7 @@ public class CoverageBuilder implements IStructureVisitor {
final StringPool stringPool) {
this.executionData = executionData;
this.stringPool = stringPool;
- this.classes = new HashMap<Long, ClassCoverage>();
+ this.classes = new HashMap<String, ClassCoverage>();
this.sourcefiles = new HashMap<String, SourceFileCoverage>();
}
@@ -136,7 +136,10 @@ public class CoverageBuilder implements IStructureVisitor {
signature, superName, interfaces, sourcename, methods);
// Only consider classes that actually contain code:
if (classData.getInstructionCounter().getTotalCount() > 0) {
- classes.put(Long.valueOf(id), classData);
+ if (classes.put(name, classData) != null) {
+ throw new IllegalStateException(
+ "Duplicate class name in same group: " + name);
+ }
if (sourcename != null) {
final String packageName = stringPool.get(classData
.getPackageName());