merge method

void merge(
  1. Map<String, HitMap> newMap
)

Merges newMap into this one.

Implementation

void merge(Map<String, HitMap> newMap) {
  newMap.forEach((file, v) {
    final fileResult = this[file];
    if (fileResult != null) {
      _mergeHitCounts(v.lineHits, fileResult.lineHits);
      if (v.funcHits != null) {
        fileResult.funcHits ??= <int, int>{};
        _mergeHitCounts(v.funcHits!, fileResult.funcHits!);
      }
      if (v.funcNames != null) {
        fileResult.funcNames ??= <int, String>{};
        v.funcNames?.forEach((line, name) {
          fileResult.funcNames![line] = name;
        });
      }
      if (v.branchHits != null) {
        fileResult.branchHits ??= <int, int>{};
        _mergeHitCounts(v.branchHits!, fileResult.branchHits!);
      }
    } else {
      this[file] = v;
    }
  });
}