v8/test/test262
Shu-yu Guo a3c7e96891 [class] Fix private name scope chain
Expressions in class heritage position do not have access to the
inheriting class's private names, only its lexical bindings. The parser
currently uses the same scope chain for both.

This CL makes scopes in class heritage position skip their outer class
when resolving private names. Whether a scope needs to skip is kept as a
bit on various scope-related data structures.

See implementation doc at
https://docs.google.com/document/d/1d3o_SQqcICxfjLMw53OOaiIQux0ppNHQJnjZHtCQLwA

Bug: v8:9177
Change-Id: I77e491a9d4a261131274f12ddf052af7ac31a921
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1769486
Commit-Queue: Shu-yu Guo <syg@chromium.org>
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Reviewed-by: Mathias Bynens <mathias@chromium.org>
Cr-Commit-Position: refs/heads/master@{#63586}
2019-09-06 00:52:07 +00:00
..
local-tests/test [class] Fix ClassScope::LookupPrivateName to walk scope chain 2019-08-20 20:18:39 +00:00
BUILD.gn [tools] Add FAIL_PHASE_ONLY status file modifier for test262 tests 2018-11-22 12:43:05 +00:00
detachArrayBuffer.js [typedarrays] Use Detach instead of Neuter 2018-12-11 11:57:30 +00:00
harness-adapt-donotevaluate.js [tools] Add FAIL_PHASE_ONLY status file modifier for test262 tests 2018-11-22 12:43:05 +00:00
harness-adapt.js [test262] Expose gc() to test262 harness 2019-07-23 14:09:05 +00:00
harness-agent.js [d8] Update new Worker API to match the Web API 2018-09-20 00:10:28 +00:00
OWNERS Add OWNERS files for src and test 2019-05-30 04:51:21 +00:00
prune-local-tests.sh test262 roll 2017-02-10 19:05:55 +00:00
README Make test262 README file revision independent. 2015-11-04 10:52:44 +00:00
test262.status [class] Fix private name scope chain 2019-09-06 00:52:07 +00:00
testcfg.py Roll Test262 2019-08-12 12:02:58 +00:00
upstream-local-tests.sh test262 roll 2017-03-13 14:33:07 +00:00

This directory contains code for binding the test262 test suite
into the v8 test harness. The tests are checked out as a dependency from

  https://chromium.googlesource.com/external/github.com/tc39/test262

at a revision specified in the DEPS file as 'data' in this directory. They are
fetched with 'gclient sync'. To update to a newer version, please change the
DEPS file.

Using a newer version, e.g. 'deadbeef' may be possible but the tests are only
known to pass (and indeed run) with the DEPS revision. Example:

  cd data
  git fetch
  git checkout deadbeef

If you do update to a newer revision you may have to change the test
harness adapter code since it uses internal functionality from the
harness that comes bundled with the tests.  You will most likely also
have to update the test expectation file.