tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

super.js (1040B)


      1 class Base {
      2 }
      3 
      4 class C extends Base {
      5  field;
      6 }
      7 let c = new C();
      8 assertEq(true, "field" in c);
      9 
     10 var D = class extends Base {
     11  field;
     12 };
     13 let d = new D();
     14 assertEq(true, "field" in d);
     15 
     16 class E extends Base {
     17  field;
     18  constructor() {
     19    super();
     20  }
     21 };
     22 let e = new E();
     23 assertEq(true, "field" in e);
     24 
     25 class F extends Base {
     26  constructor() {
     27    super();
     28  }
     29  field;
     30 };
     31 let f = new F();
     32 assertEq(true, "field" in f);
     33 
     34 class G extends Base {
     35  field2 = 2;
     36  constructor() {
     37    super();
     38  }
     39  field3 = 3;
     40 };
     41 let g = new G();
     42 assertEq(2, g.field2);
     43 assertEq(3, g.field3);
     44 
     45 class H extends Base {
     46  field = 2;
     47  constructor() {
     48    eval("super()");
     49  }
     50 };
     51 let h = new H();
     52 assertEq(2, h.field);
     53 
     54 class I extends Base {
     55  field = 2;
     56  constructor() {
     57      class Tmp {
     58          field = 10;
     59          [super()];
     60      }
     61  }
     62 };
     63 let i = new I();
     64 assertEq(2, i.field);
     65 
     66 class J extends Base {
     67  field = 2;
     68  constructor() {
     69      class Tmp {
     70          field = 10;
     71          [super()](){}
     72      }
     73  }
     74 };
     75 let j = new J();
     76 assertEq(2, j.field);