aboutsummaryrefslogtreecommitdiffhomepage
path: root/tools/test/LcovMerger/java/com/google/devtools/lcovmerger/SourceFileCoverage.java
diff options
context:
space:
mode:
authorGravatar Irina Iancu <elenairina@google.com>2018-08-01 09:29:01 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-08-01 09:30:29 -0700
commitf8afad6f22786ba646cbd10a73e5738884cc84b8 (patch)
tree5c651454fa4c9fd49949bcbdaad3f6f39fb04216 /tools/test/LcovMerger/java/com/google/devtools/lcovmerger/SourceFileCoverage.java
parentf330439fb970cfa17c70fc59c1458bb1c31c9522 (diff)
Add a parser for gcov intermediate file format.
This change comes as a preparation for using gcov for Bazel C++ coverage instead of lcov. See documentation of gcov intermediate format at https://gcc.gnu.org/onlinedocs/gcc/Invoking-Gcov.html#Invoking-Gcov under --intermediate-format. Change-Id: I6cd2df8b3a6611b187a2b0c161b14388413bc670 PiperOrigin-RevId: 206940660
Diffstat (limited to 'tools/test/LcovMerger/java/com/google/devtools/lcovmerger/SourceFileCoverage.java')
-rw-r--r--tools/test/LcovMerger/java/com/google/devtools/lcovmerger/SourceFileCoverage.java8
1 files changed, 8 insertions, 0 deletions
diff --git a/tools/test/LcovMerger/java/com/google/devtools/lcovmerger/SourceFileCoverage.java b/tools/test/LcovMerger/java/com/google/devtools/lcovmerger/SourceFileCoverage.java
index 0cdb1a6f85..b98a873a8c 100644
--- a/tools/test/LcovMerger/java/com/google/devtools/lcovmerger/SourceFileCoverage.java
+++ b/tools/test/LcovMerger/java/com/google/devtools/lcovmerger/SourceFileCoverage.java
@@ -237,6 +237,10 @@ class SourceFileCoverage {
}
void addBranch(Integer lineNumber, BranchCoverage branch) {
+ if (this.branches.get(lineNumber) != null) {
+ this.branches.put(lineNumber, BranchCoverage.merge(this.branches.get(lineNumber), branch));
+ return;
+ }
this.branches.put(lineNumber, branch);
}
@@ -245,6 +249,10 @@ class SourceFileCoverage {
}
void addLine(Integer lineNumber, LineCoverage line) {
+ if (this.lines.get(lineNumber) != null) {
+ this.lines.put(lineNumber, LineCoverage.merge(line, this.lines.get(lineNumber)));
+ return;
+ }
this.lines.put(lineNumber, line);
}