istanbul-utils.js
function addDerivedInfoForFile(fileCoverage) {
    var statementMap = fileCoverage.statementMap,
      statements = fileCoverage.s,
      lineMap;

    if (!fileCoverage.l) {
      fileCoverage.l = lineMap = {};
      Object.keys(statements).forEach(function (st) {
        var line = statementMap[st].start.line,
          count = statements[st],
          prevVal = lineMap[line];
        if (count === 0 && statementMap[st].skip) { count = 1; }
        if (typeof prevVal === 'undefined' || prevVal < count) {
          lineMap[line] = count;
        }
      });
    }
  }
function addDerivedInfoForFile(fileCoverage) {
    var statementMap = fileCoverage.statementMap,
      statements = fileCoverage.s,
      lineMap;

    if (!fileCoverage.l) {
      fileCoverage.l = lineMap = {};
      Object.keys(statements).forEach(function (st) {
        var line = statementMap[st].start.line,
          count = statements[st],
          prevVal = lineMap[line];
        if (count === 0 && statementMap[st].skip) { count = 1; }
        if (typeof prevVal === 'undefined' || prevVal < count) {
          lineMap[line] = count;
        }
      });
    }
  }
function addDerivedInfoForFile ( fileCoverage ) { var statementMap = fileCoverage . statementMap , statements = fileCoverage . s , lineMap ; if ( ! fileCoverage . l ) { fileCoverage . l = lineMap = { } ; Object . keys ( statements ) . forEach ( function ( st ) { var line = statementMap [ st ] . start . line , count = statements [ st ] , prevVal = lineMap [ line ] ; if ( count === 0 && statementMap [ st ] . skip ) { count = 1 ; } if ( typeof prevVal === 'undefined' || prevVal < count ) { lineMap [ line ] = count ; } } ) ; } }
adds line coverage information to a file coverage object, reverse-engineering
it from statement coverage. The object passed in is updated in place.

Note that if line coverage information is already present in the object,
it is not recomputed.

@method addDerivedInfoForFile
@static
@param {Object} fileCoverage the coverage object for a single file
adds line coverage information to a file coverage object reverse - engineering it from statement coverage . The object passed in is updated in place .