v8/test/mjsunit/harmony
adamk cf72aad39e [es6] Fix scoping for default parameters in arrow functions
When eagerly parsing arrow functions, expressions in default
parameter initializers are parsed in the enclosing scope,
rather than in the function's scope (since that scope does not
yet exist). This leads to VariableProxies being added to the
wrong scope, and scope chains for FunctionLiterals being incorrect.

This patch addresses these problems by adding a subclass of
AstExpressionVisitor that moves VariableProxies to the proper
scope and fixes up scope chains of FunctionLiterals.

More work likely still needs to be done to make this work completely,
but it's very close to correct.

BUG=v8:4395
LOG=y

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

Cr-Commit-Position: refs/heads/master@{#31402}
2015-10-20 09:15:38 +00:00
..
regress [es6] Fix scoping for default parameters in arrow functions 2015-10-20 09:15:38 +00:00
array-concat.js Guard @@isConcatSpreadable behind a flag 2015-07-08 21:49:58 +00:00
array-includes-to-object-sloppy.js
array-includes-to-object-strict.js
array-includes.js
array-length.js ES6: Array.prototype.slice and friends should use ToLength instead of ToUint32 2015-09-16 18:01:52 +00:00
arrow-rest-params-lazy-parsing.js Remove --harmony-arrow-functions flag 2015-09-30 19:50:40 +00:00
arrow-rest-params.js Remove --harmony-arrow-functions flag 2015-09-30 19:50:40 +00:00
atomics.js [Atomics] Remove support for atomic accesses on floating-point values. 2015-09-15 21:25:14 +00:00
block-conflicts-sloppy.js Add class to existing lexical scoping tests 2015-08-12 18:43:06 +00:00
block-const-assign-sloppy.js Delete --harmony-computed-property-names flag 2015-08-05 21:32:38 +00:00
block-eval-var-over-legacy-const.js Test for var declarations in eval which conflict with let 2015-10-12 14:31:01 +00:00
block-eval-var-over-let.js Test for var declarations in eval which conflict with let 2015-10-12 14:31:01 +00:00
block-for-sloppy.js [es6] Implement completion value reform (--harmony-completion). 2015-10-08 13:57:04 +00:00
block-lazy-compile.js
block-leave-sloppy.js Split off a separate --harmony_sloppy_let flag 2015-07-25 00:05:18 +00:00
block-let-contextual-sloppy.js Prohibit let in lexical bindings 2015-10-05 20:29:22 +00:00
block-let-crankshaft-sloppy.js Split off a separate --harmony_sloppy_let flag 2015-07-25 00:05:18 +00:00
block-let-declaration-sloppy.js Add class to existing lexical scoping tests 2015-08-12 18:43:06 +00:00
block-let-semantics-sloppy.js Implement sloppy-mode block-defined functions (Annex B 3.3) 2015-09-21 04:31:09 +00:00
block-scope-class.js Split function block scoping into a separate flag 2015-08-12 00:00:01 +00:00
block-scoping-sloppy.js [turbofan] Initial support for monomorphic/polymorphic property loads. 2015-10-19 05:24:51 +00:00
block-scoping-top-level-sloppy.js Split off a separate --harmony_sloppy_let flag 2015-07-25 00:05:18 +00:00
block-sloppy-function.js Extend Annex B 3.3 sloppy-mode block-scoped hoisting to scripts, eval 2015-09-30 23:48:34 +00:00
classes-derived-return-type.js
completion.js [es6] Implement completion value reform (--harmony-completion). 2015-10-08 13:57:04 +00:00
dataview-accessors.js
default-parameters-debug.js [es6] Implement default parameters 2015-08-17 12:02:08 +00:00
default-parameters.js Remove --harmony-arrow-functions flag 2015-09-30 19:50:40 +00:00
destructuring-parameters-literalcount-nolazy.js Remove --harmony-arrow-functions flag 2015-09-30 19:50:40 +00:00
destructuring-parameters-literalcount.js Remove --harmony-arrow-functions flag 2015-09-30 19:50:40 +00:00
destructuring.js Destructuring array without initializer throws an exception 2015-10-06 17:01:28 +00:00
futex.js Remove harmony-atomics flag and collapse it into sharedarraybuffer flag 2015-09-01 18:34:00 +00:00
module-linking.js
module-parsing-eval.js
module-recompile.js
module-resolution.js
modules.js
new-target.js Remove --harmony-arrow-functions flag 2015-09-30 19:50:40 +00:00
private.js
proxies-example-membrane.js
proxies-for.js
proxies-function.js [runtime] Replace many buggy uses of %_CallFunction with %_Call. 2015-09-08 13:35:32 +00:00
proxies-hash.js
proxies-json.js
proxies-symbols.js
proxies-with-unscopables.js
proxies-with.js
proxies.js Fix keyed stores to strings convertible to indices 2015-07-13 10:46:35 +00:00
reflect-apply.js
reflect-construct.js
reflect-enumerate-delete.js [es6] Implement Reflect.enumerate. 2015-10-15 12:59:37 +00:00
reflect-enumerate-opt.js [es6] Implement Reflect.enumerate. 2015-10-15 12:59:37 +00:00
reflect-enumerate-special-cases.js [es6] Implement Reflect.enumerate. 2015-10-15 12:59:37 +00:00
reflect-enumerate.js [es6] Implement Reflect.enumerate. 2015-10-15 12:59:37 +00:00
reflect.js [es6] Implement Reflect.enumerate. 2015-10-15 12:59:37 +00:00
regexp-flags.js
regexp-sticky.js RegExp: Fix update of lastIndex on non-global sticky 2015-10-06 21:24:12 +00:00
regexp-tolength.js Make RegExp use ToLength on lastIndex when flag is turned on 2015-10-15 14:10:48 +00:00
rest-params-lazy-parsing.js Remove --harmony-arrow-functions flag 2015-09-30 19:50:40 +00:00
rest-params.js [es6] Re-implement rest parameters via desugaring. 2015-09-02 21:11:05 +00:00
set-prototype-of.js
sharedarraybuffer.js
simd.js Install iterator meta objects via utils object. 2015-10-16 11:27:33 +00:00
spread-array.js
spread-call-new-class.js [es6] Ship rest parameters. 2015-09-28 11:19:35 +00:00
spread-call-new.js [es6] Ship rest parameters. 2015-09-28 11:19:35 +00:00
spread-call-super-property.js [es6] Ship rest parameters. 2015-09-28 11:19:35 +00:00
spread-call.js [es6] Ship rest parameters. 2015-09-28 11:19:35 +00:00
super.js Improving error messages when adding properties to non JSObject receiver in 2015-10-09 09:12:47 +00:00
to-length.js [runtime] Implement %_ToLength via ToLengthStub. 2015-10-19 08:35:18 +00:00
to-name.js [es6] Implement Date.prototype[@@toPrimitive] as C++ builtin. 2015-08-31 12:53:10 +00:00
to-number.js [es6] Implement Date.prototype[@@toPrimitive] as C++ builtin. 2015-08-31 12:53:10 +00:00
to-primitive.js [es6] Implement Date.prototype[@@toPrimitive] as C++ builtin. 2015-08-31 12:53:10 +00:00
to-string.js [es6] Implement Date.prototype[@@toPrimitive] as C++ builtin. 2015-08-31 12:53:10 +00:00
typed-array-includes.js Add includes method to typed arrays 2015-08-11 17:55:24 +00:00
unicode-escapes-in-regexps.js