title: Typescript code coverage of multiple __extends declarations
body: <p>When it compiles my code, TypeScript includes an __extends declaration at the top of every file:</p>
  
  <pre><code>var __extends = this.__extends || function (d, b) {
      /* istanbul ignore next */
      for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
      function __() { this.constructor = d; }
      __.prototype = b.prototype;
      d.prototype = new __();
  };
  </code></pre>
  
  <p>This works fine behind-the-scenes, but it creates an inconsistency when it comes to using something like karma-coverage to generate reports.  This declaration contains two function calls and a branch in the code (the || usage), which only ever get exercised on the first declaration, leaving dozens (if not hundreds) of subsequent declarations for which there is no coverage.  This makes a file with otherwise 100% code coverage look sorely uncovered in the coverage reports.</p>
  
  <p>Has anyone solved this problem?</p>