tor-browser

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

fields-multiple-definitions-static-private-methods-proxy.js (737B)


      1 // Copyright (C) 2018 Rick Waldron. All rights reserved.
      2 // This code is governed by the BSD license found in the LICENSE file.
      3 
      4 /*---
      5 description: Static private methods not accessible via default Proxy handler
      6 esid: prod-FieldDefinition
      7 features: [class, class-static-methods-private]
      8 info: |
      9    ClassElement :
     10      ...
     11      static FieldDefinition ;
     12 
     13    FieldDefinition :
     14      ClassElementName Initializer_opt
     15 
     16    ClassElementName :
     17      PrivateName
     18 
     19    PrivateName :
     20      # IdentifierName
     21 
     22 ---*/
     23 
     24 
     25 var C = class {
     26  static #x(value) {
     27    return 1;
     28  }
     29  static x() {
     30    return this.#x();
     31  }
     32 }
     33 
     34 var P = new Proxy(C, {});
     35 
     36 assert.sameValue(C.x(), 1);
     37 assert.throws(TypeError, function() {
     38  P.x();
     39 });
     40 
     41 reportCompare(0, 0);