whole_func_string: function jscoverage_makeTable() {
    var coverage = _$jscoverage[jscoverage_currentFile];
    var lines = coverage.source;
  
    // this can happen if there is an error in the original JavaScript file
    if (! lines) {
      lines = [];
    }
  
    var rows = ['<table id="sourceTable">'];
    var i = 0;
    var progressBar = document.getElementById('progressBar');
    var tableHTML;
    var currentConditionalEnd = 0;
  
    function joinTableRows() {
      tableHTML = rows.join('');
      ProgressBar.setPercentage(progressBar, 60);
      /*
      This may be a long delay, so set a timeout of 100 ms to make sure the
      display is updated.
      */
      setTimeout(appendTable, 100);
    }
  
    function appendTable() {
      var sourceDiv = document.getElementById('sourceDiv');
      sourceDiv.innerHTML = tableHTML;
      ProgressBar.setPercentage(progressBar, 80);
      setTimeout(jscoverage_scrollToLine, 0);
    }
  
    while (i < lines.length) {
      var lineNumber = i + 1;
  
      if (lineNumber === currentConditionalEnd) {
        currentConditionalEnd = 0;
      }
      else if (currentConditionalEnd === 0 && coverage.conditionals && coverage.conditionals[lineNumber]) {
        currentConditionalEnd = coverage.conditionals[lineNumber];
      }
  
      var row = '<tr>';
      row += '<td class="numeric">' + lineNumber + '</td>';
      var timesExecuted = coverage[lineNumber];
      if (timesExecuted !== undefined && timesExecuted !== null) {
        if (currentConditionalEnd !== 0) {
          row += '<td class="y numeric">';
        }
        else if (timesExecuted === 0) {
          row += '<td class="r numeric" id="line-' + lineNumber + '">';
        }
        else {
          row += '<td class="g numeric">';
        }
        row += timesExecuted;
        row += '</td>';
      }
      else {
        row += '<td></td>';
      }
      row += '<td><pre>' + lines[i] + '</pre></td>';
      row += '</tr>';
      row += '\n';
      rows[lineNumber] = row;
      i++;
    }
    rows[i + 1] = '</table>';
    ProgressBar.setPercentage(progressBar, 40);
    setTimeout(joinTableRows, 0);
  }
func_code_string: function jscoverage_makeTable() {
    var coverage = _$jscoverage[jscoverage_currentFile];
    var lines = coverage.source;
  
    // this can happen if there is an error in the original JavaScript file
    if (! lines) {
      lines = [];
    }
  
    var rows = ['<table id="sourceTable">'];
    var i = 0;
    var progressBar = document.getElementById('progressBar');
    var tableHTML;
    var currentConditionalEnd = 0;
  
    function joinTableRows() {
      tableHTML = rows.join('');
      ProgressBar.setPercentage(progressBar, 60);
      /*
      This may be a long delay, so set a timeout of 100 ms to make sure the
      display is updated.
      */
      setTimeout(appendTable, 100);
    }
  
    function appendTable() {
      var sourceDiv = document.getElementById('sourceDiv');
      sourceDiv.innerHTML = tableHTML;
      ProgressBar.setPercentage(progressBar, 80);
      setTimeout(jscoverage_scrollToLine, 0);
    }
  
    while (i < lines.length) {
      var lineNumber = i + 1;
  
      if (lineNumber === currentConditionalEnd) {
        currentConditionalEnd = 0;
      }
      else if (currentConditionalEnd === 0 && coverage.conditionals && coverage.conditionals[lineNumber]) {
        currentConditionalEnd = coverage.conditionals[lineNumber];
      }
  
      var row = '<tr>';
      row += '<td class="numeric">' + lineNumber + '</td>';
      var timesExecuted = coverage[lineNumber];
      if (timesExecuted !== undefined && timesExecuted !== null) {
        if (currentConditionalEnd !== 0) {
          row += '<td class="y numeric">';
        }
        else if (timesExecuted === 0) {
          row += '<td class="r numeric" id="line-' + lineNumber + '">';
        }
        else {
          row += '<td class="g numeric">';
        }
        row += timesExecuted;
        row += '</td>';
      }
      else {
        row += '<td></td>';
      }
      row += '<td><pre>' + lines[i] + '</pre></td>';
      row += '</tr>';
      row += '\n';
      rows[lineNumber] = row;
      i++;
    }
    rows[i + 1] = '</table>';
    ProgressBar.setPercentage(progressBar, 40);
    setTimeout(joinTableRows, 0);
  }
func_documentation_string: ----------------------------------------------------------------------------- tab 3