tor-browser

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

nested-derived-cls-direct-eval-err-contains-supercall-2.js (952B)


      1 // This file was procedurally generated from the following sources:
      2 // - src/class-elements/eval-err-contains-supercall-2.case
      3 // - src/class-elements/initializer-eval-super-call/cls-decl-fields-eval-nested.template
      4 /*---
      5 description: error if `super().x` in StatementList of eval (direct eval)
      6 esid: sec-performeval-rules-in-initializer
      7 features: [class, class-fields-public]
      8 flags: [generated]
      9 info: |
     10    Additional Early Error Rules for Eval Outside Constructor Methods
     11    These static semantics are applied by PerformEval when a direct eval call occurs outside of the constructor method of a ClassDeclaration or ClassExpression.
     12    ScriptBody : StatementList
     13 
     14      It is a Syntax Error if StatementList Contains SuperCall.
     15 
     16 ---*/
     17 
     18 
     19 var executed = false;
     20 class A {}
     21 class C extends A {
     22  x = eval('executed = true; super().x;');
     23 }
     24 
     25 assert.throws(SyntaxError, function() {
     26  new C();
     27 });
     28 
     29 assert.sameValue(executed, false);
     30 
     31 reportCompare(0, 0);