e26093f3d8
The ES.next drafts require that source code that matches the productions for let and const bindings outside the extended mode trigger early syntax errors. This CL adapts the parser / preparser accordingly under the harmony scoping flag. Summary: * Harmony scoping flag not set: Old semantics allowing const in classic mode with function level scope. Const binding in strict mode and let bindings in classic and strict mode trigger early syntax errors. * Harmony scoping is set: Use new harmony const and let in extended mode and old const in classic mode. This is to preserve compatibility with current web pages that already use non-standard implementations of const. An early syntax error is thrown on const in strict mode and on let in classic and strict mode. This depends on: http://codereview.chromium.org/8562002/ TEST=mjsunit/harmony/block-early-errors.js Review URL: http://codereview.chromium.org/8564001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10079 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 |
||
---|---|---|
.. | ||
block-conflicts.js | ||
block-early-errors.js | ||
block-for.js | ||
block-lazy-compile.js | ||
block-leave.js | ||
block-let-crankshaft.js | ||
block-let-declaration.js | ||
block-let-semantics.js | ||
block-scoping.js | ||
collections.js | ||
debug-blockscopes.js | ||
debug-evaluate-blockscopes.js | ||
proxies-example-membrane.js | ||
proxies-for.js | ||
proxies-function.js | ||
proxies-hash.js | ||
proxies.js | ||
typeof.js |