v8/test/test262-es6
rossberg 4273f66e98 [es6] Implement proper TDZ for parameters
Previously, examples like (({a = x}, x) => {})({}, 0) did not throw a ReferenceError like they should. This CL

- Splits up DeclareFormalParameters such that the formals can be recorded first and declared later.

- Declaration then takes the complete parameter list into account. If it is not simple, temporaries are introduced for all parameters.

- BuildParameterInitializationBlock desugars all parameters from non-simple lists into let-bindings.

- Refactored Pre/ParserFormalParameters, so that the arity information is no longer duplicated in Parser.

- Rest is currently handled specially, until rest-via-destructuring has landed.

R=adamk@chromium.org, littledan@chromium.org
BUG=v8:811
LOG=N

Review URL: https://codereview.chromium.org/1259283002

Cr-Commit-Position: refs/heads/master@{#30025}
2015-08-05 12:02:23 +00:00
..
harness-adapt.js test/test262: update testcfg.py for new test262 2014-08-22 13:00:10 +00:00
README [test262-es6] Update to 2015-07-06 which includes the yaml harness fix 2015-07-07 13:54:30 +00:00
test262-es6.status [es6] Implement proper TDZ for parameters 2015-08-05 12:02:23 +00:00
testcfg.py [test] Key variant flags by variant name everywhere. 2015-07-29 07:14:30 +00:00

This directory contains code for binding the test262 test suite
into the v8 test harness. To use the tests check out the test262
tests from

  https://github.com/tc39/test262

at hash c6ac390 (2015/07/06 revision) as 'data' in this directory.  Using later
version may be possible but the tests are only known to pass (and indeed run)
with that revision.

  git clone https://github.com/tc39/test262 data
  cd data
  git checkout c6ac390

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.