9ace845f6c
Previously when an unresolved private name is not found in the current scope but found in an outer class scope, we forget to push it to the outer class scope so the name would never get bound. This patch simplifies ClassScope::ResolvePrivateNamesPartially() and removes the search in outer class scopes since they are incomplete at this point. Instead just push any private name that can't be resolved in the current scope to the outer class scope so that it gets handled later when the outer class scope is complete. Bug: chromium:952722 Change-Id: Ia0dda74cac57a0a1e25a9a09575f55633c6093b5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1567709 Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Joyee Cheung <joyee@igalia.com> Cr-Commit-Position: refs/heads/master@{#60863}
13 lines
281 B
JavaScript
13 lines
281 B
JavaScript
// 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: --no-lazy
|
|
|
|
class A {
|
|
static #a = 1;
|
|
static b = class {
|
|
static get_A() { return val.#a; }
|
|
}
|
|
}
|