| // Copyright 2019 the V8 project authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| // Flags: --harmony-private-fields |
| |
| (function CaptureStackTracePrivateSymbol() { |
| var o = {}; |
| Object.preventExtensions(o); |
| |
| try { Error.captureStackTrace(o); } catch (e) {} |
| try { Error.captureStackTrace(o); } catch (e) {} |
| })(); |
| |
| (function PrivateFieldAfterPreventExtensions() { |
| class C { |
| constructor() { |
| this.x = 1; |
| Object.preventExtensions(this); |
| } |
| } |
| |
| class D extends C { |
| #i = 42; |
| |
| set(i) { this.#i = i; } |
| get(i) { return this.#i; } |
| } |
| |
| let d = new D(); |
| d.x = 0.1; |
| assertEquals(42, d.get()); |
| d.set(43); |
| assertEquals(43, d.get()); |
| })(); |