Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Merged by Bors] - Implement arrow function parsing based on CoverParenthesizedExpressionAndArrowParameterList #2171

Closed
wants to merge 3 commits into from

Conversation

raskad
Copy link
Member

@raskad raskad commented Jul 9, 2022

Previously we parsed arrow functions without the relevant cover grammar CoverParenthesizedExpressionAndArrowParameterList. This leads to either arrow functions or parenthesized expressions not being parsed correctly. Implementing this is a bit tricky, as the cover grammar is being parsed in PrimaryExpression while arrow functions are parsed in AssignmentExpression. This means that we have to return the covered parameter list that was parsed via CoverParenthesizedExpressionAndArrowParameterList in PrimaryExpression to AssignmentExpression. Fortunately this works pretty good and now the full arrow function test suite, with the exception of a few tests that require other features, passes.

This Pull Request changes the following:

  • Implement CoverParenthesizedExpressionAndArrowParameterList parsing.
  • Implement CoverInitializedName parsing in object literals.
  • Fix a bug where an environment would be wrongly removed from the environment stack when an expression in default function parameters throws.
  • Add more valid cases where on object literal can be converted to an object declaration pattern.
  • Implement Expression parsing manually to avoid some cases where the parser would prematurely throw an error.
  • Implement parsing of arrow functions via CoverParenthesizedExpressionAndArrowParameterList.
  • Remove unneeded AllowIn flag on array and object declaration pattern parsers.
  • Fix an of-by-one bug in the trace output.

@raskad raskad added enhancement New feature or request parser Issues surrounding the parser labels Jul 9, 2022
@raskad raskad added this to the v0.16.0 milestone Jul 9, 2022
@github-actions
Copy link

github-actions bot commented Jul 9, 2022

Test262 conformance changes

VM implementation

Test result main count PR count difference
Total 90,847 90,847 0
Passed 59,090 59,784 +694
Ignored 14,012 14,012 0
Failed 17,745 17,051 -694
Panics 0 0 0
Conformance 65.04% 65.81% +0.76%
Fixed tests (694):
test/built-ins/Promise/any/invoke-resolve-get-once-multiple-calls.js [strict mode] (previously Failed)
test/built-ins/Promise/any/invoke-resolve-get-once-multiple-calls.js (previously Failed)
test/built-ins/Promise/any/resolve-not-callable-reject-with-typeerror.js [strict mode] (previously Failed)
test/built-ins/Promise/any/resolve-not-callable-reject-with-typeerror.js (previously Failed)
test/built-ins/Promise/any/invoke-resolve-get-once-no-calls.js [strict mode] (previously Failed)
test/built-ins/Promise/any/invoke-resolve-get-once-no-calls.js (previously Failed)
test/built-ins/Promise/any/iter-arg-is-empty-string-reject.js [strict mode] (previously Failed)
test/built-ins/Promise/any/iter-arg-is-empty-string-reject.js (previously Failed)
test/built-ins/Promise/any/iter-arg-is-empty-iterable-reject.js [strict mode] (previously Failed)
test/built-ins/Promise/any/iter-arg-is-empty-iterable-reject.js (previously Failed)
test/built-ins/Promise/any/reject-all-mixed.js [strict mode] (previously Failed)
test/built-ins/Promise/any/reject-all-mixed.js (previously Failed)
test/built-ins/Promise/all/resolve-not-callable-reject-with-typeerror.js [strict mode] (previously Failed)
test/built-ins/Promise/all/resolve-not-callable-reject-with-typeerror.js (previously Failed)
test/built-ins/Promise/allSettled/resolve-not-callable-reject-with-typeerror.js [strict mode] (previously Failed)
test/built-ins/Promise/allSettled/resolve-not-callable-reject-with-typeerror.js (previously Failed)
test/language/statements/function/length-dflt.js [strict mode] (previously Failed)
test/language/statements/function/length-dflt.js (previously Failed)
test/language/statements/for-of/dstr/obj-prop-elem-init-yield-ident-valid.js (previously Failed)
test/language/statements/for-of/dstr/obj-id-init-order.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/obj-id-init-order.js (previously Failed)
test/language/statements/for-of/dstr/array-rest-nested-obj-undefined-own.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/array-rest-nested-obj-undefined-own.js (previously Failed)
test/language/statements/for-of/dstr/obj-prop-nested-obj.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/obj-prop-nested-obj.js (previously Failed)
test/language/statements/for-of/dstr/array-rest-nested-obj.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/array-rest-nested-obj.js (previously Failed)
test/language/statements/for-of/dstr/obj-prop-elem-init-assignment-null.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/obj-prop-elem-init-assignment-null.js (previously Failed)
test/language/statements/for-of/dstr/obj-prop-elem-init-assignment-truthy.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/obj-prop-elem-init-assignment-truthy.js (previously Failed)
test/language/statements/for-of/dstr/obj-id-init-fn-name-class.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/obj-id-init-fn-name-class.js (previously Failed)
test/language/statements/for-of/dstr/obj-id-init-assignment-undef.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/obj-id-init-assignment-undef.js (previously Failed)
test/language/statements/for-of/dstr/obj-prop-put-order.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/obj-prop-put-order.js (previously Failed)
test/language/statements/for-of/dstr/obj-prop-name-evaluation-error.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/obj-prop-name-evaluation-error.js (previously Failed)
test/language/statements/for-of/dstr/obj-prop-nested-array-null.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/obj-prop-nested-array-null.js (previously Failed)
test/language/statements/for-of/dstr/array-rest-nested-obj-undefined-hole.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/array-rest-nested-obj-undefined-hole.js (previously Failed)
test/language/statements/for-of/dstr/obj-prop-elem-init-evaluation.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/obj-prop-elem-init-evaluation.js (previously Failed)
test/language/statements/for-of/dstr/obj-prop-nested-array-undefined.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/obj-prop-nested-array-undefined.js (previously Failed)
test/language/statements/for-of/dstr/obj-id-init-let.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/obj-id-init-let.js (previously Failed)
test/language/statements/for-of/dstr/obj-prop-name-evaluation.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/obj-prop-name-evaluation.js (previously Failed)
test/language/statements/for-of/dstr/array-rest-nested-obj-null.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/array-rest-nested-obj-null.js (previously Failed)
test/language/statements/for-of/dstr/obj-id-init-fn-name-arrow.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/obj-id-init-fn-name-arrow.js (previously Failed)
test/language/statements/for-of/dstr/obj-prop-identifier-resolution-middle.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/obj-prop-identifier-resolution-middle.js (previously Failed)
test/language/statements/for-of/dstr/obj-prop-nested-array-yield-ident-valid.js (previously Failed)
test/language/statements/for-of/dstr/obj-prop-elem-init-assignment-undef.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/obj-prop-elem-init-assignment-undef.js (previously Failed)
test/language/statements/for-of/dstr/obj-prop-elem-init-fn-name-class.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/obj-prop-elem-init-fn-name-class.js (previously Failed)
test/language/statements/for-of/dstr/obj-prop-nested-obj-null.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/obj-prop-nested-obj-null.js (previously Failed)
test/language/statements/for-of/dstr/obj-prop-nested-array-undefined-own.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/obj-prop-nested-array-undefined-own.js (previously Failed)
test/language/statements/for-of/dstr/obj-id-init-fn-name-gen.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/obj-id-init-fn-name-gen.js (previously Failed)
test/language/statements/for-of/dstr/obj-prop-put-unresolvable-no-strict.js (previously Failed)
test/language/statements/for-of/dstr/obj-id-init-assignment-truthy.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/obj-id-init-assignment-truthy.js (previously Failed)
test/language/statements/for-of/dstr/obj-prop-identifier-resolution-first.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/obj-prop-identifier-resolution-first.js (previously Failed)
test/language/statements/for-of/dstr/obj-prop-nested-obj-undefined-own.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/obj-prop-nested-obj-undefined-own.js (previously Failed)
test/language/statements/for-of/dstr/obj-prop-elem-init-fn-name-fn.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/obj-prop-elem-init-fn-name-fn.js (previously Failed)
test/language/statements/for-of/dstr/obj-id-init-simple-no-strict.js (previously Failed)
test/language/statements/for-of/dstr/obj-prop-elem-init-fn-name-arrow.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/obj-prop-elem-init-fn-name-arrow.js (previously Failed)
test/language/statements/for-of/dstr/obj-id-init-fn-name-fn.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/obj-id-init-fn-name-fn.js (previously Failed)
test/language/statements/for-of/dstr/obj-prop-elem-init-fn-name-gen.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/obj-prop-elem-init-fn-name-gen.js (previously Failed)
test/language/statements/for-of/dstr/obj-prop-nested-obj-undefined.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/obj-prop-nested-obj-undefined.js (previously Failed)
test/language/statements/for-of/dstr/obj-id-init-assignment-missing.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/obj-id-init-assignment-missing.js (previously Failed)
test/language/statements/for-of/dstr/obj-prop-elem-init-fn-name-cover.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/obj-prop-elem-init-fn-name-cover.js (previously Failed)
test/language/statements/for-of/dstr/obj-prop-nested-array.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/obj-prop-nested-array.js (previously Failed)
test/language/statements/for-of/dstr/obj-id-init-fn-name-cover.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/obj-id-init-fn-name-cover.js (previously Failed)
test/language/statements/for-of/dstr/obj-prop-elem-init-in.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/obj-prop-elem-init-in.js (previously Failed)
test/language/statements/for-of/dstr/obj-prop-elem-init-let.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/obj-prop-elem-init-let.js (previously Failed)
test/language/statements/for-of/dstr/obj-id-init-in.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/obj-id-init-in.js (previously Failed)
test/language/statements/for-of/dstr/obj-id-init-yield-ident-valid.js (previously Failed)
test/language/statements/for-of/dstr/obj-id-init-evaluation.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/obj-id-init-evaluation.js (previously Failed)
test/language/statements/for-of/dstr/obj-prop-identifier-resolution-lone.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/obj-prop-identifier-resolution-lone.js (previously Failed)
test/language/statements/for-of/dstr/obj-prop-identifier-resolution-trlng.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/obj-prop-identifier-resolution-trlng.js (previously Failed)
test/language/statements/for-of/dstr/obj-id-init-assignment-null.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/obj-id-init-assignment-null.js (previously Failed)
test/language/statements/for-of/dstr/array-rest-nested-obj-undefined.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/array-rest-nested-obj-undefined.js (previously Failed)
test/language/statements/for-of/dstr/array-elem-nested-obj-yield-ident-valid.js (previously Failed)
test/language/statements/for-of/dstr/array-rest-nested-obj-yield-ident-valid.js (previously Failed)
test/language/statements/for-of/dstr/obj-prop-identifier-resolution-last.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/obj-prop-identifier-resolution-last.js (previously Failed)
test/language/statements/for-of/dstr/obj-prop-elem-init-assignment-missing.js [strict mode] (previously Failed)
test/language/statements/for-of/dstr/obj-prop-elem-init-assignment-missing.js (previously Failed)
test/language/statements/for-of/dstr/obj-prop-nested-obj-yield-ident-valid.js (previously Failed)
test/language/statements/generators/length-dflt.js [strict mode] (previously Failed)
test/language/statements/generators/length-dflt.js (previously Failed)
test/language/statements/class/method-length-dflt.js [strict mode] (previously Failed)
test/language/statements/class/method-length-dflt.js (previously Failed)
test/language/statements/class/static-method-length-dflt.js [strict mode] (previously Failed)
test/language/statements/class/static-method-length-dflt.js (previously Failed)
test/language/statements/class/gen-method-length-dflt.js [strict mode] (previously Failed)
test/language/statements/class/gen-method-length-dflt.js (previously Failed)
test/language/eval-code/direct/arrow-fn-body-cntns-arguments-func-decl-arrow-func-declare-arguments-assign.js (previously Failed)
test/language/eval-code/direct/arrow-fn-body-cntns-arguments-var-bind-arrow-func-declare-arguments-assign.js (previously Failed)
test/language/eval-code/direct/arrow-fn-body-cntns-arguments-lex-bind-arrow-func-declare-arguments-assign.js (previously Failed)
test/language/eval-code/direct/arrow-fn-body-cntns-arguments-var-bind-arrow-func-declare-arguments-assign-incl-def-param-arrow-arguments.js (previously Failed)
test/language/eval-code/direct/arrow-fn-a-following-parameter-is-named-arguments-arrow-func-declare-arguments-assign-incl-def-param-arrow-arguments.js (previously Failed)
test/language/eval-code/direct/arrow-fn-no-pre-existing-arguments-bindings-are-present-arrow-func-declare-arguments-assign.js (previously Failed)
test/language/eval-code/direct/arrow-fn-no-pre-existing-arguments-bindings-are-present-arrow-func-declare-arguments-assign-incl-def-param-arrow-arguments.js (previously Failed)
test/language/eval-code/direct/arrow-fn-a-following-parameter-is-named-arguments-arrow-func-declare-arguments-assign.js (previously Failed)
test/language/eval-code/direct/arrow-fn-body-cntns-arguments-lex-bind-arrow-func-declare-arguments-assign-incl-def-param-arrow-arguments.js (previously Failed)
test/language/eval-code/direct/arrow-fn-body-cntns-arguments-func-decl-arrow-func-declare-arguments-assign-incl-def-param-arrow-arguments.js (previously Failed)
test/language/expressions/function/length-dflt.js [strict mode] (previously Failed)
test/language/expressions/function/length-dflt.js (previously Failed)
test/language/expressions/object/method-definition/generator-length-dflt.js [strict mode] (previously Failed)
test/language/expressions/object/method-definition/generator-length-dflt.js (previously Failed)
test/language/expressions/object/method-definition/name-length-dflt.js [strict mode] (previously Failed)
test/language/expressions/object/method-definition/name-length-dflt.js (previously Failed)
test/language/expressions/arrow-function/dflt-params-abrupt.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dflt-params-abrupt.js (previously Failed)
test/language/expressions/arrow-function/dflt-params-arg-val-not-undefined.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dflt-params-arg-val-not-undefined.js (previously Failed)
test/language/expressions/arrow-function/scope-paramsbody-var-close.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/scope-paramsbody-var-close.js (previously Failed)
test/language/expressions/arrow-function/param-dflt-yield-id-non-strict.js (previously Failed)
test/language/expressions/arrow-function/dflt-params-ref-self.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dflt-params-ref-self.js (previously Failed)
test/language/expressions/arrow-function/scope-param-rest-elem-var-open.js (previously Failed)
test/language/expressions/arrow-function/scope-param-elem-var-close.js (previously Failed)
test/language/expressions/arrow-function/length-dflt.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/length-dflt.js (previously Failed)
test/language/expressions/arrow-function/scope-paramsbody-var-open.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/scope-paramsbody-var-open.js (previously Failed)
test/language/expressions/arrow-function/eval-var-scope-syntax-err.js (previously Failed)
test/language/expressions/arrow-function/dflt-params-ref-later.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dflt-params-ref-later.js (previously Failed)
test/language/expressions/arrow-function/scope-param-elem-var-open.js (previously Failed)
test/language/expressions/arrow-function/dflt-params-arg-val-undefined.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dflt-params-arg-val-undefined.js (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-obj-ptrn-prop-obj-init.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-obj-ptrn-prop-obj-init.js (previously Failed)
test/language/expressions/arrow-function/dstr/obj-ptrn-prop-ary-trailing-comma.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/obj-ptrn-prop-ary-trailing-comma.js (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-elem-obj-id-init.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-elem-obj-id-init.js (previously Failed)
test/language/expressions/arrow-function/dstr/obj-ptrn-prop-id-init.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/obj-ptrn-prop-id-init.js (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-rest-id-elision-next-err.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-rest-id-elision-next-err.js (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-elem-ary-elision-init.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-elem-ary-elision-init.js (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-elem-id-init-unresolvable.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-elem-id-init-unresolvable.js (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-rest-id-elision.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-rest-id-elision.js (previously Failed)
test/language/expressions/arrow-function/dstr/obj-ptrn-id-init-unresolvable.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/obj-ptrn-id-init-unresolvable.js (previously Failed)
test/language/expressions/arrow-function/dstr/obj-ptrn-prop-id.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/obj-ptrn-prop-id.js (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-elem-ary-elem-init.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-elem-ary-elem-init.js (previously Failed)
test/language/expressions/arrow-function/dstr/ary-init-iter-get-err-array-prototype.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/ary-init-iter-get-err-array-prototype.js (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-rest-id-iter-val-err.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-rest-id-iter-val-err.js (previously Failed)
test/language/expressions/arrow-function/dstr/obj-init-null.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/obj-init-null.js (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-init-iter-get-err.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-init-iter-get-err.js (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-obj-ptrn-id-init-fn-name-cover.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-obj-ptrn-id-init-fn-name-cover.js (previously Failed)
test/language/expressions/arrow-function/dstr/obj-ptrn-prop-id-get-value-err.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/obj-ptrn-prop-id-get-value-err.js (previously Failed)
test/language/expressions/arrow-function/dstr/obj-ptrn-prop-id-init-unresolvable.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/obj-ptrn-prop-id-init-unresolvable.js (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-rest-id-iter-step-err.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-rest-id-iter-step-err.js (previously Failed)
test/language/expressions/arrow-function/dstr/obj-ptrn-prop-id-init-throws.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/obj-ptrn-prop-id-init-throws.js (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-elem-id-init-throws.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-elem-id-init-throws.js (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-obj-ptrn-id-init-unresolvable.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-obj-ptrn-id-init-unresolvable.js (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-elem-id-init-hole.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-elem-id-init-hole.js (previously Failed)
test/language/expressions/arrow-function/dstr/obj-ptrn-prop-id-trailing-comma.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/obj-ptrn-prop-id-trailing-comma.js (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-elision-step-err.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-elision-step-err.js (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-elem-id-init-fn-name-gen.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-elem-id-init-fn-name-gen.js (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-rest-ary-empty.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-rest-ary-empty.js (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-elem-id-init-fn-name-class.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-elem-id-init-fn-name-class.js (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-elem-ary-rest-init.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-elem-ary-rest-init.js (previously Failed)
test/language/expressions/arrow-function/dstr/ary-init-iter-close.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/ary-init-iter-close.js (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-elem-id-init-undef.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-elem-id-init-undef.js (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-elem-id-init-exhausted.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-elem-id-init-exhausted.js (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-elem-ary-rest-iter.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-elem-ary-rest-iter.js (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-obj-ptrn-prop-obj-value-null.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-obj-ptrn-prop-obj-value-null.js (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-elision-step-err.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-elision-step-err.js (previously Failed)
test/language/expressions/arrow-function/dstr/obj-ptrn-id-init-fn-name-class.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/obj-ptrn-id-init-fn-name-class.js (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-elem-ary-val-null.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-elem-ary-val-null.js (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-elem-ary-empty-iter.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-elem-ary-empty-iter.js (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-elem-id-iter-done.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-elem-id-iter-done.js (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-init-iter-close.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-init-iter-close.js (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-obj-ptrn-prop-ary.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-obj-ptrn-prop-ary.js (previously Failed)
test/language/expressions/arrow-function/dstr/obj-ptrn-prop-ary.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/obj-ptrn-prop-ary.js (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-rest-id.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-rest-id.js (previously Failed)
test/language/expressions/arrow-function/dstr/ary-init-iter-no-close.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/ary-init-iter-no-close.js (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-elem-id-iter-val-array-prototype.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-elem-id-iter-val-array-prototype.js (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-obj-ptrn-id-trailing-comma.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-obj-ptrn-id-trailing-comma.js (previously Failed)
test/language/expressions/arrow-function/dstr/obj-ptrn-id-init-fn-name-arrow.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/obj-ptrn-id-init-fn-name-arrow.js (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-obj-ptrn-prop-id-get-value-err.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-obj-ptrn-prop-id-get-value-err.js (previously Failed)
test/language/expressions/arrow-function/dstr/obj-ptrn-rest-skip-non-enumerable.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/obj-ptrn-rest-skip-non-enumerable.js (previously Failed)
test/language/expressions/arrow-function/dstr/obj-ptrn-rest-getter.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/obj-ptrn-rest-getter.js (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-empty.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-empty.js (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-elem-obj-val-undef.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-elem-obj-val-undef.js (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-elem-id-init-fn-name-cover.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-elem-id-init-fn-name-cover.js (previously Failed)
test/language/expressions/arrow-function/dstr/obj-ptrn-prop-obj-value-null.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/obj-ptrn-prop-obj-value-null.js (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-obj-ptrn-id-init-fn-name-fn.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-obj-ptrn-id-init-fn-name-fn.js (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-rest-obj-prop-id.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-rest-obj-prop-id.js (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-rest-obj-prop-id.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-rest-obj-prop-id.js (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-obj-ptrn-prop-id-init-skipped.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-obj-ptrn-prop-id-init-skipped.js (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-obj-ptrn-rest-getter.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-obj-ptrn-rest-getter.js (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-elem-id-init-fn-name-class.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-elem-id-init-fn-name-class.js (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-elem-id-iter-complete.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-elem-id-iter-complete.js (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-rest-id-exhausted.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-rest-id-exhausted.js (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-rest-id-direct.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-rest-id-direct.js (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-rest-id-iter-step-err.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-rest-id-iter-step-err.js (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-obj-ptrn-prop-id-init-throws.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-obj-ptrn-prop-id-init-throws.js (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-elem-ary-rest-init.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-elem-ary-rest-init.js (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-obj-ptrn-rest-val-obj.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-obj-ptrn-rest-val-obj.js (previously Failed)
test/language/expressions/arrow-function/dstr/obj-ptrn-list-err.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/obj-ptrn-list-err.js (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-elem-obj-prop-id.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-elem-obj-prop-id.js (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-obj-ptrn-id-init-fn-name-gen.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-obj-ptrn-id-init-fn-name-gen.js (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-elem-obj-val-null.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-elem-obj-val-null.js (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-elem-id-init-unresolvable.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-elem-id-init-unresolvable.js (previously Failed)
test/language/expressions/arrow-function/dstr/obj-ptrn-empty.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/obj-ptrn-empty.js (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-init-iter-get-err-array-prototype.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-init-iter-get-err-array-prototype.js (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-rest-ary-empty.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-rest-ary-empty.js (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-elem-id-init-fn-name-cover.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-elem-id-init-fn-name-cover.js (previously Failed)
test/language/expressions/arrow-function/dstr/obj-ptrn-id-init-fn-name-cover.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/obj-ptrn-id-init-fn-name-cover.js (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-elem-ary-rest-iter.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-elem-ary-rest-iter.js (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-rest-id.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-rest-id.js (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-elem-id-iter-complete.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-elem-id-iter-complete.js (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-rest-id-direct.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-rest-id-direct.js (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-obj-ptrn-prop-ary-init.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-obj-ptrn-prop-ary-init.js (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-rest-ary-elision.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-rest-ary-elision.js (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-elem-id-init-hole.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-elem-id-init-hole.js (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-elem-ary-empty-init.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-elem-ary-empty-init.js (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-rest-obj-id.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-rest-obj-id.js (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-elem-id-iter-val.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-elem-id-iter-val.js (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-name-iter-val.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-name-iter-val.js (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-elision-exhausted.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-elision-exhausted.js (previously Failed)
test/language/expressions/arrow-function/dstr/obj-ptrn-id-init-fn-name-fn.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/obj-ptrn-id-init-fn-name-fn.js (previously Failed)
test/language/expressions/arrow-function/dstr/obj-ptrn-prop-ary-value-null.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/obj-ptrn-prop-ary-value-null.js (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-elem-id-init-fn-name-arrow.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-elem-id-init-fn-name-arrow.js (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-rest-id-elision.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-rest-id-elision.js (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-elision.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-elision.js (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-elision-exhausted.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-elision-exhausted.js (previously Failed)
test/language/expressions/arrow-function/dstr/obj-ptrn-prop-obj.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/obj-ptrn-prop-obj.js (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-obj-ptrn-prop-id-trailing-comma.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-obj-ptrn-prop-id-trailing-comma.js (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-rest-id-exhausted.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-rest-id-exhausted.js (previously Failed)
test/language/expressions/arrow-function/dstr/obj-init-undefined.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/obj-init-undefined.js (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-elem-ary-elision-init.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-elem-ary-elision-init.js (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-elem-id-iter-step-err.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-elem-id-iter-step-err.js (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-obj-ptrn-prop-obj.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-obj-ptrn-prop-obj.js (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-elem-id-iter-val-err.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-elem-id-iter-val-err.js (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-init-iter-no-close.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-init-iter-no-close.js (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-elem-id-iter-done.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-elem-id-iter-done.js (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-rest-ary-elision.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-rest-ary-elision.js (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-elem-ary-val-null.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-elem-ary-val-null.js (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-elem-obj-val-undef.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-elem-obj-val-undef.js (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-elision.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-elision.js (previously Failed)
test/language/expressions/arrow-function/dstr/obj-ptrn-id-get-value-err.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/obj-ptrn-id-get-value-err.js (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-elem-id-iter-val.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-elem-id-iter-val.js (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-elem-ary-empty-iter.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-elem-ary-empty-iter.js (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-obj-init-undefined.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-obj-init-undefined.js (previously Failed)
test/language/expressions/arrow-function/dstr/obj-ptrn-id-init-throws.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/obj-ptrn-id-init-throws.js (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-elem-id-init-fn-name-fn.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-elem-id-init-fn-name-fn.js (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-elem-obj-prop-id.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-elem-obj-prop-id.js (previously Failed)
test/language/expressions/arrow-function/dstr/obj-ptrn-id-init-skipped.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/obj-ptrn-id-init-skipped.js (previously Failed)
test/language/expressions/arrow-function/dstr/obj-ptrn-prop-ary-init.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/obj-ptrn-prop-ary-init.js (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-elem-obj-val-null.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-elem-obj-val-null.js (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-rest-id-elision-next-err.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-rest-id-elision-next-err.js (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-elem-ary-empty-init.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-elem-ary-empty-init.js (previously Failed)
test/language/expressions/arrow-function/dstr/ary-name-iter-val.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/ary-name-iter-val.js (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-rest-ary-elem.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-rest-ary-elem.js (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-elem-id-init-fn-name-gen.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-elem-id-init-fn-name-gen.js (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-obj-ptrn-prop-obj-value-undef.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-obj-ptrn-prop-obj-value-undef.js (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-elem-id-init-undef.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-elem-id-init-undef.js (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-obj-ptrn-prop-ary-value-null.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-obj-ptrn-prop-ary-value-null.js (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-elem-obj-id-init.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-elem-obj-id-init.js (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-empty.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-empty.js (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-obj-ptrn-prop-eval-err.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-obj-ptrn-prop-eval-err.js (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-elem-id-iter-step-err.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-elem-id-iter-step-err.js (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-elem-id-init-throws.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-elem-id-init-throws.js (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-obj-ptrn-id-init-throws.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-obj-ptrn-id-init-throws.js (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-elem-id-init-skipped.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-elem-id-init-skipped.js (previously Failed)
test/language/expressions/arrow-function/dstr/obj-ptrn-id-init-fn-name-gen.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/obj-ptrn-id-init-fn-name-gen.js (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-obj-ptrn-id-get-value-err.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-obj-ptrn-id-get-value-err.js (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-obj-ptrn-prop-id.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-obj-ptrn-prop-id.js (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-elem-ary-elem-iter.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-elem-ary-elem-iter.js (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-obj-ptrn-prop-ary-trailing-comma.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-obj-ptrn-prop-ary-trailing-comma.js (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-obj-init-null.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-obj-init-null.js (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-obj-ptrn-prop-id-init.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-obj-ptrn-prop-id-init.js (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-obj-ptrn-id-init-fn-name-class.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-obj-ptrn-id-init-fn-name-class.js (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-rest-ary-rest.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-rest-ary-rest.js (previously Failed)
test/language/expressions/arrow-function/dstr/obj-ptrn-prop-obj-init.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/obj-ptrn-prop-obj-init.js (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-rest-id-iter-val-err.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-rest-id-iter-val-err.js (previously Failed)
test/language/expressions/arrow-function/dstr/obj-ptrn-prop-obj-value-undef.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/obj-ptrn-prop-obj-value-undef.js (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-obj-ptrn-id-init-skipped.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-obj-ptrn-id-init-skipped.js (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-rest-obj-id.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-rest-obj-id.js (previously Failed)
test/language/expressions/arrow-function/dstr/obj-ptrn-prop-eval-err.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/obj-ptrn-prop-eval-err.js (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-obj-ptrn-list-err.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-obj-ptrn-list-err.js (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-elem-ary-elem-init.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-elem-ary-elem-init.js (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-elem-ary-elision-iter.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-elem-ary-elision-iter.js (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-obj-ptrn-prop-id-init-unresolvable.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-obj-ptrn-prop-id-init-unresolvable.js (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-elem-obj-id.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-elem-obj-id.js (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-obj-ptrn-empty.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-obj-ptrn-empty.js (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-elem-id-init-fn-name-arrow.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-elem-id-init-fn-name-arrow.js (previously Failed)
test/language/expressions/arrow-function/dstr/ary-init-iter-get-err.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/ary-init-iter-get-err.js (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-rest-ary-rest.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-rest-ary-rest.js (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-elem-id-init-fn-name-fn.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-elem-id-init-fn-name-fn.js (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-elem-obj-id.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-elem-obj-id.js (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-elem-id-iter-val-array-prototype.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-elem-id-iter-val-array-prototype.js (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-rest-ary-elem.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-rest-ary-elem.js (previously Failed)
test/language/expressions/arrow-function/dstr/obj-ptrn-prop-id-init-skipped.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/obj-ptrn-prop-id-init-skipped.js (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-elem-id-iter-val-err.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-elem-id-iter-val-err.js (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-elem-ary-elision-iter.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-elem-ary-elision-iter.js (previously Failed)
test/language/expressions/arrow-function/dstr/obj-ptrn-id-trailing-comma.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/obj-ptrn-id-trailing-comma.js (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-elem-ary-elem-iter.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-elem-ary-elem-iter.js (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-obj-ptrn-id-init-fn-name-arrow.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-obj-ptrn-id-init-fn-name-arrow.js (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-elem-obj-prop-id-init.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-ary-ptrn-elem-obj-prop-id-init.js (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-elem-obj-prop-id-init.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-elem-obj-prop-id-init.js (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-elem-id-init-exhausted.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-elem-id-init-exhausted.js (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-obj-ptrn-rest-skip-non-enumerable.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/dflt-obj-ptrn-rest-skip-non-enumerable.js (previously Failed)
test/language/expressions/arrow-function/dstr/obj-ptrn-rest-val-obj.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/obj-ptrn-rest-val-obj.js (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-elem-id-init-skipped.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/dstr/ary-ptrn-elem-id-init-skipped.js (previously Failed)
test/language/expressions/arrow-function/syntax/arrowparameters-cover-initialize-2.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/syntax/arrowparameters-cover-initialize-2.js (previously Failed)
test/language/expressions/arrow-function/syntax/arrowparameters-cover-formalparameters-yield.js (previously Failed)
test/language/expressions/arrow-function/syntax/arrowparameters-cover-initialize-1.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/syntax/arrowparameters-cover-initialize-1.js (previously Failed)
test/language/expressions/arrow-function/arrow/concisebody-lookahead-assignmentexpression-2.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/arrow/concisebody-lookahead-assignmentexpression-2.js (previously Failed)
test/language/expressions/arrow-function/arrow/concisebody-lookahead-assignmentexpression-1.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/arrow/concisebody-lookahead-assignmentexpression-1.js (previously Failed)
test/language/expressions/generators/length-dflt.js [strict mode] (previously Failed)
test/language/expressions/generators/length-dflt.js (previously Failed)
test/language/expressions/assignment/destructuring/obj-prop-__proto__dup.js [strict mode] (previously Failed)
test/language/expressions/assignment/destructuring/obj-prop-__proto__dup.js (previously Failed)
test/language/expressions/assignment/dstr/obj-prop-elem-init-yield-ident-valid.js (previously Failed)
test/language/expressions/assignment/dstr/ident-name-prop-name-literal-while-escaped.js (previously Failed)
test/language/expressions/assignment/dstr/obj-id-init-order.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/obj-id-init-order.js (previously Failed)
test/language/expressions/assignment/dstr/ident-name-prop-name-literal-for-escaped.js (previously Failed)
test/language/expressions/assignment/dstr/ident-name-prop-name-literal-default-escaped.js (previously Failed)
test/language/expressions/assignment/dstr/ident-name-prop-name-literal-do-escaped.js (previously Failed)
test/language/expressions/assignment/dstr/ident-name-prop-name-literal-export-escaped.js (previously Failed)
test/language/expressions/assignment/dstr/array-rest-nested-obj-undefined-own.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/array-rest-nested-obj-undefined-own.js (previously Failed)
test/language/expressions/assignment/dstr/ident-name-prop-name-literal-break-escaped.js (previously Failed)
test/language/expressions/assignment/dstr/obj-prop-nested-obj.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/obj-prop-nested-obj.js (previously Failed)
test/language/expressions/assignment/dstr/ident-name-prop-name-literal-enum-escaped.js (previously Failed)
test/language/expressions/assignment/dstr/array-rest-nested-obj.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/array-rest-nested-obj.js (previously Failed)
test/language/expressions/assignment/dstr/ident-name-prop-name-literal-class-escaped.js (previously Failed)
test/language/expressions/assignment/dstr/obj-prop-elem-init-assignment-null.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/obj-prop-elem-init-assignment-null.js (previously Failed)
test/language/expressions/assignment/dstr/obj-prop-elem-init-assignment-truthy.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/obj-prop-elem-init-assignment-truthy.js (previously Failed)
test/language/expressions/assignment/dstr/obj-id-init-fn-name-class.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/obj-id-init-fn-name-class.js (previously Failed)
test/language/expressions/assignment/dstr/ident-name-prop-name-literal-catch-escaped.js (previously Failed)
test/language/expressions/assignment/dstr/ident-name-prop-name-literal-default.js (previously Failed)
test/language/expressions/assignment/dstr/ident-name-prop-name-literal-this-escaped.js (previously Failed)
test/language/expressions/assignment/dstr/ident-name-prop-name-literal-implements-escaped.js (previously Failed)
test/language/expressions/assignment/dstr/obj-id-init-assignment-undef.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/obj-id-init-assignment-undef.js (previously Failed)
test/language/expressions/assignment/dstr/ident-name-prop-name-literal-static-escaped.js (previously Failed)
test/language/expressions/assignment/dstr/obj-prop-put-order.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/obj-prop-put-order.js (previously Failed)
test/language/expressions/assignment/dstr/ident-name-prop-name-literal-in-escaped.js (previously Failed)
test/language/expressions/assignment/dstr/obj-prop-name-evaluation-error.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/obj-prop-name-evaluation-error.js (previously Failed)
test/language/expressions/assignment/dstr/ident-name-prop-name-literal-extends-escaped-ext.js (previously Failed)
test/language/expressions/assignment/dstr/obj-prop-nested-array-null.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/obj-prop-nested-array-null.js (previously Failed)
test/language/expressions/assignment/dstr/array-rest-nested-obj-undefined-hole.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/array-rest-nested-obj-undefined-hole.js (previously Failed)
test/language/expressions/assignment/dstr/obj-prop-elem-init-evaluation.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/obj-prop-elem-init-evaluation.js (previously Failed)
test/language/expressions/assignment/dstr/obj-prop-nested-array-undefined.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/obj-prop-nested-array-undefined.js (previously Failed)
test/language/expressions/assignment/dstr/obj-id-init-let.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/obj-id-init-let.js (previously Failed)
test/language/expressions/assignment/dstr/obj-prop-name-evaluation.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/obj-prop-name-evaluation.js (previously Failed)
test/language/expressions/assignment/dstr/ident-name-prop-name-literal-import-escaped.js (previously Failed)
test/language/expressions/assignment/dstr/array-rest-nested-obj-null.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/array-rest-nested-obj-null.js (previously Failed)
test/language/expressions/assignment/dstr/ident-name-prop-name-literal-default-escaped-ext.js (previously Failed)
test/language/expressions/assignment/dstr/obj-id-init-fn-name-arrow.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/obj-id-init-fn-name-arrow.js (previously Failed)
test/language/expressions/assignment/dstr/ident-name-prop-name-literal-if-escaped.js (previously Failed)
test/language/expressions/assignment/dstr/obj-prop-identifier-resolution-middle.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/obj-prop-identifier-resolution-middle.js (previously Failed)
test/language/expressions/assignment/dstr/obj-prop-nested-array-yield-ident-valid.js (previously Failed)
test/language/expressions/assignment/dstr/ident-name-prop-name-literal-try-escaped.js (previously Failed)
test/language/expressions/assignment/dstr/ident-name-prop-name-literal-case-escaped.js (previously Failed)
test/language/expressions/assignment/dstr/ident-name-prop-name-literal-typeof-escaped.js (previously Failed)
test/language/expressions/assignment/dstr/ident-name-prop-name-literal-package-escaped.js (previously Failed)
test/language/expressions/assignment/dstr/obj-prop-nested-array-yield-expr.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/obj-prop-nested-array-yield-expr.js (previously Failed)
test/language/expressions/assignment/dstr/obj-prop-elem-init-assignment-undef.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/obj-prop-elem-init-assignment-undef.js (previously Failed)
test/language/expressions/assignment/dstr/array-elem-nested-obj-yield-expr.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/array-elem-nested-obj-yield-expr.js (previously Failed)
test/language/expressions/assignment/dstr/obj-prop-put-const.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/obj-prop-put-const.js (previously Failed)
test/language/expressions/assignment/dstr/ident-name-prop-name-literal-continue-escaped.js (previously Failed)
test/language/expressions/assignment/dstr/obj-prop-elem-init-fn-name-class.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/obj-prop-elem-init-fn-name-class.js (previously Failed)
test/language/expressions/assignment/dstr/obj-prop-nested-obj-null.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/obj-prop-nested-obj-null.js (previously Failed)
test/language/expressions/assignment/dstr/obj-prop-nested-array-undefined-own.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/obj-prop-nested-array-undefined-own.js (previously Failed)
test/language/expressions/assignment/dstr/ident-name-prop-name-literal-finally-escaped.js (previously Failed)
test/language/expressions/assignment/dstr/ident-name-prop-name-literal-let-escaped.js (previously Failed)
test/language/expressions/assignment/dstr/ident-name-prop-name-literal-delete-escaped.js (previously Failed)
test/language/expressions/assignment/dstr/obj-id-init-fn-name-gen.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/obj-id-init-fn-name-gen.js (previously Failed)
test/language/expressions/assignment/dstr/ident-name-prop-name-literal-with-escaped.js (previously Failed)
test/language/expressions/assignment/dstr/ident-name-prop-name-literal-interface-escaped.js (previously Failed)
test/language/expressions/assignment/dstr/ident-name-prop-name-literal-void-escaped.js (previously Failed)
test/language/expressions/assignment/dstr/ident-name-prop-name-literal-extends-escaped.js (previously Failed)
test/language/expressions/assignment/dstr/obj-prop-put-let.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/obj-prop-put-let.js (previously Failed)
test/language/expressions/assignment/dstr/ident-name-prop-name-literal-instanceof-escaped.js (previously Failed)
test/language/expressions/assignment/dstr/obj-prop-put-unresolvable-no-strict.js (previously Failed)
test/language/expressions/assignment/dstr/obj-id-init-assignment-truthy.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/obj-id-init-assignment-truthy.js (previously Failed)
test/language/expressions/assignment/dstr/ident-name-prop-name-literal-protected-escaped.js (previously Failed)
test/language/expressions/assignment/dstr/obj-prop-identifier-resolution-first.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/obj-prop-identifier-resolution-first.js (previously Failed)
test/language/expressions/assignment/dstr/ident-name-prop-name-literal-throw-escaped.js (previously Failed)
test/language/expressions/assignment/dstr/ident-name-prop-name-literal-super-escaped.js (previously Failed)
test/language/expressions/assignment/dstr/obj-prop-nested-obj-undefined-own.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/obj-prop-nested-obj-undefined-own.js (previously Failed)
test/language/expressions/assignment/dstr/ident-name-prop-name-literal-extends.js (previously Failed)
test/language/expressions/assignment/dstr/ident-name-prop-name-literal-new-escaped.js (previously Failed)
test/language/expressions/assignment/dstr/obj-prop-elem-init-fn-name-fn.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/obj-prop-elem-init-fn-name-fn.js (previously Failed)
test/language/expressions/assignment/dstr/obj-id-init-simple-no-strict.js (previously Failed)
test/language/expressions/assignment/dstr/obj-prop-elem-init-fn-name-arrow.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/obj-prop-elem-init-fn-name-arrow.js (previously Failed)
test/language/expressions/assignment/dstr/ident-name-prop-name-literal-return-escaped.js (previously Failed)
test/language/expressions/assignment/dstr/obj-id-init-fn-name-fn.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/obj-id-init-fn-name-fn.js (previously Failed)
test/language/expressions/assignment/dstr/obj-prop-elem-init-yield-expr.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/obj-prop-elem-init-yield-expr.js (previously Failed)
test/language/expressions/assignment/dstr/ident-name-prop-name-literal-var-escaped.js (previously Failed)
test/language/expressions/assignment/dstr/obj-prop-elem-init-fn-name-gen.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/obj-prop-elem-init-fn-name-gen.js (previously Failed)
test/language/expressions/assignment/dstr/obj-prop-nested-obj-undefined.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/obj-prop-nested-obj-undefined.js (previously Failed)
test/language/expressions/assignment/dstr/obj-id-init-assignment-missing.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/obj-id-init-assignment-missing.js (previously Failed)
test/language/expressions/assignment/dstr/obj-prop-elem-init-fn-name-cover.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/obj-prop-elem-init-fn-name-cover.js (previously Failed)
test/language/expressions/assignment/dstr/obj-prop-nested-array.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/obj-prop-nested-array.js (previously Failed)
test/language/expressions/assignment/dstr/obj-id-init-fn-name-cover.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/obj-id-init-fn-name-cover.js (previously Failed)
test/language/expressions/assignment/dstr/obj-prop-elem-init-in.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/obj-prop-elem-init-in.js (previously Failed)
test/language/expressions/assignment/dstr/obj-prop-elem-init-let.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/obj-prop-elem-init-let.js (previously Failed)
test/language/expressions/assignment/dstr/obj-id-init-in.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/obj-id-init-in.js (previously Failed)
test/language/expressions/assignment/dstr/obj-prop-nested-obj-yield-expr.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/obj-prop-nested-obj-yield-expr.js (previously Failed)
test/language/expressions/assignment/dstr/obj-id-init-yield-ident-valid.js (previously Failed)
test/language/expressions/assignment/dstr/ident-name-prop-name-literal-switch-escaped.js (previously Failed)
test/language/expressions/assignment/dstr/obj-id-init-evaluation.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/obj-id-init-evaluation.js (previously Failed)
test/language/expressions/assignment/dstr/obj-prop-identifier-resolution-lone.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/obj-prop-identifier-resolution-lone.js (previously Failed)
test/language/expressions/assignment/dstr/ident-name-prop-name-literal-public-escaped.js (previously Failed)
test/language/expressions/assignment/dstr/ident-name-prop-name-literal-private-escaped.js (previously Failed)
test/language/expressions/assignment/dstr/obj-prop-identifier-resolution-trlng.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/obj-prop-identifier-resolution-trlng.js (previously Failed)
test/language/expressions/assignment/dstr/array-rest-nested-obj-yield-expr.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/array-rest-nested-obj-yield-expr.js (previously Failed)
test/language/expressions/assignment/dstr/obj-id-init-assignment-null.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/obj-id-init-assignment-null.js (previously Failed)
test/language/expressions/assignment/dstr/array-rest-nested-obj-undefined.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/array-rest-nested-obj-undefined.js (previously Failed)
test/language/expressions/assignment/dstr/array-elem-nested-obj-yield-ident-valid.js (previously Failed)
test/language/expressions/assignment/dstr/obj-prop-put-unresolvable-strict.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/obj-id-init-yield-expr.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/obj-id-init-yield-expr.js (previously Failed)
test/language/expressions/assignment/dstr/ident-name-prop-name-literal-debugger-escaped.js (previously Failed)
test/language/expressions/assignment/dstr/ident-name-prop-name-literal-function-escaped.js (previously Failed)
test/language/expressions/assignment/dstr/ident-name-prop-name-literal-else-escaped.js (previously Failed)
test/language/expressions/assignment/dstr/array-rest-nested-obj-yield-ident-valid.js (previously Failed)
test/language/expressions/assignment/dstr/obj-prop-identifier-resolution-last.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/obj-prop-identifier-resolution-last.js (previously Failed)
test/language/expressions/assignment/dstr/obj-prop-elem-init-assignment-missing.js [strict mode] (previously Failed)
test/language/expressions/assignment/dstr/obj-prop-elem-init-assignment-missing.js (previously Failed)
test/language/expressions/assignment/dstr/ident-name-prop-name-literal-const-escaped.js (previously Failed)
test/language/expressions/assignment/dstr/obj-prop-nested-obj-yield-ident-valid.js (previously Failed)
test/language/expressions/comma/S11.14_A2.1_T1.js [strict mode] (previously Failed)
test/language/expressions/comma/S11.14_A2.1_T1.js (previously Failed)
test/language/expressions/class/method-length-dflt.js [strict mode] (previously Failed)
test/language/expressions/class/method-length-dflt.js (previously Failed)
test/language/expressions/class/static-method-length-dflt.js [strict mode] (previously Failed)
test/language/expressions/class/static-method-length-dflt.js (previously Failed)
test/language/expressions/class/gen-method-length-dflt.js [strict mode] (previously Failed)
test/language/expressions/class/gen-method-length-dflt.js (previously Failed)

@codecov
Copy link

codecov bot commented Jul 9, 2022

Codecov Report

Merging #2171 (24cb3cc) into main (48d8b42) will decrease coverage by 0.15%.
The diff coverage is 27.22%.

@@            Coverage Diff             @@
##             main    #2171      +/-   ##
==========================================
- Coverage   42.04%   41.89%   -0.16%     
==========================================
  Files         231      231              
  Lines       21271    21498     +227     
==========================================
+ Hits         8943     9006      +63     
- Misses      12328    12492     +164     
Impacted Files Coverage Δ
boa_engine/src/bytecompiler.rs 29.96% <0.00%> (-0.06%) ⬇️
boa_engine/src/syntax/ast/node/declaration/mod.rs 39.21% <ø> (ø)
boa_engine/src/syntax/ast/node/mod.rs 61.75% <ø> (-0.25%) ⬇️
boa_engine/src/syntax/ast/node/object/mod.rs 49.09% <0.00%> (-2.84%) ⬇️
..._engine/src/syntax/ast/node/operator/assign/mod.rs 15.86% <0.00%> (-7.38%) ⬇️
boa_engine/src/syntax/ast/punctuator.rs 12.50% <0.00%> (-4.17%) ⬇️
...tax/parser/expression/assignment/arrow_function.rs 32.39% <0.00%> (-6.18%) ⬇️
...src/syntax/parser/statement/declaration/lexical.rs 30.30% <0.00%> (+0.45%) ⬆️
boa_engine/src/vm/mod.rs 48.09% <0.00%> (ø)
boa_engine/src/syntax/parser/statement/mod.rs 30.27% <5.26%> (+1.53%) ⬆️
... and 17 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 48d8b42...24cb3cc. Read the comment docs.

Copy link
Member

@Razican Razican left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Parsing arrow functions was probably the messiest part of the parser. This looks so much better!

Thank you for fixing this :) I gave it a look from my phone and it looks pretty good, just had a few comments, but looks good from my side!

Copy link
Member

@HalidOdat HalidOdat left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me! :)

@raskad
Copy link
Member Author

raskad commented Jul 11, 2022

bors r+

bors bot pushed a commit that referenced this pull request Jul 11, 2022
…onAndArrowParameterList` (#2171)

Previously we parsed arrow functions without the relevant cover grammar `CoverParenthesizedExpressionAndArrowParameterList`. This leads to either arrow functions or parenthesized expressions not being parsed correctly. Implementing this is a bit tricky, as the cover grammar is being parsed in `PrimaryExpression` while arrow functions are parsed in `AssignmentExpression`. This means that we have to return the covered parameter list that was parsed via `CoverParenthesizedExpressionAndArrowParameterList` in `PrimaryExpression` to `AssignmentExpression`. Fortunately this works pretty good and now the full arrow function test suite, with the exception of a few tests that require other features, passes.

This Pull Request changes the following:

- Implement `CoverParenthesizedExpressionAndArrowParameterList` parsing.
- Implement `CoverInitializedName` parsing in object literals.
- Fix a bug where an environment would be wrongly removed from the environment stack when an expression in default function parameters throws.
- Add more valid cases where on object literal can be converted to an object declaration pattern.
- Implement `Expression` parsing manually to avoid some cases where the parser would prematurely throw an error.
- Implement parsing of arrow functions via `CoverParenthesizedExpressionAndArrowParameterList`.
- Remove unneeded `AllowIn` flag on array and object declaration pattern parsers.
- Fix an of-by-one bug in the trace output.
@bors
Copy link

bors bot commented Jul 11, 2022

Pull request successfully merged into main.

Build succeeded:

@bors bors bot changed the title Implement arrow function parsing based on CoverParenthesizedExpressionAndArrowParameterList [Merged by Bors] - Implement arrow function parsing based on CoverParenthesizedExpressionAndArrowParameterList Jul 11, 2022
@bors bors bot closed this Jul 11, 2022
@bors bors bot deleted the arrow-parse-full branch July 11, 2022 21:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request parser Issues surrounding the parser
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants