text: function f1(aOrb) {
      return 10;
  }
  f1("hello");
  f1(10);
  /** this is f2 var comment*/
  function f2(aOrb) {
      return 10;
  }
  f2("hello");
  f2(10);
  function f3(aOrb) {
      return 10;
  }
  f3("hello");
  f3(10);
  function f4(aOrb) {
      return 10;
  }
  f4("hello");
  f4(10);
  var i1_i;
  var i2_i;
  var i3_i;
  var c = (function () {
      function c() { }
      c.prototype.prop1 = function (aorb) {
          return 10;
      };
      c.prototype.prop2 = function (aorb) {
          return 10;
      };
      c.prototype.prop3 = function (aorb) {
          return 10;
      };
      c.prototype.prop4 = function (aorb) {
          return 10;
      };
      c.prototype.prop5 = /** Prop5 implementaion*/
      function (aorb) {
          return 10;
      };
      return c;
  })();
  var c1 = (function () {
      function c1(aorb) {
      }
      return c1;
  })();
  var c2 = (function () {
      function c2(aorb) {
      }
      return c2;
  })();
  var c3 = (function () {
      function c3(aorb) {
      }
      return c3;
  })();
  var c4 = (function () {
      function c4(aorb) {
      }
      return c4;
  })();
  var c5 = (function () {
      /** c5 implementation*/
      function c5(aorb) {
      }
      return c5;
  })();
  var c_i = new c();
  var c1_i_1 = new c1(10);
  var c1_i_2 = new c1("hello");
  var c2_i_1 = new c2(10);
  var c2_i_2 = new c2("hello");
  var c3_i_1 = new c3(10);
  var c3_i_2 = new c3("hello");
  var c4_i_1 = new c4(10);
  var c4_i_2 = new c4("hello");
  var c5_i_1 = new c5(10);
  var c5_i_2 = new c5("hello");
  ////[0.d.ts]
  /** this is signature 1*/
  function f1(/**param a*/ a: number): number;
  function f1(b: string): number;
  function f2(a: number): number;
  /** this is signature 2*/
  function f2(b: string): number;
  function f3(a: number): number;
  function f3(b: string): number;
  /** this is signature 4 - with number parameter*/
  function f4(/**param a*/ a: number): number;
  /** this is signature 4 - with string parameter*/
  function f4(b: string): number;
  interface i1 {
      /**this signature 1*/
      (/**param a*/ a: number): number;
      /**this is signature 2*/
      (b: string): number;
      /** foo 1*/
      foo(a: number): number;
      /** foo 2*/
      foo(b: string): number;
      foo2(a: number): number;
      /** foo2 2*/
      foo2(b: string): number;
      foo3(a: number): number;
      foo3(b: string): number;
      /** foo4 1*/
      foo4(a: number): number;
      foo4(b: string): number;
      /** new 1*/
      new(a: string);
      new(b: number);
  }
  var i1_i: i1;
  interface i2 {
      new(a: string);
      /** new 2*/
      new(b: number);
      (a: number): number;
      /**this is signature 2*/
      (b: string): number;
  }
  var i2_i: i2;
  interface i3 {
      /** new 1*/
      new(a: string);
      /** new 2*/
      new(b: number);
      /**this is signature 1*/
      (a: number): number;
      (b: string): number;
  }
  var i3_i: i3;
  interface i4 {
      new(a: string);
      new(b: number);
      (a: number): number;
      (b: string): number;
  }
  class c {
      public prop1(a: number): number;
      public prop1(b: string): number;
      /** prop2 1*/
      public prop2(a: number): number;
      public prop2(b: string): number;
      public prop3(a: number): number;
      /** prop3 2*/
      public prop3(b: string): number;
      /** prop4 1*/
      public prop4(a: number): number;
      /** prop4 2*/
      public prop4(b: string): number;
      /** prop5 1*/
      public prop5(a: number): number;
      /** prop5 2*/
      public prop5(b: string): number;
  }
  class c1 {
      constructor(a: number);
      constructor(b: string);
  }
  class c2 {
      /** c2 1*/
      constructor(a: number);
      constructor(b: string);
  }
  class c3 {
      constructor(a: number);
      /** c3 2*/
      constructor(b: string);
  }
  class c4 {
      /** c4 1*/
      constructor(a: number);
      /** c4 2*/
      constructor(b: string);
  }
  class c5 {
      /** c5 1*/
      constructor(a: number);
      /** c5 2*/
      constructor(b: string);
  }
  var c_i: c;
  var c1_i_1: c1;
  var c1_i_2: c1;
  var c2_i_1: c2;
  var c2_i_2: c2;
  var c3_i_1: c3;
  var c3_i_2: c3;
  var c4_i_1: c4;
  var c4_i_2: c4;
  var c5_i_1: c5;
  var c5_i_2: c5;