v8/test/mjsunit/es6
adamk 62572e011e [es6] Ensure that for-in/of loops have a proper TDZ for their lexically-bound variables
The enumerable expression in a for-in/of loop is supposed to have a TDZ for any
lexically bound names in that loop (there can be more than one with destructuring).

This patch accomplishes this with an almost-correct desugaring. The only thing missing
is proper debugger support (the let declarations added by the desugaring, while invisible
to code due to shadowing, are visible to the debugger).

BUG=v8:4210
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#29396}
2015-07-01 00:27:30 +00:00
..
debug-promises Simplify promise event on throw handling. 2015-03-09 13:41:55 +00:00
regress [es6] Ensure that for-in/of loops have a proper TDZ for their lexically-bound variables 2015-07-01 00:27:30 +00:00
arguments-iterator.js Reland "Mark internal AccessorInfo properties as 'special data properties'" 2015-05-18 12:36:40 +00:00
array-iterator.js Add remaining @@toStringTag symbols to builtins 2014-10-24 19:29:10 +00:00
array-tostring.js Update harmony Object.prototype.toString to 2/2/2015 spec 2015-02-03 17:45:20 +00:00
block-conflicts.js Remove --harmony-scoping flag. 2015-03-13 15:15:57 +00:00
block-const-assign.js Remove --harmony-scoping flag. 2015-03-13 15:15:57 +00:00
block-early-errors.js Remove --harmony-scoping flag. 2015-03-13 15:15:57 +00:00
block-for.js [es6] Fix completion values of for loops with lexical variables 2015-06-18 11:54:16 +00:00
block-leave.js Remove --harmony-scoping flag. 2015-03-13 15:15:57 +00:00
block-let-crankshaft.js %GetOptimizationStatus(): Unconditionally return a sentinel when --always-opt is present 2015-04-14 14:57:48 +00:00
block-let-declaration.js Fix test for function declarations syntax error. 2015-03-13 16:57:35 +00:00
block-let-semantics.js Remove --harmony-scoping flag. 2015-03-13 15:15:57 +00:00
block-non-strict-errors.js [es6] Remove harmony-classes flag 2015-06-26 21:16:58 +00:00
block-scoping-top-level.js Stack allocate lexical locals + hoist stack slots 2015-04-22 13:22:18 +00:00
block-scoping.js Remove --harmony-scoping flag. 2015-03-13 15:15:57 +00:00
built-in-accessor-names.js Revert of Add %TypedArray% to proto chain (patchset #6 id:100001 of https://codereview.chromium.org/1186733002/) 2015-06-17 09:05:51 +00:00
class-property-name-eval-arguments.js [es6] Remove harmony-classes flag 2015-06-26 21:16:58 +00:00
classes-experimental.js [es6] Remove harmony-classes flag 2015-06-26 21:16:58 +00:00
classes-lazy-parsing.js [es6] Remove harmony-classes flag 2015-06-26 21:16:58 +00:00
classes-maps.js [es6] Remove harmony-classes flag 2015-06-26 21:16:58 +00:00
classes-subclass-arrays.js [es6] Remove harmony-classes flag 2015-06-26 21:16:58 +00:00
classes.js [es6] Remove harmony-classes flag 2015-06-26 21:16:58 +00:00
collection-iterator.js Add remaining @@toStringTag symbols to builtins 2014-10-24 19:29:10 +00:00
collections.js [es6] Map/Set size getter should have "get size" name 2015-04-24 18:15:59 +00:00
debug-blockscopes.js [es6] Ensure that for-in/of loops have a proper TDZ for their lexically-bound variables 2015-07-01 00:27:30 +00:00
debug-evaluate-blockscopes.js Debugger: require debugger to be active when dealing with breaks. 2015-06-16 07:11:21 +00:00
debug-function-scopes.js Stack allocate lexical locals + hoist stack slots 2015-04-22 13:22:18 +00:00
debug-step-into-class-extends.js [es6] Remove harmony-classes flag 2015-06-26 21:16:58 +00:00
debug-step-into-constructor.js [es6] Remove harmony-classes flag 2015-06-26 21:16:58 +00:00
debug-stepin-collections-foreach.js Enable ES6 Map and Set by default 2014-08-05 19:37:32 +00:00
debug-stepin-generators.js Support stepping into generator function. 2014-09-17 12:27:16 +00:00
debug-stepin-microtasks.js Allow stepping into Object.observe handlers. 2014-11-19 15:16:40 +00:00
debug-stepin-promises.js Make debugger step into bound callbacks passed to Array.forEach. 2015-03-24 16:02:12 +00:00
debug-stepnext-for.js [es6] Ensure that for-in/of loops have a proper TDZ for their lexically-bound variables 2015-07-01 00:27:30 +00:00
empty-for.js Remove --harmony-scoping flag. 2015-03-13 15:15:57 +00:00
function-length-configurable.js [es6] Function length property should be configurable 2015-03-13 17:19:53 +00:00
function-name-configurable.js [es6] Function.prototype.name should be the empty string 2015-04-23 00:29:27 +00:00
function-prototype-name.js [es6] Function.prototype.name should be the empty string 2015-04-23 00:29:27 +00:00
generators-debug-liveedit.js Debugger: remove unused JS Debugger API. 2015-03-26 08:15:45 +00:00
generators-debug-scopes.js harmony-scoping: Implement debugger support for script scope. 2014-11-17 17:58:12 +00:00
generators-iteration.js Leaving a generator via an exception causes it to close 2014-11-12 14:29:22 +00:00
generators-mirror.js Expose generator object internal properties via mirrors. 2014-11-28 14:49:08 +00:00
generators-objects.js Remove invalid assertion 2015-04-01 15:22:19 +00:00
generators-parsing.js Enable ES6 generators 2014-09-16 12:30:39 +00:00
generators-poisoned-properties.js [es6] do not add caller/arguments to ES6 function definitions 2015-04-09 22:40:28 +00:00
generators-relocation.js Debugger: require debugger to be active when dealing with breaks. 2015-06-16 07:11:21 +00:00
generators-runtime.js [es6] Define generator prototype as writable prop 2015-05-26 18:31:49 +00:00
generators-states.js Leaving a generator via an exception causes it to close 2014-11-12 14:29:22 +00:00
indexed-integer-exotics.js Cleanup INTEGER_INDEXED_EXOTIC handling a bit 2015-06-18 14:39:11 +00:00
iteration-semantics.js Remove --harmony-scoping flag. 2015-03-13 15:15:57 +00:00
iteration-syntax.js Remove --harmony-scoping flag. 2015-03-13 15:15:57 +00:00
iterator-prototype.js [es6] Iterators and generators should "extend" %IteratorPrototype% 2015-05-15 15:09:38 +00:00
json.js Add remaining @@toStringTag symbols to builtins 2014-10-24 19:29:10 +00:00
map-minus-zero.js Fix issue with -0 in Maps 2015-02-20 21:02:55 +00:00
math-cbrt.js Ship ES6 Math functions. 2014-07-16 14:00:15 +00:00
math-clz32.js Ship ES6 Math functions. 2014-07-16 14:00:15 +00:00
math-expm1.js Implement Math.expm1 using port from fdlibm. 2014-08-20 14:24:07 +00:00
math-fround.js Inline Math.fround in optimized code. 2014-07-29 11:34:08 +00:00
math-hyperbolic.js Fix typo in math-hyperbolic test. 2014-09-01 10:23:07 +00:00
math-hypot.js Ship ES6 Math functions. 2014-07-16 14:00:15 +00:00
math-log1p.js Implement Math.log1p using port from fdlibm. 2014-08-12 13:36:33 +00:00
math-log2-log10.js Fix Math.log10 implementation for 1 - Number.EPSILON. 2015-04-14 11:56:02 +00:00
math-sign.js Ship ES6 Math functions. 2014-07-16 14:00:15 +00:00
math-trunc.js Ship ES6 Math functions. 2014-07-16 14:00:15 +00:00
math.js Add remaining @@toStringTag symbols to builtins 2014-10-24 19:29:10 +00:00
method-name-eval-arguments.js [es6] Remove harmony-object-literal flag 2015-06-26 19:49:53 +00:00
microtask-delivery.js Re^3-land "Ship promises and weak collections" 2014-05-06 14:48:34 +00:00
mirror-collections.js Add optional max elements limit for Map/Set mirror iterator preview. 2014-11-11 09:47:19 +00:00
mirror-iterators.js Expose internal properties of map/set iterators via mirrors. 2014-11-17 12:48:29 +00:00
mirror-promises.js Remove obsolete --harmony-promises flag from tests. 2014-06-20 10:47:50 +00:00
mirror-symbols.js Enable ES6 Symbols by default 2014-08-04 18:17:54 +00:00
numeric-literals.js Remove --harmony-numeric-literal flag 2015-03-31 14:24:30 +00:00
object-literals-method.js [es6] Remove harmony-object-literal flag 2015-06-26 19:49:53 +00:00
object-literals-property-shorthand.js [es6] Remove harmony-object-literal flag 2015-06-26 19:49:53 +00:00
object-tostring.js Update harmony ObjectProtoToString() to 2/2/2015 spec 2015-02-03 21:05:25 +00:00
promise-internal-setter.js [es6] Make sure we do not invoke setter when calling Promise.all 2015-06-29 18:14:37 +00:00
promises.js Revert of Revert of Revert of Promise assimilation fix. (patchset #1 id:1 of https://codereview.chromium.org/1181533006/) 2015-06-11 09:09:18 +00:00
prototype-ordinary-objects.js Revert "ES6: Number and Boolean prototype should be ordinary objects" 2015-04-13 16:21:00 +00:00
set-minus-zero.js Fix issue with -0 in Maps 2015-02-20 21:02:55 +00:00
string-codepointat.js Remove harmony-strings flag. 2015-03-20 10:43:38 +00:00
string-endswith.js Remove harmony-strings flag. 2015-03-20 10:43:38 +00:00
string-fromcodepoint.js Remove harmony-strings flag. 2015-03-20 10:43:38 +00:00
string-html.js Fix HTML string methods to not depend on replace method 2015-06-22 21:55:56 +00:00
string-includes.js Remove harmony-strings flag. 2015-03-20 10:43:38 +00:00
string-iterator.js Add remaining @@toStringTag symbols to builtins 2014-10-24 19:29:10 +00:00
string-raw.js [es6] call ToString() on template substitutions 2015-03-24 12:44:01 +00:00
string-repeat.js Remove harmony-strings flag. 2015-03-20 10:43:38 +00:00
string-startswith.js Remove harmony-strings flag. 2015-03-20 10:43:38 +00:00
symbols.js [es6] Fix symbol comparison on some architectures 2015-05-06 15:04:47 +00:00
templates.js [parser] parse CalllExpression TemplateLiteral production 2015-06-16 18:08:28 +00:00
throw-type-error-function-restrictions.js Fix issues with name and length on poison pill function 2015-04-15 17:15:26 +00:00
toMethod.js [es6] Remove harmony-classes flag 2015-06-26 21:16:58 +00:00
typed-array-iterator.js Don't expose Array.prototype.values as it breaks webcompat 2014-10-17 20:11:47 +00:00
unscopables.js ES6: Unscopable should use ToBoolean 2015-03-31 15:14:20 +00:00