text: //// [classExtendingNonConstructor.ts]
  var x: {};
  
  function foo() {
      this.x = 1;
  }
  
  class C1 extends undefined { }
  class C2 extends true { }
  class C3 extends false { }
  class C4 extends 42 { }
  class C5 extends "hello" { }
  class C6 extends x { }
  class C7 extends foo { }
  
  
  //// [classExtendingNonConstructor.js]
  var __extends = (this && this.__extends) || function (d, b) {
      for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
      function __() { this.constructor = d; }
      d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  };
  var x;
  function foo() {
      this.x = 1;
  }
  var C1 = (function (_super) {
      __extends(C1, _super);
      function C1() {
          _super.apply(this, arguments);
      }
      return C1;
  }(undefined));
  var C2 = (function (_super) {
      __extends(C2, _super);
      function C2() {
          _super.apply(this, arguments);
      }
      return C2;
  }(true));
  var C3 = (function (_super) {
      __extends(C3, _super);
      function C3() {
          _super.apply(this, arguments);
      }
      return C3;
  }(false));
  var C4 = (function (_super) {
      __extends(C4, _super);
      function C4() {
          _super.apply(this, arguments);
      }
      return C4;
  }(42));
  var C5 = (function (_super) {
      __extends(C5, _super);
      function C5() {
          _super.apply(this, arguments);
      }
      return C5;
  }("hello"));
  var C6 = (function (_super) {
      __extends(C6, _super);
      function C6() {
          _super.apply(this, arguments);
      }
      return C6;
  }(x));
  var C7 = (function (_super) {
      __extends(C7, _super);
      function C7() {
          _super.apply(this, arguments);
      }
      return C7;
  }(foo));
  