summaryrefslogtreecommitdiffstats
path: root/js/src/tests/test262/language/expressions/assignmenttargettype
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/tests/test262/language/expressions/assignmenttargettype')
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/browser.js0
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-additiveexpression-minus-multiplicativeexpression-0.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-additiveexpression-minus-multiplicativeexpression-1.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-additiveexpression-minus-multiplicativeexpression-2.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-additiveexpression-plus-multiplicativeexpression-0.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-additiveexpression-plus-multiplicativeexpression-1.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-additiveexpression-plus-multiplicativeexpression-2.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-arrowfunction-0.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-arrowfunction-1.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-arrowfunction-2.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-arrowfunction-3.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-arrowfunction-4.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-arrowfunction-5.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-arrowfunction-6.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-asyncarrowfunction-0.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-asyncarrowfunction-1.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-asyncarrowfunction-2.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-asyncarrowfunction-3.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-asyncarrowfunction-4.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-asyncarrowfunction-5.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-asyncarrowfunction-6.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-bitwiseandexpression-bitwise-and-equalityexpression-0.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-bitwiseandexpression-bitwise-and-equalityexpression-1.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-bitwiseandexpression-bitwise-and-equalityexpression-2.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-bitwiseorexpression-bitwise-or-bitwisexorexpression-0.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-bitwiseorexpression-bitwise-or-bitwisexorexpression-1.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-bitwiseorexpression-bitwise-or-bitwisexorexpression-2.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-bitwisexorexpression-bitwise-xor-bitwiseandexpression-0.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-bitwisexorexpression-bitwise-xor-bitwiseandexpression-1.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-bitwisexorexpression-bitwise-xor-bitwiseandexpression-2.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-callexpression-arguments.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-callexpression-templateliteral.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-coalesceexpressionhead-coalesce-bitwiseorexpression-0.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-coalesceexpressionhead-coalesce-bitwiseorexpression-1.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-coalesceexpressionhead-coalesce-bitwiseorexpression-2.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-equalityexpression-abstract-equal-relationalexpression-0.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-equalityexpression-abstract-equal-relationalexpression-1.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-equalityexpression-abstract-equal-relationalexpression-2.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-equalityexpression-abstract-not-equal-relationalexpression-0.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-equalityexpression-abstract-not-equal-relationalexpression-1.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-equalityexpression-abstract-not-equal-relationalexpression-2.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-equalityexpression-strict-equal-relationalexpression-0.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-equalityexpression-strict-equal-relationalexpression-1.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-equalityexpression-strict-equal-relationalexpression-2.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-equalityexpression-strict-not-equal-relationalexpression-0.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-equalityexpression-strict-not-equal-relationalexpression-1.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-equalityexpression-strict-not-equal-relationalexpression-2.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-expression-comma-assignmentexpression-0.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-expression-comma-assignmentexpression-1.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-expression-comma-assignmentexpression-2.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-identifierreference-arguments-strict-strict.js18
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-identifierreference-eval-strict-strict.js18
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-import.meta.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-importcall.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-lefthandsideexpression-assignment-assignmentexpression-0.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-lefthandsideexpression-assignment-assignmentexpression-1.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-lefthandsideexpression-assignment-assignmentexpression-2.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-lefthandsideexpression-coalesce-assignment-assignmentexpression-0.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-lefthandsideexpression-coalesce-assignment-assignmentexpression-1.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-lefthandsideexpression-coalesce-assignment-assignmentexpression-2.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-lefthandsideexpression-logical-and-assignment-assignmentexpression-0.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-lefthandsideexpression-logical-and-assignment-assignmentexpression-1.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-lefthandsideexpression-logical-and-assignment-assignmentexpression-2.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-lefthandsideexpression-logical-or-assignment-assignmentexpression-0.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-lefthandsideexpression-logical-or-assignment-assignmentexpression-1.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-lefthandsideexpression-logical-or-assignment-assignmentexpression-2.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-lefthandsideexpression-minus-minus.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-lefthandsideexpression-plus-plus.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-logicalandexpression-logical-and-bitwiseorexpression-0.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-logicalandexpression-logical-and-bitwiseorexpression-1.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-logicalandexpression-logical-and-bitwiseorexpression-2.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-logicalorexpression-logical-or-logicalandexpression-0.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-logicalorexpression-logical-or-logicalandexpression-1.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-logicalorexpression-logical-or-logicalandexpression-2.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-memberexpression-templateliteral.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-minus-minus-unaryexpression.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-multiplicativeexpression-multiplicativeoperator-exponentiationexpression-0.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-multiplicativeexpression-multiplicativeoperator-exponentiationexpression-1.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-multiplicativeexpression-multiplicativeoperator-exponentiationexpression-2.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-multiplicativeexpression-multiplicativeoperator-exponentiationexpression-3.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-multiplicativeexpression-multiplicativeoperator-exponentiationexpression-4.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-multiplicativeexpression-multiplicativeoperator-exponentiationexpression-5.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-new-memberexpression-arguments.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-new-newexpression.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-optionalexpression.js22
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-plus-plus-unaryexpression.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-primaryexpression-asyncfunctionexpression.js17
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-primaryexpression-asyncgeneratorexpression.js17
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-primaryexpression-classexpression.js17
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-primaryexpression-functionexpression.js17
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-primaryexpression-generatorexpression.js17
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-primaryexpression-literal-boolean.js17
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-primaryexpression-literal-null.js17
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-primaryexpression-literal-numeric.js17
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-primaryexpression-literal-string.js17
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-primaryexpression-objectliteral.js17
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-primaryexpression-regularexpressionliteral.js17
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-primaryexpression-templateliteral.js17
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-primaryexpression-this.js17
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-relationalexpression-greater-than-or-equal-to-shiftexpression-0.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-relationalexpression-greater-than-or-equal-to-shiftexpression-1.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-relationalexpression-greater-than-or-equal-to-shiftexpression-2.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-relationalexpression-greater-than-shiftexpression-0.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-relationalexpression-greater-than-shiftexpression-1.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-relationalexpression-greater-than-shiftexpression-2.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-relationalexpression-in-shiftexpression-0.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-relationalexpression-in-shiftexpression-1.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-relationalexpression-in-shiftexpression-2.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-relationalexpression-instanceof-shiftexpression-0.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-relationalexpression-instanceof-shiftexpression-1.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-relationalexpression-instanceof-shiftexpression-2.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-relationalexpression-less-than-or-equal-to-shiftexpression-0.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-relationalexpression-less-than-or-equal-to-shiftexpression-1.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-relationalexpression-less-than-or-equal-to-shiftexpression-2.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-relationalexpression-less-than-shiftexpression-0.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-relationalexpression-less-than-shiftexpression-1.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-relationalexpression-less-than-shiftexpression-2.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-shiftexpression-bitwise-left-additiveexpression-0.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-shiftexpression-bitwise-left-additiveexpression-1.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-shiftexpression-bitwise-left-additiveexpression-2.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-shiftexpression-bitwise-right-additiveexpression-0.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-shiftexpression-bitwise-right-additiveexpression-1.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-shiftexpression-bitwise-right-additiveexpression-2.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-shiftexpression-unsigned-bitwise-right-additiveexpression-0.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-shiftexpression-unsigned-bitwise-right-additiveexpression-1.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-shiftexpression-unsigned-bitwise-right-additiveexpression-2.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-shortcircuitexpression-question-assignmentexpression-else-assignmentexpression-0.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-shortcircuitexpression-question-assignmentexpression-else-assignmentexpression-1.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-shortcircuitexpression-question-assignmentexpression-else-assignmentexpression-2.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-unaryexpression-delete-unaryexpression.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-unaryexpression-exclamation-unaryexpression-0.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-unaryexpression-exclamation-unaryexpression-1.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-unaryexpression-exclamation-unaryexpression-2.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-unaryexpression-minus-unaryexpression-0.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-unaryexpression-minus-unaryexpression-1.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-unaryexpression-minus-unaryexpression-2.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-unaryexpression-plus-unaryexpression-0.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-unaryexpression-plus-unaryexpression-1.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-unaryexpression-plus-unaryexpression-2.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-unaryexpression-tilde-unaryexpression-0.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-unaryexpression-tilde-unaryexpression-1.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-unaryexpression-tilde-unaryexpression-2.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-unaryexpression-typeof-unaryexpression-0.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-unaryexpression-typeof-unaryexpression-1.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-unaryexpression-typeof-unaryexpression-2.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-unaryexpression-void-unaryexpression-0.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-unaryexpression-void-unaryexpression-1.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-unaryexpression-void-unaryexpression-2.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-updateexpression-star-star-exponentiationexpression-0.js22
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-updateexpression-star-star-exponentiationexpression-1.js22
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-updateexpression-star-star-exponentiationexpression-2.js22
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-yieldexpression-0.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/direct-yieldexpression-1.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-additiveexpression-minus-multiplicativeexpression-0.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-additiveexpression-minus-multiplicativeexpression-1.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-additiveexpression-minus-multiplicativeexpression-2.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-additiveexpression-plus-multiplicativeexpression-0.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-additiveexpression-plus-multiplicativeexpression-1.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-additiveexpression-plus-multiplicativeexpression-2.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-arrowfunction-0.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-arrowfunction-1.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-arrowfunction-2.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-arrowfunction-3.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-arrowfunction-4.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-arrowfunction-5.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-arrowfunction-6.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-asyncarrowfunction-0.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-asyncarrowfunction-1.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-asyncarrowfunction-2.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-asyncarrowfunction-3.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-asyncarrowfunction-4.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-asyncarrowfunction-5.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-asyncarrowfunction-6.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-bitwiseandexpression-bitwise-and-equalityexpression-0.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-bitwiseandexpression-bitwise-and-equalityexpression-1.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-bitwiseandexpression-bitwise-and-equalityexpression-2.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-bitwiseorexpression-bitwise-or-bitwisexorexpression-0.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-bitwiseorexpression-bitwise-or-bitwisexorexpression-1.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-bitwiseorexpression-bitwise-or-bitwisexorexpression-2.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-bitwisexorexpression-bitwise-xor-bitwiseandexpression-0.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-bitwisexorexpression-bitwise-xor-bitwiseandexpression-1.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-bitwisexorexpression-bitwise-xor-bitwiseandexpression-2.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-callexpression-arguments.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-callexpression-templateliteral.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-coalesceexpressionhead-coalesce-bitwiseorexpression-0.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-coalesceexpressionhead-coalesce-bitwiseorexpression-1.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-coalesceexpressionhead-coalesce-bitwiseorexpression-2.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-equalityexpression-abstract-equal-relationalexpression-0.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-equalityexpression-abstract-equal-relationalexpression-1.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-equalityexpression-abstract-equal-relationalexpression-2.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-equalityexpression-abstract-not-equal-relationalexpression-0.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-equalityexpression-abstract-not-equal-relationalexpression-1.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-equalityexpression-abstract-not-equal-relationalexpression-2.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-equalityexpression-strict-equal-relationalexpression-0.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-equalityexpression-strict-equal-relationalexpression-1.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-equalityexpression-strict-equal-relationalexpression-2.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-equalityexpression-strict-not-equal-relationalexpression-0.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-equalityexpression-strict-not-equal-relationalexpression-1.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-equalityexpression-strict-not-equal-relationalexpression-2.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-expression-comma-assignmentexpression-0.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-expression-comma-assignmentexpression-1.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-expression-comma-assignmentexpression-2.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-identifierreference-arguments-strict-strict.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-identifierreference-eval-strict-strict.js21
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-import.meta.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-importcall.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-lefthandsideexpression-assignment-assignmentexpression-0.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-lefthandsideexpression-assignment-assignmentexpression-1.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-lefthandsideexpression-assignment-assignmentexpression-2.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-lefthandsideexpression-coalesce-assignment-assignmentexpression-0.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-lefthandsideexpression-coalesce-assignment-assignmentexpression-1.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-lefthandsideexpression-coalesce-assignment-assignmentexpression-2.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-lefthandsideexpression-logical-and-assignment-assignmentexpression-0.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-lefthandsideexpression-logical-and-assignment-assignmentexpression-1.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-lefthandsideexpression-logical-and-assignment-assignmentexpression-2.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-lefthandsideexpression-logical-or-assignment-assignmentexpression-0.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-lefthandsideexpression-logical-or-assignment-assignmentexpression-1.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-lefthandsideexpression-logical-or-assignment-assignmentexpression-2.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-lefthandsideexpression-minus-minus.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-lefthandsideexpression-plus-plus.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-logicalandexpression-logical-and-bitwiseorexpression-0.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-logicalandexpression-logical-and-bitwiseorexpression-1.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-logicalandexpression-logical-and-bitwiseorexpression-2.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-logicalorexpression-logical-or-logicalandexpression-0.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-logicalorexpression-logical-or-logicalandexpression-1.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-logicalorexpression-logical-or-logicalandexpression-2.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-memberexpression-templateliteral.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-minus-minus-unaryexpression.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-multiplicativeexpression-multiplicativeoperator-exponentiationexpression-0.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-multiplicativeexpression-multiplicativeoperator-exponentiationexpression-1.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-multiplicativeexpression-multiplicativeoperator-exponentiationexpression-2.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-multiplicativeexpression-multiplicativeoperator-exponentiationexpression-3.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-multiplicativeexpression-multiplicativeoperator-exponentiationexpression-4.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-multiplicativeexpression-multiplicativeoperator-exponentiationexpression-5.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-new-memberexpression-arguments.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-new-newexpression.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-optionalexpression.js25
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-plus-plus-unaryexpression.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-primaryexpression-asyncfunctionexpression.js20
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-primaryexpression-asyncgeneratorexpression.js20
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-primaryexpression-classexpression.js20
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-primaryexpression-functionexpression.js20
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-primaryexpression-generatorexpression.js20
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-primaryexpression-literal-boolean.js20
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-primaryexpression-literal-null.js20
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-primaryexpression-literal-numeric.js20
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-primaryexpression-literal-string.js20
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-primaryexpression-objectliteral.js20
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-primaryexpression-regularexpressionliteral.js20
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-primaryexpression-templateliteral.js20
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-primaryexpression-this.js20
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-relationalexpression-greater-than-or-equal-to-shiftexpression-0.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-relationalexpression-greater-than-or-equal-to-shiftexpression-1.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-relationalexpression-greater-than-or-equal-to-shiftexpression-2.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-relationalexpression-greater-than-shiftexpression-0.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-relationalexpression-greater-than-shiftexpression-1.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-relationalexpression-greater-than-shiftexpression-2.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-relationalexpression-in-shiftexpression-0.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-relationalexpression-in-shiftexpression-1.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-relationalexpression-in-shiftexpression-2.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-relationalexpression-instanceof-shiftexpression-0.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-relationalexpression-instanceof-shiftexpression-1.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-relationalexpression-instanceof-shiftexpression-2.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-relationalexpression-less-than-or-equal-to-shiftexpression-0.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-relationalexpression-less-than-or-equal-to-shiftexpression-1.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-relationalexpression-less-than-or-equal-to-shiftexpression-2.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-relationalexpression-less-than-shiftexpression-0.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-relationalexpression-less-than-shiftexpression-1.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-relationalexpression-less-than-shiftexpression-2.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-shiftexpression-bitwise-left-additiveexpression-0.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-shiftexpression-bitwise-left-additiveexpression-1.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-shiftexpression-bitwise-left-additiveexpression-2.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-shiftexpression-bitwise-right-additiveexpression-0.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-shiftexpression-bitwise-right-additiveexpression-1.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-shiftexpression-bitwise-right-additiveexpression-2.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-shiftexpression-unsigned-bitwise-right-additiveexpression-0.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-shiftexpression-unsigned-bitwise-right-additiveexpression-1.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-shiftexpression-unsigned-bitwise-right-additiveexpression-2.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-shortcircuitexpression-question-assignmentexpression-else-assignmentexpression-0.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-shortcircuitexpression-question-assignmentexpression-else-assignmentexpression-1.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-shortcircuitexpression-question-assignmentexpression-else-assignmentexpression-2.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-unaryexpression-delete-unaryexpression.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-unaryexpression-exclamation-unaryexpression-0.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-unaryexpression-exclamation-unaryexpression-1.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-unaryexpression-exclamation-unaryexpression-2.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-unaryexpression-minus-unaryexpression-0.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-unaryexpression-minus-unaryexpression-1.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-unaryexpression-minus-unaryexpression-2.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-unaryexpression-plus-unaryexpression-0.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-unaryexpression-plus-unaryexpression-1.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-unaryexpression-plus-unaryexpression-2.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-unaryexpression-tilde-unaryexpression-0.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-unaryexpression-tilde-unaryexpression-1.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-unaryexpression-tilde-unaryexpression-2.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-unaryexpression-typeof-unaryexpression-0.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-unaryexpression-typeof-unaryexpression-1.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-unaryexpression-typeof-unaryexpression-2.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-unaryexpression-void-unaryexpression-0.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-unaryexpression-void-unaryexpression-1.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-unaryexpression-void-unaryexpression-2.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-updateexpression-star-star-exponentiationexpression-0.js25
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-updateexpression-star-star-exponentiationexpression-1.js25
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-updateexpression-star-star-exponentiationexpression-2.js25
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-yieldexpression-0.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-yieldexpression-1.js24
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/shell.js0
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/simple-basic-identifierreference-arguments.js12
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/simple-basic-identifierreference-await.js13
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/simple-basic-identifierreference-eval.js12
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/simple-basic-identifierreference-yield.js12
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/simple-complex-callexpression-expression.js20
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/simple-complex-callexpression.identifiername.js20
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/simple-complex-memberexpression-expression.js20
-rw-r--r--js/src/tests/test262/language/expressions/assignmenttargettype/simple-complex-memberexpression.identifiername.js20
314 files changed, 6861 insertions, 0 deletions
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/browser.js b/js/src/tests/test262/language/expressions/assignmenttargettype/browser.js
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/browser.js
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-additiveexpression-minus-multiplicativeexpression-0.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-additiveexpression-minus-multiplicativeexpression-0.js
new file mode 100644
index 0000000000..c923a74e49
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-additiveexpression-minus-multiplicativeexpression-0.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/additiveexpression-minus-multiplicativeexpression-0.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ AdditiveExpression - MultiplicativeExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+x - y = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-additiveexpression-minus-multiplicativeexpression-1.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-additiveexpression-minus-multiplicativeexpression-1.js
new file mode 100644
index 0000000000..18cd0c47da
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-additiveexpression-minus-multiplicativeexpression-1.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/additiveexpression-minus-multiplicativeexpression-1.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ AdditiveExpression - MultiplicativeExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+1 - 2 = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-additiveexpression-minus-multiplicativeexpression-2.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-additiveexpression-minus-multiplicativeexpression-2.js
new file mode 100644
index 0000000000..5c8fcebf56
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-additiveexpression-minus-multiplicativeexpression-2.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/additiveexpression-minus-multiplicativeexpression-2.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ AdditiveExpression - MultiplicativeExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+true - false = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-additiveexpression-plus-multiplicativeexpression-0.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-additiveexpression-plus-multiplicativeexpression-0.js
new file mode 100644
index 0000000000..b594893d3f
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-additiveexpression-plus-multiplicativeexpression-0.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/additiveexpression-plus-multiplicativeexpression-0.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ AdditiveExpression + MultiplicativeExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+x + y = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-additiveexpression-plus-multiplicativeexpression-1.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-additiveexpression-plus-multiplicativeexpression-1.js
new file mode 100644
index 0000000000..df5b0796c3
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-additiveexpression-plus-multiplicativeexpression-1.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/additiveexpression-plus-multiplicativeexpression-1.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ AdditiveExpression + MultiplicativeExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+1 + 2 = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-additiveexpression-plus-multiplicativeexpression-2.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-additiveexpression-plus-multiplicativeexpression-2.js
new file mode 100644
index 0000000000..c0ed684edc
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-additiveexpression-plus-multiplicativeexpression-2.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/additiveexpression-plus-multiplicativeexpression-2.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ AdditiveExpression + MultiplicativeExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+true + false = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-arrowfunction-0.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-arrowfunction-0.js
new file mode 100644
index 0000000000..237513ed18
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-arrowfunction-0.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/arrowfunction-0.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ ArrowFunction
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+() => {} = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-arrowfunction-1.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-arrowfunction-1.js
new file mode 100644
index 0000000000..1d8792cb50
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-arrowfunction-1.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/arrowfunction-1.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ ArrowFunction
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+() => ({}) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-arrowfunction-2.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-arrowfunction-2.js
new file mode 100644
index 0000000000..d9f3231c95
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-arrowfunction-2.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/arrowfunction-2.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ ArrowFunction
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(x => x) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-arrowfunction-3.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-arrowfunction-3.js
new file mode 100644
index 0000000000..d889ddf6c7
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-arrowfunction-3.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/arrowfunction-3.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ ArrowFunction
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+((x) => x) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-arrowfunction-4.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-arrowfunction-4.js
new file mode 100644
index 0000000000..83be1e3c92
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-arrowfunction-4.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/arrowfunction-4.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ ArrowFunction
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(() => 1) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-arrowfunction-5.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-arrowfunction-5.js
new file mode 100644
index 0000000000..af0f5e0c30
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-arrowfunction-5.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/arrowfunction-5.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ ArrowFunction
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(() => true) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-arrowfunction-6.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-arrowfunction-6.js
new file mode 100644
index 0000000000..b712819681
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-arrowfunction-6.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/arrowfunction-6.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ ArrowFunction
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(() => 1) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-asyncarrowfunction-0.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-asyncarrowfunction-0.js
new file mode 100644
index 0000000000..4de735d2a7
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-asyncarrowfunction-0.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/asyncarrowfunction-0.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ AsyncArrowFunction
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+async () => {} = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-asyncarrowfunction-1.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-asyncarrowfunction-1.js
new file mode 100644
index 0000000000..72d33e9883
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-asyncarrowfunction-1.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/asyncarrowfunction-1.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ AsyncArrowFunction
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+async () => ({}) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-asyncarrowfunction-2.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-asyncarrowfunction-2.js
new file mode 100644
index 0000000000..80cf45925b
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-asyncarrowfunction-2.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/asyncarrowfunction-2.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ AsyncArrowFunction
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(async x => x) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-asyncarrowfunction-3.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-asyncarrowfunction-3.js
new file mode 100644
index 0000000000..18b982fc4e
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-asyncarrowfunction-3.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/asyncarrowfunction-3.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ AsyncArrowFunction
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(async (x) => x) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-asyncarrowfunction-4.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-asyncarrowfunction-4.js
new file mode 100644
index 0000000000..1f76a7cd93
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-asyncarrowfunction-4.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/asyncarrowfunction-4.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ AsyncArrowFunction
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(async () => 1) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-asyncarrowfunction-5.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-asyncarrowfunction-5.js
new file mode 100644
index 0000000000..f97facb3b1
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-asyncarrowfunction-5.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/asyncarrowfunction-5.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ AsyncArrowFunction
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(async () => true) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-asyncarrowfunction-6.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-asyncarrowfunction-6.js
new file mode 100644
index 0000000000..cd54db777c
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-asyncarrowfunction-6.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/asyncarrowfunction-6.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ AsyncArrowFunction
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(async () => 1) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-bitwiseandexpression-bitwise-and-equalityexpression-0.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-bitwiseandexpression-bitwise-and-equalityexpression-0.js
new file mode 100644
index 0000000000..7e4ad534e0
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-bitwiseandexpression-bitwise-and-equalityexpression-0.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/bitwiseandexpression-bitwise-and-equalityexpression-0.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ BitwiseANDExpression: BitwiseANDExpression & EqualityExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+x & y = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-bitwiseandexpression-bitwise-and-equalityexpression-1.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-bitwiseandexpression-bitwise-and-equalityexpression-1.js
new file mode 100644
index 0000000000..40656a84e9
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-bitwiseandexpression-bitwise-and-equalityexpression-1.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/bitwiseandexpression-bitwise-and-equalityexpression-1.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ BitwiseANDExpression: BitwiseANDExpression & EqualityExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+1 & 2 = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-bitwiseandexpression-bitwise-and-equalityexpression-2.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-bitwiseandexpression-bitwise-and-equalityexpression-2.js
new file mode 100644
index 0000000000..f33a1acd89
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-bitwiseandexpression-bitwise-and-equalityexpression-2.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/bitwiseandexpression-bitwise-and-equalityexpression-2.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ BitwiseANDExpression: BitwiseANDExpression & EqualityExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+true & false = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-bitwiseorexpression-bitwise-or-bitwisexorexpression-0.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-bitwiseorexpression-bitwise-or-bitwisexorexpression-0.js
new file mode 100644
index 0000000000..94441f0f8f
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-bitwiseorexpression-bitwise-or-bitwisexorexpression-0.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/bitwiseorexpression-bitwise-or-bitwisexorexpression-0.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ BitwiseORExpression: BitwiseORExpression | BitwiseXORExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+x | y = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-bitwiseorexpression-bitwise-or-bitwisexorexpression-1.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-bitwiseorexpression-bitwise-or-bitwisexorexpression-1.js
new file mode 100644
index 0000000000..216414c877
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-bitwiseorexpression-bitwise-or-bitwisexorexpression-1.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/bitwiseorexpression-bitwise-or-bitwisexorexpression-1.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ BitwiseORExpression: BitwiseORExpression | BitwiseXORExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+1 | 2 = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-bitwiseorexpression-bitwise-or-bitwisexorexpression-2.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-bitwiseorexpression-bitwise-or-bitwisexorexpression-2.js
new file mode 100644
index 0000000000..de9cf492ab
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-bitwiseorexpression-bitwise-or-bitwisexorexpression-2.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/bitwiseorexpression-bitwise-or-bitwisexorexpression-2.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ BitwiseORExpression: BitwiseORExpression | BitwiseXORExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+true | false = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-bitwisexorexpression-bitwise-xor-bitwiseandexpression-0.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-bitwisexorexpression-bitwise-xor-bitwiseandexpression-0.js
new file mode 100644
index 0000000000..d889583ca8
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-bitwisexorexpression-bitwise-xor-bitwiseandexpression-0.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/bitwisexorexpression-bitwise-xor-bitwiseandexpression-0.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ BitwiseXORExpression: BitwiseXORExpression ^ BitwiseANDExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+x ^ y = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-bitwisexorexpression-bitwise-xor-bitwiseandexpression-1.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-bitwisexorexpression-bitwise-xor-bitwiseandexpression-1.js
new file mode 100644
index 0000000000..ee974f213d
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-bitwisexorexpression-bitwise-xor-bitwiseandexpression-1.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/bitwisexorexpression-bitwise-xor-bitwiseandexpression-1.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ BitwiseXORExpression: BitwiseXORExpression ^ BitwiseANDExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+1 ^ 2 = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-bitwisexorexpression-bitwise-xor-bitwiseandexpression-2.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-bitwisexorexpression-bitwise-xor-bitwiseandexpression-2.js
new file mode 100644
index 0000000000..9a3a18b519
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-bitwisexorexpression-bitwise-xor-bitwiseandexpression-2.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/bitwisexorexpression-bitwise-xor-bitwiseandexpression-2.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ BitwiseXORExpression: BitwiseXORExpression ^ BitwiseANDExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+true ^ false = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-callexpression-arguments.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-callexpression-arguments.js
new file mode 100644
index 0000000000..0b89359d9e
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-callexpression-arguments.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/callexpression-arguments.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ CallExpression Arguments
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+f() = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-callexpression-templateliteral.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-callexpression-templateliteral.js
new file mode 100644
index 0000000000..8a5c79f8c1
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-callexpression-templateliteral.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/callexpression-templateliteral.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ CallExpression TemplateLiteral
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+f()`` = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-coalesceexpressionhead-coalesce-bitwiseorexpression-0.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-coalesceexpressionhead-coalesce-bitwiseorexpression-0.js
new file mode 100644
index 0000000000..f74c9fad2d
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-coalesceexpressionhead-coalesce-bitwiseorexpression-0.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/coalesceexpressionhead-coalesce-bitwiseorexpression-0.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ CoalesceExpression: CoalesceExpressionHead ?? BitwiseORExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+x ?? y = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-coalesceexpressionhead-coalesce-bitwiseorexpression-1.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-coalesceexpressionhead-coalesce-bitwiseorexpression-1.js
new file mode 100644
index 0000000000..fb81084461
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-coalesceexpressionhead-coalesce-bitwiseorexpression-1.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/coalesceexpressionhead-coalesce-bitwiseorexpression-1.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ CoalesceExpression: CoalesceExpressionHead ?? BitwiseORExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+1 ?? 2 = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-coalesceexpressionhead-coalesce-bitwiseorexpression-2.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-coalesceexpressionhead-coalesce-bitwiseorexpression-2.js
new file mode 100644
index 0000000000..a3bdb79659
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-coalesceexpressionhead-coalesce-bitwiseorexpression-2.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/coalesceexpressionhead-coalesce-bitwiseorexpression-2.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ CoalesceExpression: CoalesceExpressionHead ?? BitwiseORExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+true ?? false = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-equalityexpression-abstract-equal-relationalexpression-0.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-equalityexpression-abstract-equal-relationalexpression-0.js
new file mode 100644
index 0000000000..f4a4723b41
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-equalityexpression-abstract-equal-relationalexpression-0.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/equalityexpression-abstract-equal-relationalexpression-0.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ EqualityExpression == RelationalExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+x == y = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-equalityexpression-abstract-equal-relationalexpression-1.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-equalityexpression-abstract-equal-relationalexpression-1.js
new file mode 100644
index 0000000000..b6ca14b657
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-equalityexpression-abstract-equal-relationalexpression-1.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/equalityexpression-abstract-equal-relationalexpression-1.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ EqualityExpression == RelationalExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+1 == 2 = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-equalityexpression-abstract-equal-relationalexpression-2.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-equalityexpression-abstract-equal-relationalexpression-2.js
new file mode 100644
index 0000000000..8977c56b9b
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-equalityexpression-abstract-equal-relationalexpression-2.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/equalityexpression-abstract-equal-relationalexpression-2.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ EqualityExpression == RelationalExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+true == false = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-equalityexpression-abstract-not-equal-relationalexpression-0.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-equalityexpression-abstract-not-equal-relationalexpression-0.js
new file mode 100644
index 0000000000..b5c660250a
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-equalityexpression-abstract-not-equal-relationalexpression-0.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/equalityexpression-abstract-not-equal-relationalexpression-0.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ EqualityExpression != RelationalExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+x != y = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-equalityexpression-abstract-not-equal-relationalexpression-1.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-equalityexpression-abstract-not-equal-relationalexpression-1.js
new file mode 100644
index 0000000000..e48299cf8e
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-equalityexpression-abstract-not-equal-relationalexpression-1.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/equalityexpression-abstract-not-equal-relationalexpression-1.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ EqualityExpression != RelationalExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+1 != 2 = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-equalityexpression-abstract-not-equal-relationalexpression-2.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-equalityexpression-abstract-not-equal-relationalexpression-2.js
new file mode 100644
index 0000000000..8c8f71b07b
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-equalityexpression-abstract-not-equal-relationalexpression-2.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/equalityexpression-abstract-not-equal-relationalexpression-2.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ EqualityExpression != RelationalExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+true != false = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-equalityexpression-strict-equal-relationalexpression-0.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-equalityexpression-strict-equal-relationalexpression-0.js
new file mode 100644
index 0000000000..e5368c6cc2
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-equalityexpression-strict-equal-relationalexpression-0.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/equalityexpression-strict-equal-relationalexpression-0.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ EqualityExpression === RelationalExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+x == y = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-equalityexpression-strict-equal-relationalexpression-1.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-equalityexpression-strict-equal-relationalexpression-1.js
new file mode 100644
index 0000000000..5650e860cc
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-equalityexpression-strict-equal-relationalexpression-1.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/equalityexpression-strict-equal-relationalexpression-1.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ EqualityExpression === RelationalExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+1 == 2 = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-equalityexpression-strict-equal-relationalexpression-2.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-equalityexpression-strict-equal-relationalexpression-2.js
new file mode 100644
index 0000000000..734357d15d
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-equalityexpression-strict-equal-relationalexpression-2.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/equalityexpression-strict-equal-relationalexpression-2.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ EqualityExpression === RelationalExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+true == false = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-equalityexpression-strict-not-equal-relationalexpression-0.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-equalityexpression-strict-not-equal-relationalexpression-0.js
new file mode 100644
index 0000000000..56ed763bca
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-equalityexpression-strict-not-equal-relationalexpression-0.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/equalityexpression-strict-not-equal-relationalexpression-0.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ EqualityExpression !== RelationalExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+x !== y = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-equalityexpression-strict-not-equal-relationalexpression-1.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-equalityexpression-strict-not-equal-relationalexpression-1.js
new file mode 100644
index 0000000000..a76976c29c
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-equalityexpression-strict-not-equal-relationalexpression-1.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/equalityexpression-strict-not-equal-relationalexpression-1.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ EqualityExpression !== RelationalExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+1 !== 2 = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-equalityexpression-strict-not-equal-relationalexpression-2.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-equalityexpression-strict-not-equal-relationalexpression-2.js
new file mode 100644
index 0000000000..d000cff2c2
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-equalityexpression-strict-not-equal-relationalexpression-2.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/equalityexpression-strict-not-equal-relationalexpression-2.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ EqualityExpression !== RelationalExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+true !== false = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-expression-comma-assignmentexpression-0.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-expression-comma-assignmentexpression-0.js
new file mode 100644
index 0000000000..8a72fdd6a0
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-expression-comma-assignmentexpression-0.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/expression-comma-assignmentexpression-0.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ Expression: Expression , AssignmentExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(x, y = z) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-expression-comma-assignmentexpression-1.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-expression-comma-assignmentexpression-1.js
new file mode 100644
index 0000000000..efc1a3926c
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-expression-comma-assignmentexpression-1.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/expression-comma-assignmentexpression-1.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ Expression: Expression , AssignmentExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(x, y = 1) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-expression-comma-assignmentexpression-2.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-expression-comma-assignmentexpression-2.js
new file mode 100644
index 0000000000..a449ffbccf
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-expression-comma-assignmentexpression-2.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/expression-comma-assignmentexpression-2.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ Expression: Expression , AssignmentExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(x, y = true) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-identifierreference-arguments-strict-strict.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-identifierreference-arguments-strict-strict.js
new file mode 100644
index 0000000000..25874528bb
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-identifierreference-arguments-strict-strict.js
@@ -0,0 +1,18 @@
+// |reftest| error:SyntaxError
+'use strict';
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/identifierreference-arguments-strict.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: If this IdentifierReference is contained in strict mode code and StringValue of Identifier is "eval" or "arguments", return invalid. (Direct assignment)
+flags: [generated, onlyStrict]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+---*/
+
+$DONOTEVALUATE();
+
+arguments = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-identifierreference-eval-strict-strict.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-identifierreference-eval-strict-strict.js
new file mode 100644
index 0000000000..19cb581b3b
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-identifierreference-eval-strict-strict.js
@@ -0,0 +1,18 @@
+// |reftest| error:SyntaxError
+'use strict';
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/identifierreference-eval-strict.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: If this IdentifierReference is contained in strict mode code and StringValue of Identifier is "eval" or "arguments", return invalid. (Direct assignment)
+flags: [generated, onlyStrict]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+---*/
+
+$DONOTEVALUATE();
+
+eval = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-import.meta.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-import.meta.js
new file mode 100644
index 0000000000..c728033105
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-import.meta.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/import.meta.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ import.meta
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+import.meta = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-importcall.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-importcall.js
new file mode 100644
index 0000000000..5e45a325bf
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-importcall.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError module
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/importcall.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated, module]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ ImportCall
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+import() = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-lefthandsideexpression-assignment-assignmentexpression-0.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-lefthandsideexpression-assignment-assignmentexpression-0.js
new file mode 100644
index 0000000000..db2c980fbb
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-lefthandsideexpression-assignment-assignmentexpression-0.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/lefthandsideexpression-assignment-assignmentexpression-0.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: If LeftHandSideExpression is neither an ObjectLiteral nor an ArrayLiteral, the following Early Error rule is applied, It is a Syntax Error if AssignmentTargetType of LeftHandSideExpression is not simple. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ LeftHandSideExpression = AssignmentExpression
+ If LeftHandSideExpression is neither an ObjectLiteral nor an ArrayLiteral, the following Early Error rule is applied, It is a Syntax Error if AssignmentTargetType of LeftHandSideExpression is not simple.
+
+---*/
+
+$DONOTEVALUATE();
+
+(x = y) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-lefthandsideexpression-assignment-assignmentexpression-1.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-lefthandsideexpression-assignment-assignmentexpression-1.js
new file mode 100644
index 0000000000..f112454a5b
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-lefthandsideexpression-assignment-assignmentexpression-1.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/lefthandsideexpression-assignment-assignmentexpression-1.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: If LeftHandSideExpression is neither an ObjectLiteral nor an ArrayLiteral, the following Early Error rule is applied, It is a Syntax Error if AssignmentTargetType of LeftHandSideExpression is not simple. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ LeftHandSideExpression = AssignmentExpression
+ If LeftHandSideExpression is neither an ObjectLiteral nor an ArrayLiteral, the following Early Error rule is applied, It is a Syntax Error if AssignmentTargetType of LeftHandSideExpression is not simple.
+
+---*/
+
+$DONOTEVALUATE();
+
+(x = 1) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-lefthandsideexpression-assignment-assignmentexpression-2.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-lefthandsideexpression-assignment-assignmentexpression-2.js
new file mode 100644
index 0000000000..23a48e6f75
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-lefthandsideexpression-assignment-assignmentexpression-2.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/lefthandsideexpression-assignment-assignmentexpression-2.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: If LeftHandSideExpression is neither an ObjectLiteral nor an ArrayLiteral, the following Early Error rule is applied, It is a Syntax Error if AssignmentTargetType of LeftHandSideExpression is not simple. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ LeftHandSideExpression = AssignmentExpression
+ If LeftHandSideExpression is neither an ObjectLiteral nor an ArrayLiteral, the following Early Error rule is applied, It is a Syntax Error if AssignmentTargetType of LeftHandSideExpression is not simple.
+
+---*/
+
+$DONOTEVALUATE();
+
+(x = true) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-lefthandsideexpression-coalesce-assignment-assignmentexpression-0.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-lefthandsideexpression-coalesce-assignment-assignmentexpression-0.js
new file mode 100644
index 0000000000..de1b6b53f9
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-lefthandsideexpression-coalesce-assignment-assignmentexpression-0.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/lefthandsideexpression-coalesce-assignment-assignmentexpression-0.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ LeftHandSideExpression ??= AssignmentExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(x ??= y) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-lefthandsideexpression-coalesce-assignment-assignmentexpression-1.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-lefthandsideexpression-coalesce-assignment-assignmentexpression-1.js
new file mode 100644
index 0000000000..5529032866
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-lefthandsideexpression-coalesce-assignment-assignmentexpression-1.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/lefthandsideexpression-coalesce-assignment-assignmentexpression-1.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ LeftHandSideExpression ??= AssignmentExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(x ??= 1) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-lefthandsideexpression-coalesce-assignment-assignmentexpression-2.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-lefthandsideexpression-coalesce-assignment-assignmentexpression-2.js
new file mode 100644
index 0000000000..e34830b303
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-lefthandsideexpression-coalesce-assignment-assignmentexpression-2.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/lefthandsideexpression-coalesce-assignment-assignmentexpression-2.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ LeftHandSideExpression ??= AssignmentExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(x ??= true) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-lefthandsideexpression-logical-and-assignment-assignmentexpression-0.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-lefthandsideexpression-logical-and-assignment-assignmentexpression-0.js
new file mode 100644
index 0000000000..4e204d29da
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-lefthandsideexpression-logical-and-assignment-assignmentexpression-0.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/lefthandsideexpression-logical-and-assignment-assignmentexpression-0.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ LeftHandSideExpression &&= AssignmentExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(x &&= y) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-lefthandsideexpression-logical-and-assignment-assignmentexpression-1.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-lefthandsideexpression-logical-and-assignment-assignmentexpression-1.js
new file mode 100644
index 0000000000..5cf90937f4
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-lefthandsideexpression-logical-and-assignment-assignmentexpression-1.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/lefthandsideexpression-logical-and-assignment-assignmentexpression-1.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ LeftHandSideExpression &&= AssignmentExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(x &&= 1) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-lefthandsideexpression-logical-and-assignment-assignmentexpression-2.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-lefthandsideexpression-logical-and-assignment-assignmentexpression-2.js
new file mode 100644
index 0000000000..e2cbbb079d
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-lefthandsideexpression-logical-and-assignment-assignmentexpression-2.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/lefthandsideexpression-logical-and-assignment-assignmentexpression-2.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ LeftHandSideExpression &&= AssignmentExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(x &&= true) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-lefthandsideexpression-logical-or-assignment-assignmentexpression-0.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-lefthandsideexpression-logical-or-assignment-assignmentexpression-0.js
new file mode 100644
index 0000000000..d96d2d8144
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-lefthandsideexpression-logical-or-assignment-assignmentexpression-0.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/lefthandsideexpression-logical-or-assignment-assignmentexpression-0.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ LeftHandSideExpression ||= AssignmentExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(x ||= y) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-lefthandsideexpression-logical-or-assignment-assignmentexpression-1.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-lefthandsideexpression-logical-or-assignment-assignmentexpression-1.js
new file mode 100644
index 0000000000..26f112aca1
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-lefthandsideexpression-logical-or-assignment-assignmentexpression-1.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/lefthandsideexpression-logical-or-assignment-assignmentexpression-1.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ LeftHandSideExpression ||= AssignmentExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(x ||= 1) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-lefthandsideexpression-logical-or-assignment-assignmentexpression-2.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-lefthandsideexpression-logical-or-assignment-assignmentexpression-2.js
new file mode 100644
index 0000000000..ada85abf34
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-lefthandsideexpression-logical-or-assignment-assignmentexpression-2.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/lefthandsideexpression-logical-or-assignment-assignmentexpression-2.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ LeftHandSideExpression ||= AssignmentExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(x ||= true) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-lefthandsideexpression-minus-minus.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-lefthandsideexpression-minus-minus.js
new file mode 100644
index 0000000000..5974ad0d0f
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-lefthandsideexpression-minus-minus.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/lefthandsideexpression-minus-minus.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: It is an early Syntax Error if AssignmentTargetType of LeftHandSideExpression is not simple. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ UpdateExpression: LeftHandSideExpression--
+ It is an early Syntax Error if AssignmentTargetType of LeftHandSideExpression is not simple.
+
+---*/
+
+$DONOTEVALUATE();
+
+x-- = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-lefthandsideexpression-plus-plus.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-lefthandsideexpression-plus-plus.js
new file mode 100644
index 0000000000..7745d60f62
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-lefthandsideexpression-plus-plus.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/lefthandsideexpression-plus-plus.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: It is an early Syntax Error if AssignmentTargetType of LeftHandSideExpression is not simple. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ UpdateExpression: LeftHandSideExpression ++
+ It is an early Syntax Error if AssignmentTargetType of LeftHandSideExpression is not simple.
+
+---*/
+
+$DONOTEVALUATE();
+
+x++ = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-logicalandexpression-logical-and-bitwiseorexpression-0.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-logicalandexpression-logical-and-bitwiseorexpression-0.js
new file mode 100644
index 0000000000..16aba3e697
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-logicalandexpression-logical-and-bitwiseorexpression-0.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/logicalandexpression-logical-and-bitwiseorexpression-0.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ LogicalANDExpression: LogicalANDExpression && BitwiseORExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+x && y = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-logicalandexpression-logical-and-bitwiseorexpression-1.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-logicalandexpression-logical-and-bitwiseorexpression-1.js
new file mode 100644
index 0000000000..41859a7b26
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-logicalandexpression-logical-and-bitwiseorexpression-1.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/logicalandexpression-logical-and-bitwiseorexpression-1.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ LogicalANDExpression: LogicalANDExpression && BitwiseORExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+1 && 2 = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-logicalandexpression-logical-and-bitwiseorexpression-2.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-logicalandexpression-logical-and-bitwiseorexpression-2.js
new file mode 100644
index 0000000000..71c8558f9c
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-logicalandexpression-logical-and-bitwiseorexpression-2.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/logicalandexpression-logical-and-bitwiseorexpression-2.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ LogicalANDExpression: LogicalANDExpression && BitwiseORExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+true && false = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-logicalorexpression-logical-or-logicalandexpression-0.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-logicalorexpression-logical-or-logicalandexpression-0.js
new file mode 100644
index 0000000000..e6432da489
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-logicalorexpression-logical-or-logicalandexpression-0.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/logicalorexpression-logical-or-logicalandexpression-0.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ LogicalORExpression: LogicalORExpression || LogicalANDExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+x || y = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-logicalorexpression-logical-or-logicalandexpression-1.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-logicalorexpression-logical-or-logicalandexpression-1.js
new file mode 100644
index 0000000000..28462a0282
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-logicalorexpression-logical-or-logicalandexpression-1.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/logicalorexpression-logical-or-logicalandexpression-1.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ LogicalORExpression: LogicalORExpression || LogicalANDExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+1 || 2 = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-logicalorexpression-logical-or-logicalandexpression-2.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-logicalorexpression-logical-or-logicalandexpression-2.js
new file mode 100644
index 0000000000..49f676d981
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-logicalorexpression-logical-or-logicalandexpression-2.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/logicalorexpression-logical-or-logicalandexpression-2.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ LogicalORExpression: LogicalORExpression || LogicalANDExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+true || false = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-memberexpression-templateliteral.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-memberexpression-templateliteral.js
new file mode 100644
index 0000000000..1ad3095f19
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-memberexpression-templateliteral.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/memberexpression-templateliteral.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ MemberExpression TemplateLiteral
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+o.f()`` = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-minus-minus-unaryexpression.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-minus-minus-unaryexpression.js
new file mode 100644
index 0000000000..aef2f56c1e
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-minus-minus-unaryexpression.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/minus-minus-unaryexpression.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: It is an early Syntax Error if AssignmentTargetType of UnaryExpression is not simple. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ UpdateExpression: --UnaryExpression
+ It is an early Syntax Error if AssignmentTargetType of UnaryExpression is not simple.
+
+---*/
+
+$DONOTEVALUATE();
+
+--x = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-multiplicativeexpression-multiplicativeoperator-exponentiationexpression-0.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-multiplicativeexpression-multiplicativeoperator-exponentiationexpression-0.js
new file mode 100644
index 0000000000..835028c16a
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-multiplicativeexpression-multiplicativeoperator-exponentiationexpression-0.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/multiplicativeexpression-multiplicativeoperator-exponentiationexpression-0.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ MultiplicativeExpression MultiplicativeOperator ExponentiationExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+x * y = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-multiplicativeexpression-multiplicativeoperator-exponentiationexpression-1.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-multiplicativeexpression-multiplicativeoperator-exponentiationexpression-1.js
new file mode 100644
index 0000000000..593289fc7a
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-multiplicativeexpression-multiplicativeoperator-exponentiationexpression-1.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/multiplicativeexpression-multiplicativeoperator-exponentiationexpression-1.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ MultiplicativeExpression MultiplicativeOperator ExponentiationExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+1 * 2 = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-multiplicativeexpression-multiplicativeoperator-exponentiationexpression-2.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-multiplicativeexpression-multiplicativeoperator-exponentiationexpression-2.js
new file mode 100644
index 0000000000..a1ee2b78f3
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-multiplicativeexpression-multiplicativeoperator-exponentiationexpression-2.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/multiplicativeexpression-multiplicativeoperator-exponentiationexpression-2.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ MultiplicativeExpression MultiplicativeOperator ExponentiationExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+true * false = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-multiplicativeexpression-multiplicativeoperator-exponentiationexpression-3.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-multiplicativeexpression-multiplicativeoperator-exponentiationexpression-3.js
new file mode 100644
index 0000000000..2e4af3467b
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-multiplicativeexpression-multiplicativeoperator-exponentiationexpression-3.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/multiplicativeexpression-multiplicativeoperator-exponentiationexpression-3.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ MultiplicativeExpression MultiplicativeOperator ExponentiationExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+x / y = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-multiplicativeexpression-multiplicativeoperator-exponentiationexpression-4.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-multiplicativeexpression-multiplicativeoperator-exponentiationexpression-4.js
new file mode 100644
index 0000000000..221956131a
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-multiplicativeexpression-multiplicativeoperator-exponentiationexpression-4.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/multiplicativeexpression-multiplicativeoperator-exponentiationexpression-4.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ MultiplicativeExpression MultiplicativeOperator ExponentiationExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+1 / 2 = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-multiplicativeexpression-multiplicativeoperator-exponentiationexpression-5.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-multiplicativeexpression-multiplicativeoperator-exponentiationexpression-5.js
new file mode 100644
index 0000000000..7412a58f78
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-multiplicativeexpression-multiplicativeoperator-exponentiationexpression-5.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/multiplicativeexpression-multiplicativeoperator-exponentiationexpression-5.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ MultiplicativeExpression MultiplicativeOperator ExponentiationExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+true / false = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-new-memberexpression-arguments.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-new-memberexpression-arguments.js
new file mode 100644
index 0000000000..c0bbe9fc82
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-new-memberexpression-arguments.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/new-memberexpression-arguments.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ new MemberExpression Arguments
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+new f() = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-new-newexpression.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-new-newexpression.js
new file mode 100644
index 0000000000..61beb6d603
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-new-newexpression.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/new-newexpression.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ new NewExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+new f = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-optionalexpression.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-optionalexpression.js
new file mode 100644
index 0000000000..1b89458572
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-optionalexpression.js
@@ -0,0 +1,22 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/optionalexpression.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+features: [optional-chaining]
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ OptionalExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+x?.y = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-plus-plus-unaryexpression.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-plus-plus-unaryexpression.js
new file mode 100644
index 0000000000..066a8898cb
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-plus-plus-unaryexpression.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/plus-plus-unaryexpression.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: It is an early Syntax Error if AssignmentTargetType of UnaryExpression is not simple. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ UpdateExpression: ++UnaryExpression
+ It is an early Syntax Error if AssignmentTargetType of UnaryExpression is not simple.
+
+---*/
+
+$DONOTEVALUATE();
+
+++x = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-primaryexpression-asyncfunctionexpression.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-primaryexpression-asyncfunctionexpression.js
new file mode 100644
index 0000000000..edb05be2d8
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-primaryexpression-asyncfunctionexpression.js
@@ -0,0 +1,17 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/primaryexpression-asyncfunctionexpression.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: PrimaryExpression AsyncFunctionExpression; Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+---*/
+
+$DONOTEVALUATE();
+
+async function () {} = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-primaryexpression-asyncgeneratorexpression.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-primaryexpression-asyncgeneratorexpression.js
new file mode 100644
index 0000000000..c165a2a58d
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-primaryexpression-asyncgeneratorexpression.js
@@ -0,0 +1,17 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/primaryexpression-asyncgeneratorexpression.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: PrimaryExpression AsyncGeneratorExpression; Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+---*/
+
+$DONOTEVALUATE();
+
+async function () {} = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-primaryexpression-classexpression.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-primaryexpression-classexpression.js
new file mode 100644
index 0000000000..ee90fe8849
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-primaryexpression-classexpression.js
@@ -0,0 +1,17 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/primaryexpression-classexpression.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: PrimaryExpression ClassExpression; Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+---*/
+
+$DONOTEVALUATE();
+
+class {} = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-primaryexpression-functionexpression.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-primaryexpression-functionexpression.js
new file mode 100644
index 0000000000..7e4e4a3e2b
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-primaryexpression-functionexpression.js
@@ -0,0 +1,17 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/primaryexpression-functionexpression.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: PrimaryExpression FunctionExpression, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+---*/
+
+$DONOTEVALUATE();
+
+function() {} = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-primaryexpression-generatorexpression.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-primaryexpression-generatorexpression.js
new file mode 100644
index 0000000000..ed919f5fff
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-primaryexpression-generatorexpression.js
@@ -0,0 +1,17 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/primaryexpression-generatorexpression.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: PrimaryExpression ArrayLiteral; Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+---*/
+
+$DONOTEVALUATE();
+
+function * () {} = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-primaryexpression-literal-boolean.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-primaryexpression-literal-boolean.js
new file mode 100644
index 0000000000..9589ddfe5a
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-primaryexpression-literal-boolean.js
@@ -0,0 +1,17 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/primaryexpression-literal-boolean.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: PrimaryExpression Literal BooleanLiteral; Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+---*/
+
+$DONOTEVALUATE();
+
+true = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-primaryexpression-literal-null.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-primaryexpression-literal-null.js
new file mode 100644
index 0000000000..143619507c
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-primaryexpression-literal-null.js
@@ -0,0 +1,17 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/primaryexpression-literal-null.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: PrimaryExpression Literal NullLiteral; Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+---*/
+
+$DONOTEVALUATE();
+
+null = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-primaryexpression-literal-numeric.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-primaryexpression-literal-numeric.js
new file mode 100644
index 0000000000..98f1f0153a
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-primaryexpression-literal-numeric.js
@@ -0,0 +1,17 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/primaryexpression-literal-numeric.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: PrimaryExpression Literal NumericLiteral; Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+---*/
+
+$DONOTEVALUATE();
+
+0 = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-primaryexpression-literal-string.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-primaryexpression-literal-string.js
new file mode 100644
index 0000000000..11315f9e36
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-primaryexpression-literal-string.js
@@ -0,0 +1,17 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/primaryexpression-literal-string.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: PrimaryExpression Literal StringLiteral; Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+---*/
+
+$DONOTEVALUATE();
+
+'' = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-primaryexpression-objectliteral.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-primaryexpression-objectliteral.js
new file mode 100644
index 0000000000..38074ca00d
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-primaryexpression-objectliteral.js
@@ -0,0 +1,17 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/primaryexpression-objectliteral.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: PrimaryExpression ObjectLiteral; Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+---*/
+
+$DONOTEVALUATE();
+
+{} = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-primaryexpression-regularexpressionliteral.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-primaryexpression-regularexpressionliteral.js
new file mode 100644
index 0000000000..5fa8441975
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-primaryexpression-regularexpressionliteral.js
@@ -0,0 +1,17 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/primaryexpression-regularexpressionliteral.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: PrimaryExpression RegularExpressionLiteral; Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+---*/
+
+$DONOTEVALUATE();
+
+/1/ = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-primaryexpression-templateliteral.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-primaryexpression-templateliteral.js
new file mode 100644
index 0000000000..4969115e93
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-primaryexpression-templateliteral.js
@@ -0,0 +1,17 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/primaryexpression-templateliteral.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: PrimaryExpression TemplateLiteral; Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+---*/
+
+$DONOTEVALUATE();
+
+`` = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-primaryexpression-this.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-primaryexpression-this.js
new file mode 100644
index 0000000000..46be392d6f
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-primaryexpression-this.js
@@ -0,0 +1,17 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/primaryexpression-this.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: PrimaryExpression this; Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+---*/
+
+$DONOTEVALUATE();
+
+this = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-relationalexpression-greater-than-or-equal-to-shiftexpression-0.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-relationalexpression-greater-than-or-equal-to-shiftexpression-0.js
new file mode 100644
index 0000000000..c4aee6224e
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-relationalexpression-greater-than-or-equal-to-shiftexpression-0.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/relationalexpression-greater-than-or-equal-to-shiftexpression-0.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ RelationalExpression >= ShiftExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+x >= y = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-relationalexpression-greater-than-or-equal-to-shiftexpression-1.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-relationalexpression-greater-than-or-equal-to-shiftexpression-1.js
new file mode 100644
index 0000000000..e56dcb1ed6
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-relationalexpression-greater-than-or-equal-to-shiftexpression-1.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/relationalexpression-greater-than-or-equal-to-shiftexpression-1.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ RelationalExpression >= ShiftExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+1 >= 2 = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-relationalexpression-greater-than-or-equal-to-shiftexpression-2.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-relationalexpression-greater-than-or-equal-to-shiftexpression-2.js
new file mode 100644
index 0000000000..f50beb562d
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-relationalexpression-greater-than-or-equal-to-shiftexpression-2.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/relationalexpression-greater-than-or-equal-to-shiftexpression-2.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ RelationalExpression >= ShiftExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+true >= false = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-relationalexpression-greater-than-shiftexpression-0.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-relationalexpression-greater-than-shiftexpression-0.js
new file mode 100644
index 0000000000..91b645d8ea
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-relationalexpression-greater-than-shiftexpression-0.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/relationalexpression-greater-than-shiftexpression-0.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ RelationalExpression > ShiftExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+x > y = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-relationalexpression-greater-than-shiftexpression-1.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-relationalexpression-greater-than-shiftexpression-1.js
new file mode 100644
index 0000000000..d5a02ddf03
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-relationalexpression-greater-than-shiftexpression-1.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/relationalexpression-greater-than-shiftexpression-1.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ RelationalExpression > ShiftExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+1 > 2 = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-relationalexpression-greater-than-shiftexpression-2.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-relationalexpression-greater-than-shiftexpression-2.js
new file mode 100644
index 0000000000..bbc30a6fa3
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-relationalexpression-greater-than-shiftexpression-2.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/relationalexpression-greater-than-shiftexpression-2.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ RelationalExpression > ShiftExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+true > false = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-relationalexpression-in-shiftexpression-0.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-relationalexpression-in-shiftexpression-0.js
new file mode 100644
index 0000000000..45b07d1b1c
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-relationalexpression-in-shiftexpression-0.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/relationalexpression-in-shiftexpression-0.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ RelationalExpression in ShiftExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+x in y = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-relationalexpression-in-shiftexpression-1.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-relationalexpression-in-shiftexpression-1.js
new file mode 100644
index 0000000000..277ebde21a
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-relationalexpression-in-shiftexpression-1.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/relationalexpression-in-shiftexpression-1.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ RelationalExpression in ShiftExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+1 in 2 = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-relationalexpression-in-shiftexpression-2.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-relationalexpression-in-shiftexpression-2.js
new file mode 100644
index 0000000000..0ded44ee95
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-relationalexpression-in-shiftexpression-2.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/relationalexpression-in-shiftexpression-2.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ RelationalExpression in ShiftExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+true in false = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-relationalexpression-instanceof-shiftexpression-0.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-relationalexpression-instanceof-shiftexpression-0.js
new file mode 100644
index 0000000000..5aadccfc68
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-relationalexpression-instanceof-shiftexpression-0.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/relationalexpression-instanceof-shiftexpression-0.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ RelationalExpression instanceof ShiftExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+x instanceof y = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-relationalexpression-instanceof-shiftexpression-1.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-relationalexpression-instanceof-shiftexpression-1.js
new file mode 100644
index 0000000000..119f5df5a1
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-relationalexpression-instanceof-shiftexpression-1.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/relationalexpression-instanceof-shiftexpression-1.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ RelationalExpression instanceof ShiftExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+1 instanceof 2 = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-relationalexpression-instanceof-shiftexpression-2.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-relationalexpression-instanceof-shiftexpression-2.js
new file mode 100644
index 0000000000..db8261dbd7
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-relationalexpression-instanceof-shiftexpression-2.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/relationalexpression-instanceof-shiftexpression-2.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ RelationalExpression instanceof ShiftExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+true instanceof false = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-relationalexpression-less-than-or-equal-to-shiftexpression-0.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-relationalexpression-less-than-or-equal-to-shiftexpression-0.js
new file mode 100644
index 0000000000..b8d53e1d5b
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-relationalexpression-less-than-or-equal-to-shiftexpression-0.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/relationalexpression-less-than-or-equal-to-shiftexpression-0.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ RelationalExpression <= ShiftExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+x <= y = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-relationalexpression-less-than-or-equal-to-shiftexpression-1.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-relationalexpression-less-than-or-equal-to-shiftexpression-1.js
new file mode 100644
index 0000000000..fa26048841
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-relationalexpression-less-than-or-equal-to-shiftexpression-1.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/relationalexpression-less-than-or-equal-to-shiftexpression-1.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ RelationalExpression <= ShiftExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+1 <= 2 = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-relationalexpression-less-than-or-equal-to-shiftexpression-2.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-relationalexpression-less-than-or-equal-to-shiftexpression-2.js
new file mode 100644
index 0000000000..f26e7b8952
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-relationalexpression-less-than-or-equal-to-shiftexpression-2.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/relationalexpression-less-than-or-equal-to-shiftexpression-2.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ RelationalExpression <= ShiftExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+true <= false = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-relationalexpression-less-than-shiftexpression-0.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-relationalexpression-less-than-shiftexpression-0.js
new file mode 100644
index 0000000000..1304ecc863
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-relationalexpression-less-than-shiftexpression-0.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/relationalexpression-less-than-shiftexpression-0.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ RelationalExpression < ShiftExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+x < y = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-relationalexpression-less-than-shiftexpression-1.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-relationalexpression-less-than-shiftexpression-1.js
new file mode 100644
index 0000000000..96be4cbf53
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-relationalexpression-less-than-shiftexpression-1.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/relationalexpression-less-than-shiftexpression-1.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ RelationalExpression < ShiftExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+1 < 2 = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-relationalexpression-less-than-shiftexpression-2.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-relationalexpression-less-than-shiftexpression-2.js
new file mode 100644
index 0000000000..551aafcfa9
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-relationalexpression-less-than-shiftexpression-2.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/relationalexpression-less-than-shiftexpression-2.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ RelationalExpression < ShiftExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+true < false = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-shiftexpression-bitwise-left-additiveexpression-0.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-shiftexpression-bitwise-left-additiveexpression-0.js
new file mode 100644
index 0000000000..8a39888ceb
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-shiftexpression-bitwise-left-additiveexpression-0.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/shiftexpression-bitwise-left-additiveexpression-0.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ ShiftExpression << AdditiveExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+x << y = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-shiftexpression-bitwise-left-additiveexpression-1.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-shiftexpression-bitwise-left-additiveexpression-1.js
new file mode 100644
index 0000000000..d0b9aac2ba
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-shiftexpression-bitwise-left-additiveexpression-1.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/shiftexpression-bitwise-left-additiveexpression-1.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ ShiftExpression << AdditiveExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+1 << 2 = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-shiftexpression-bitwise-left-additiveexpression-2.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-shiftexpression-bitwise-left-additiveexpression-2.js
new file mode 100644
index 0000000000..9b75110526
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-shiftexpression-bitwise-left-additiveexpression-2.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/shiftexpression-bitwise-left-additiveexpression-2.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ ShiftExpression << AdditiveExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+true << false = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-shiftexpression-bitwise-right-additiveexpression-0.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-shiftexpression-bitwise-right-additiveexpression-0.js
new file mode 100644
index 0000000000..ae29e98de0
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-shiftexpression-bitwise-right-additiveexpression-0.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/shiftexpression-bitwise-right-additiveexpression-0.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ ShiftExpression >> AdditiveExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+x >> y = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-shiftexpression-bitwise-right-additiveexpression-1.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-shiftexpression-bitwise-right-additiveexpression-1.js
new file mode 100644
index 0000000000..d0a0086392
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-shiftexpression-bitwise-right-additiveexpression-1.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/shiftexpression-bitwise-right-additiveexpression-1.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ ShiftExpression >> AdditiveExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+1 >> 2 = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-shiftexpression-bitwise-right-additiveexpression-2.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-shiftexpression-bitwise-right-additiveexpression-2.js
new file mode 100644
index 0000000000..8e21ce2514
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-shiftexpression-bitwise-right-additiveexpression-2.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/shiftexpression-bitwise-right-additiveexpression-2.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ ShiftExpression >> AdditiveExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+true >> false = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-shiftexpression-unsigned-bitwise-right-additiveexpression-0.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-shiftexpression-unsigned-bitwise-right-additiveexpression-0.js
new file mode 100644
index 0000000000..d266bdff36
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-shiftexpression-unsigned-bitwise-right-additiveexpression-0.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/shiftexpression-unsigned-bitwise-right-additiveexpression-0.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ ShiftExpression >>> AdditiveExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+x >>> y = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-shiftexpression-unsigned-bitwise-right-additiveexpression-1.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-shiftexpression-unsigned-bitwise-right-additiveexpression-1.js
new file mode 100644
index 0000000000..cbf4cca44a
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-shiftexpression-unsigned-bitwise-right-additiveexpression-1.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/shiftexpression-unsigned-bitwise-right-additiveexpression-1.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ ShiftExpression >>> AdditiveExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+1 >>> 2 = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-shiftexpression-unsigned-bitwise-right-additiveexpression-2.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-shiftexpression-unsigned-bitwise-right-additiveexpression-2.js
new file mode 100644
index 0000000000..54bf950ee4
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-shiftexpression-unsigned-bitwise-right-additiveexpression-2.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/shiftexpression-unsigned-bitwise-right-additiveexpression-2.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ ShiftExpression >>> AdditiveExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+true >>> false = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-shortcircuitexpression-question-assignmentexpression-else-assignmentexpression-0.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-shortcircuitexpression-question-assignmentexpression-else-assignmentexpression-0.js
new file mode 100644
index 0000000000..3ba11d625b
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-shortcircuitexpression-question-assignmentexpression-else-assignmentexpression-0.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/shortcircuitexpression-question-assignmentexpression-else-assignmentexpression-0.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ ShortCircuitExpression ? AssignmentExpression : AssignmentExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(x ? y : z) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-shortcircuitexpression-question-assignmentexpression-else-assignmentexpression-1.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-shortcircuitexpression-question-assignmentexpression-else-assignmentexpression-1.js
new file mode 100644
index 0000000000..11b69bba48
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-shortcircuitexpression-question-assignmentexpression-else-assignmentexpression-1.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/shortcircuitexpression-question-assignmentexpression-else-assignmentexpression-1.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ ShortCircuitExpression ? AssignmentExpression : AssignmentExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(1 ? 2 : 3) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-shortcircuitexpression-question-assignmentexpression-else-assignmentexpression-2.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-shortcircuitexpression-question-assignmentexpression-else-assignmentexpression-2.js
new file mode 100644
index 0000000000..f0d3067cca
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-shortcircuitexpression-question-assignmentexpression-else-assignmentexpression-2.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/shortcircuitexpression-question-assignmentexpression-else-assignmentexpression-2.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ ShortCircuitExpression ? AssignmentExpression : AssignmentExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(true ? false : true) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-unaryexpression-delete-unaryexpression.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-unaryexpression-delete-unaryexpression.js
new file mode 100644
index 0000000000..c7e1f9f063
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-unaryexpression-delete-unaryexpression.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/unaryexpression-delete-unaryexpression.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ UnaryExpression: delete UnaryExpression
+ Static Semantics AssignmentTargetType, Return invalid
+
+---*/
+
+$DONOTEVALUATE();
+
+delete x.y = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-unaryexpression-exclamation-unaryexpression-0.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-unaryexpression-exclamation-unaryexpression-0.js
new file mode 100644
index 0000000000..8a0485ba0e
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-unaryexpression-exclamation-unaryexpression-0.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/unaryexpression-exclamation-unaryexpression-0.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ UnaryExpression: ! UnaryExpression
+ Static Semantics AssignmentTargetType, Return invalid
+
+---*/
+
+$DONOTEVALUATE();
+
+!x = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-unaryexpression-exclamation-unaryexpression-1.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-unaryexpression-exclamation-unaryexpression-1.js
new file mode 100644
index 0000000000..42f5b8f954
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-unaryexpression-exclamation-unaryexpression-1.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/unaryexpression-exclamation-unaryexpression-1.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ UnaryExpression: ! UnaryExpression
+ Static Semantics AssignmentTargetType, Return invalid
+
+---*/
+
+$DONOTEVALUATE();
+
+!1 = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-unaryexpression-exclamation-unaryexpression-2.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-unaryexpression-exclamation-unaryexpression-2.js
new file mode 100644
index 0000000000..94f4e88dc7
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-unaryexpression-exclamation-unaryexpression-2.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/unaryexpression-exclamation-unaryexpression-2.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ UnaryExpression: ! UnaryExpression
+ Static Semantics AssignmentTargetType, Return invalid
+
+---*/
+
+$DONOTEVALUATE();
+
+!true = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-unaryexpression-minus-unaryexpression-0.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-unaryexpression-minus-unaryexpression-0.js
new file mode 100644
index 0000000000..ac195ce3af
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-unaryexpression-minus-unaryexpression-0.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/unaryexpression-minus-unaryexpression-0.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ UnaryExpression: - UnaryExpression
+ Static Semantics AssignmentTargetType, Return invalid
+
+---*/
+
+$DONOTEVALUATE();
+
+-x = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-unaryexpression-minus-unaryexpression-1.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-unaryexpression-minus-unaryexpression-1.js
new file mode 100644
index 0000000000..f6e37a35e5
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-unaryexpression-minus-unaryexpression-1.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/unaryexpression-minus-unaryexpression-1.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ UnaryExpression: - UnaryExpression
+ Static Semantics AssignmentTargetType, Return invalid
+
+---*/
+
+$DONOTEVALUATE();
+
+-1 = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-unaryexpression-minus-unaryexpression-2.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-unaryexpression-minus-unaryexpression-2.js
new file mode 100644
index 0000000000..60470125cd
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-unaryexpression-minus-unaryexpression-2.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/unaryexpression-minus-unaryexpression-2.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ UnaryExpression: - UnaryExpression
+ Static Semantics AssignmentTargetType, Return invalid
+
+---*/
+
+$DONOTEVALUATE();
+
+-true = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-unaryexpression-plus-unaryexpression-0.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-unaryexpression-plus-unaryexpression-0.js
new file mode 100644
index 0000000000..beb9c8900a
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-unaryexpression-plus-unaryexpression-0.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/unaryexpression-plus-unaryexpression-0.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ UnaryExpression: + UnaryExpression
+ Static Semantics AssignmentTargetType, Return invalid
+
+---*/
+
+$DONOTEVALUATE();
+
++x = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-unaryexpression-plus-unaryexpression-1.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-unaryexpression-plus-unaryexpression-1.js
new file mode 100644
index 0000000000..fcc62936ac
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-unaryexpression-plus-unaryexpression-1.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/unaryexpression-plus-unaryexpression-1.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ UnaryExpression: + UnaryExpression
+ Static Semantics AssignmentTargetType, Return invalid
+
+---*/
+
+$DONOTEVALUATE();
+
++1 = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-unaryexpression-plus-unaryexpression-2.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-unaryexpression-plus-unaryexpression-2.js
new file mode 100644
index 0000000000..02e0e8a72a
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-unaryexpression-plus-unaryexpression-2.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/unaryexpression-plus-unaryexpression-2.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ UnaryExpression: + UnaryExpression
+ Static Semantics AssignmentTargetType, Return invalid
+
+---*/
+
+$DONOTEVALUATE();
+
++true = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-unaryexpression-tilde-unaryexpression-0.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-unaryexpression-tilde-unaryexpression-0.js
new file mode 100644
index 0000000000..8bb4fba1b3
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-unaryexpression-tilde-unaryexpression-0.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/unaryexpression-tilde-unaryexpression-0.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ UnaryExpression: ~ UnaryExpression
+ Static Semantics AssignmentTargetType, Return invalid
+
+---*/
+
+$DONOTEVALUATE();
+
+~x = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-unaryexpression-tilde-unaryexpression-1.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-unaryexpression-tilde-unaryexpression-1.js
new file mode 100644
index 0000000000..2d7795f419
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-unaryexpression-tilde-unaryexpression-1.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/unaryexpression-tilde-unaryexpression-1.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ UnaryExpression: ~ UnaryExpression
+ Static Semantics AssignmentTargetType, Return invalid
+
+---*/
+
+$DONOTEVALUATE();
+
+~1 = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-unaryexpression-tilde-unaryexpression-2.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-unaryexpression-tilde-unaryexpression-2.js
new file mode 100644
index 0000000000..c1195b53ca
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-unaryexpression-tilde-unaryexpression-2.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/unaryexpression-tilde-unaryexpression-2.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ UnaryExpression: ~ UnaryExpression
+ Static Semantics AssignmentTargetType, Return invalid
+
+---*/
+
+$DONOTEVALUATE();
+
+~true = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-unaryexpression-typeof-unaryexpression-0.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-unaryexpression-typeof-unaryexpression-0.js
new file mode 100644
index 0000000000..62f950c9b4
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-unaryexpression-typeof-unaryexpression-0.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/unaryexpression-typeof-unaryexpression-0.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ UnaryExpression: typeof UnaryExpression
+ Static Semantics AssignmentTargetType, Return invalid
+
+---*/
+
+$DONOTEVALUATE();
+
+typeof x = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-unaryexpression-typeof-unaryexpression-1.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-unaryexpression-typeof-unaryexpression-1.js
new file mode 100644
index 0000000000..fc7db02825
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-unaryexpression-typeof-unaryexpression-1.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/unaryexpression-typeof-unaryexpression-1.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ UnaryExpression: typeof UnaryExpression
+ Static Semantics AssignmentTargetType, Return invalid
+
+---*/
+
+$DONOTEVALUATE();
+
+typeof 1 = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-unaryexpression-typeof-unaryexpression-2.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-unaryexpression-typeof-unaryexpression-2.js
new file mode 100644
index 0000000000..e57f785fec
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-unaryexpression-typeof-unaryexpression-2.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/unaryexpression-typeof-unaryexpression-2.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ UnaryExpression: typeof UnaryExpression
+ Static Semantics AssignmentTargetType, Return invalid
+
+---*/
+
+$DONOTEVALUATE();
+
+typeof true = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-unaryexpression-void-unaryexpression-0.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-unaryexpression-void-unaryexpression-0.js
new file mode 100644
index 0000000000..beb038b686
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-unaryexpression-void-unaryexpression-0.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/unaryexpression-void-unaryexpression-0.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ UnaryExpression: void UnaryExpression
+ Static Semantics AssignmentTargetType, Return invalid
+
+---*/
+
+$DONOTEVALUATE();
+
+void x = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-unaryexpression-void-unaryexpression-1.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-unaryexpression-void-unaryexpression-1.js
new file mode 100644
index 0000000000..5912b41028
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-unaryexpression-void-unaryexpression-1.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/unaryexpression-void-unaryexpression-1.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ UnaryExpression: void UnaryExpression
+ Static Semantics AssignmentTargetType, Return invalid
+
+---*/
+
+$DONOTEVALUATE();
+
+void 1 = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-unaryexpression-void-unaryexpression-2.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-unaryexpression-void-unaryexpression-2.js
new file mode 100644
index 0000000000..995ef8d1aa
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-unaryexpression-void-unaryexpression-2.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/unaryexpression-void-unaryexpression-2.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ UnaryExpression: void UnaryExpression
+ Static Semantics AssignmentTargetType, Return invalid
+
+---*/
+
+$DONOTEVALUATE();
+
+void true = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-updateexpression-star-star-exponentiationexpression-0.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-updateexpression-star-star-exponentiationexpression-0.js
new file mode 100644
index 0000000000..bb5eef707d
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-updateexpression-star-star-exponentiationexpression-0.js
@@ -0,0 +1,22 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/updateexpression-star-star-exponentiationexpression-0.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+features: [exponentiation]
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ UpdateExpression ** ExponentiationExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+x ** y = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-updateexpression-star-star-exponentiationexpression-1.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-updateexpression-star-star-exponentiationexpression-1.js
new file mode 100644
index 0000000000..b689ea570c
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-updateexpression-star-star-exponentiationexpression-1.js
@@ -0,0 +1,22 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/updateexpression-star-star-exponentiationexpression-1.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+features: [exponentiation]
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ UpdateExpression ** ExponentiationExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+1 ** 2 = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-updateexpression-star-star-exponentiationexpression-2.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-updateexpression-star-star-exponentiationexpression-2.js
new file mode 100644
index 0000000000..26329bf152
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-updateexpression-star-star-exponentiationexpression-2.js
@@ -0,0 +1,22 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/updateexpression-star-star-exponentiationexpression-2.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+features: [exponentiation]
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ UpdateExpression ** ExponentiationExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+true ** false = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-yieldexpression-0.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-yieldexpression-0.js
new file mode 100644
index 0000000000..cf25897ad8
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-yieldexpression-0.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/yieldexpression-0.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ YieldExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+yield x = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/direct-yieldexpression-1.js b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-yieldexpression-1.js
new file mode 100644
index 0000000000..f4d19bea26
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/direct-yieldexpression-1.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/yieldexpression-1.case
+// - src/assignment-target-type/invalid/direct.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (Direct assignment)
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ Direct assignment
+
+ YieldExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+yield * x = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-additiveexpression-minus-multiplicativeexpression-0.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-additiveexpression-minus-multiplicativeexpression-0.js
new file mode 100644
index 0000000000..94f421eb02
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-additiveexpression-minus-multiplicativeexpression-0.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/additiveexpression-minus-multiplicativeexpression-0.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ AdditiveExpression - MultiplicativeExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(x - y) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-additiveexpression-minus-multiplicativeexpression-1.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-additiveexpression-minus-multiplicativeexpression-1.js
new file mode 100644
index 0000000000..685bde6bbe
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-additiveexpression-minus-multiplicativeexpression-1.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/additiveexpression-minus-multiplicativeexpression-1.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ AdditiveExpression - MultiplicativeExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(1 - 2) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-additiveexpression-minus-multiplicativeexpression-2.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-additiveexpression-minus-multiplicativeexpression-2.js
new file mode 100644
index 0000000000..e78757381c
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-additiveexpression-minus-multiplicativeexpression-2.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/additiveexpression-minus-multiplicativeexpression-2.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ AdditiveExpression - MultiplicativeExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(true - false) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-additiveexpression-plus-multiplicativeexpression-0.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-additiveexpression-plus-multiplicativeexpression-0.js
new file mode 100644
index 0000000000..2b3875f5e9
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-additiveexpression-plus-multiplicativeexpression-0.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/additiveexpression-plus-multiplicativeexpression-0.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ AdditiveExpression + MultiplicativeExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(x + y) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-additiveexpression-plus-multiplicativeexpression-1.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-additiveexpression-plus-multiplicativeexpression-1.js
new file mode 100644
index 0000000000..e1cfc6b3f7
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-additiveexpression-plus-multiplicativeexpression-1.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/additiveexpression-plus-multiplicativeexpression-1.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ AdditiveExpression + MultiplicativeExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(1 + 2) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-additiveexpression-plus-multiplicativeexpression-2.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-additiveexpression-plus-multiplicativeexpression-2.js
new file mode 100644
index 0000000000..9e231f7d9a
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-additiveexpression-plus-multiplicativeexpression-2.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/additiveexpression-plus-multiplicativeexpression-2.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ AdditiveExpression + MultiplicativeExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(true + false) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-arrowfunction-0.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-arrowfunction-0.js
new file mode 100644
index 0000000000..96ba3369a2
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-arrowfunction-0.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/arrowfunction-0.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ ArrowFunction
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(() => {}) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-arrowfunction-1.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-arrowfunction-1.js
new file mode 100644
index 0000000000..800504dccb
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-arrowfunction-1.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/arrowfunction-1.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ ArrowFunction
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(() => ({})) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-arrowfunction-2.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-arrowfunction-2.js
new file mode 100644
index 0000000000..1d4be742db
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-arrowfunction-2.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/arrowfunction-2.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ ArrowFunction
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+((x => x)) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-arrowfunction-3.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-arrowfunction-3.js
new file mode 100644
index 0000000000..a9b566c765
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-arrowfunction-3.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/arrowfunction-3.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ ArrowFunction
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(((x) => x)) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-arrowfunction-4.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-arrowfunction-4.js
new file mode 100644
index 0000000000..bff8138021
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-arrowfunction-4.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/arrowfunction-4.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ ArrowFunction
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+((() => 1)) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-arrowfunction-5.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-arrowfunction-5.js
new file mode 100644
index 0000000000..f022f6e753
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-arrowfunction-5.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/arrowfunction-5.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ ArrowFunction
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+((() => true)) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-arrowfunction-6.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-arrowfunction-6.js
new file mode 100644
index 0000000000..a15c64fc74
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-arrowfunction-6.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/arrowfunction-6.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ ArrowFunction
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+((() => 1)) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-asyncarrowfunction-0.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-asyncarrowfunction-0.js
new file mode 100644
index 0000000000..48d411ae35
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-asyncarrowfunction-0.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/asyncarrowfunction-0.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ AsyncArrowFunction
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(async () => {}) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-asyncarrowfunction-1.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-asyncarrowfunction-1.js
new file mode 100644
index 0000000000..7e59540a87
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-asyncarrowfunction-1.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/asyncarrowfunction-1.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ AsyncArrowFunction
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(async () => ({})) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-asyncarrowfunction-2.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-asyncarrowfunction-2.js
new file mode 100644
index 0000000000..7b3a1bfe34
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-asyncarrowfunction-2.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/asyncarrowfunction-2.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ AsyncArrowFunction
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+((async x => x)) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-asyncarrowfunction-3.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-asyncarrowfunction-3.js
new file mode 100644
index 0000000000..02958bb7db
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-asyncarrowfunction-3.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/asyncarrowfunction-3.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ AsyncArrowFunction
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+((async (x) => x)) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-asyncarrowfunction-4.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-asyncarrowfunction-4.js
new file mode 100644
index 0000000000..7627bc9cdf
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-asyncarrowfunction-4.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/asyncarrowfunction-4.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ AsyncArrowFunction
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+((async () => 1)) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-asyncarrowfunction-5.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-asyncarrowfunction-5.js
new file mode 100644
index 0000000000..8c8daacace
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-asyncarrowfunction-5.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/asyncarrowfunction-5.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ AsyncArrowFunction
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+((async () => true)) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-asyncarrowfunction-6.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-asyncarrowfunction-6.js
new file mode 100644
index 0000000000..56aca576e0
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-asyncarrowfunction-6.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/asyncarrowfunction-6.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ AsyncArrowFunction
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+((async () => 1)) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-bitwiseandexpression-bitwise-and-equalityexpression-0.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-bitwiseandexpression-bitwise-and-equalityexpression-0.js
new file mode 100644
index 0000000000..ff50fe4a9a
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-bitwiseandexpression-bitwise-and-equalityexpression-0.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/bitwiseandexpression-bitwise-and-equalityexpression-0.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ BitwiseANDExpression: BitwiseANDExpression & EqualityExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(x & y) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-bitwiseandexpression-bitwise-and-equalityexpression-1.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-bitwiseandexpression-bitwise-and-equalityexpression-1.js
new file mode 100644
index 0000000000..93b55a94da
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-bitwiseandexpression-bitwise-and-equalityexpression-1.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/bitwiseandexpression-bitwise-and-equalityexpression-1.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ BitwiseANDExpression: BitwiseANDExpression & EqualityExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(1 & 2) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-bitwiseandexpression-bitwise-and-equalityexpression-2.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-bitwiseandexpression-bitwise-and-equalityexpression-2.js
new file mode 100644
index 0000000000..d621316bd8
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-bitwiseandexpression-bitwise-and-equalityexpression-2.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/bitwiseandexpression-bitwise-and-equalityexpression-2.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ BitwiseANDExpression: BitwiseANDExpression & EqualityExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(true & false) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-bitwiseorexpression-bitwise-or-bitwisexorexpression-0.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-bitwiseorexpression-bitwise-or-bitwisexorexpression-0.js
new file mode 100644
index 0000000000..c18626b16b
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-bitwiseorexpression-bitwise-or-bitwisexorexpression-0.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/bitwiseorexpression-bitwise-or-bitwisexorexpression-0.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ BitwiseORExpression: BitwiseORExpression | BitwiseXORExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(x | y) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-bitwiseorexpression-bitwise-or-bitwisexorexpression-1.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-bitwiseorexpression-bitwise-or-bitwisexorexpression-1.js
new file mode 100644
index 0000000000..f7c18340d9
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-bitwiseorexpression-bitwise-or-bitwisexorexpression-1.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/bitwiseorexpression-bitwise-or-bitwisexorexpression-1.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ BitwiseORExpression: BitwiseORExpression | BitwiseXORExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(1 | 2) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-bitwiseorexpression-bitwise-or-bitwisexorexpression-2.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-bitwiseorexpression-bitwise-or-bitwisexorexpression-2.js
new file mode 100644
index 0000000000..1866e4b657
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-bitwiseorexpression-bitwise-or-bitwisexorexpression-2.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/bitwiseorexpression-bitwise-or-bitwisexorexpression-2.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ BitwiseORExpression: BitwiseORExpression | BitwiseXORExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(true | false) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-bitwisexorexpression-bitwise-xor-bitwiseandexpression-0.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-bitwisexorexpression-bitwise-xor-bitwiseandexpression-0.js
new file mode 100644
index 0000000000..b09b707a69
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-bitwisexorexpression-bitwise-xor-bitwiseandexpression-0.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/bitwisexorexpression-bitwise-xor-bitwiseandexpression-0.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ BitwiseXORExpression: BitwiseXORExpression ^ BitwiseANDExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(x ^ y) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-bitwisexorexpression-bitwise-xor-bitwiseandexpression-1.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-bitwisexorexpression-bitwise-xor-bitwiseandexpression-1.js
new file mode 100644
index 0000000000..f13d6d5a02
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-bitwisexorexpression-bitwise-xor-bitwiseandexpression-1.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/bitwisexorexpression-bitwise-xor-bitwiseandexpression-1.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ BitwiseXORExpression: BitwiseXORExpression ^ BitwiseANDExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(1 ^ 2) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-bitwisexorexpression-bitwise-xor-bitwiseandexpression-2.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-bitwisexorexpression-bitwise-xor-bitwiseandexpression-2.js
new file mode 100644
index 0000000000..11f4341f51
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-bitwisexorexpression-bitwise-xor-bitwiseandexpression-2.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/bitwisexorexpression-bitwise-xor-bitwiseandexpression-2.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ BitwiseXORExpression: BitwiseXORExpression ^ BitwiseANDExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(true ^ false) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-callexpression-arguments.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-callexpression-arguments.js
new file mode 100644
index 0000000000..194196750b
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-callexpression-arguments.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/callexpression-arguments.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ CallExpression Arguments
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(f()) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-callexpression-templateliteral.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-callexpression-templateliteral.js
new file mode 100644
index 0000000000..672e887225
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-callexpression-templateliteral.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/callexpression-templateliteral.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ CallExpression TemplateLiteral
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(f()``) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-coalesceexpressionhead-coalesce-bitwiseorexpression-0.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-coalesceexpressionhead-coalesce-bitwiseorexpression-0.js
new file mode 100644
index 0000000000..85bba8cc13
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-coalesceexpressionhead-coalesce-bitwiseorexpression-0.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/coalesceexpressionhead-coalesce-bitwiseorexpression-0.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ CoalesceExpression: CoalesceExpressionHead ?? BitwiseORExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(x ?? y) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-coalesceexpressionhead-coalesce-bitwiseorexpression-1.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-coalesceexpressionhead-coalesce-bitwiseorexpression-1.js
new file mode 100644
index 0000000000..135065be45
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-coalesceexpressionhead-coalesce-bitwiseorexpression-1.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/coalesceexpressionhead-coalesce-bitwiseorexpression-1.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ CoalesceExpression: CoalesceExpressionHead ?? BitwiseORExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(1 ?? 2) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-coalesceexpressionhead-coalesce-bitwiseorexpression-2.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-coalesceexpressionhead-coalesce-bitwiseorexpression-2.js
new file mode 100644
index 0000000000..e4f6f1448c
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-coalesceexpressionhead-coalesce-bitwiseorexpression-2.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/coalesceexpressionhead-coalesce-bitwiseorexpression-2.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ CoalesceExpression: CoalesceExpressionHead ?? BitwiseORExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(true ?? false) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-equalityexpression-abstract-equal-relationalexpression-0.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-equalityexpression-abstract-equal-relationalexpression-0.js
new file mode 100644
index 0000000000..b19c3e04e0
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-equalityexpression-abstract-equal-relationalexpression-0.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/equalityexpression-abstract-equal-relationalexpression-0.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ EqualityExpression == RelationalExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(x == y) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-equalityexpression-abstract-equal-relationalexpression-1.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-equalityexpression-abstract-equal-relationalexpression-1.js
new file mode 100644
index 0000000000..5b82bb5124
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-equalityexpression-abstract-equal-relationalexpression-1.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/equalityexpression-abstract-equal-relationalexpression-1.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ EqualityExpression == RelationalExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(1 == 2) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-equalityexpression-abstract-equal-relationalexpression-2.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-equalityexpression-abstract-equal-relationalexpression-2.js
new file mode 100644
index 0000000000..5923d4ad4a
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-equalityexpression-abstract-equal-relationalexpression-2.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/equalityexpression-abstract-equal-relationalexpression-2.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ EqualityExpression == RelationalExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(true == false) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-equalityexpression-abstract-not-equal-relationalexpression-0.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-equalityexpression-abstract-not-equal-relationalexpression-0.js
new file mode 100644
index 0000000000..54f2955dad
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-equalityexpression-abstract-not-equal-relationalexpression-0.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/equalityexpression-abstract-not-equal-relationalexpression-0.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ EqualityExpression != RelationalExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(x != y) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-equalityexpression-abstract-not-equal-relationalexpression-1.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-equalityexpression-abstract-not-equal-relationalexpression-1.js
new file mode 100644
index 0000000000..bfe4a030aa
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-equalityexpression-abstract-not-equal-relationalexpression-1.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/equalityexpression-abstract-not-equal-relationalexpression-1.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ EqualityExpression != RelationalExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(1 != 2) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-equalityexpression-abstract-not-equal-relationalexpression-2.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-equalityexpression-abstract-not-equal-relationalexpression-2.js
new file mode 100644
index 0000000000..aecdeddd11
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-equalityexpression-abstract-not-equal-relationalexpression-2.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/equalityexpression-abstract-not-equal-relationalexpression-2.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ EqualityExpression != RelationalExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(true != false) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-equalityexpression-strict-equal-relationalexpression-0.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-equalityexpression-strict-equal-relationalexpression-0.js
new file mode 100644
index 0000000000..3b145874a4
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-equalityexpression-strict-equal-relationalexpression-0.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/equalityexpression-strict-equal-relationalexpression-0.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ EqualityExpression === RelationalExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(x == y) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-equalityexpression-strict-equal-relationalexpression-1.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-equalityexpression-strict-equal-relationalexpression-1.js
new file mode 100644
index 0000000000..627efc4a12
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-equalityexpression-strict-equal-relationalexpression-1.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/equalityexpression-strict-equal-relationalexpression-1.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ EqualityExpression === RelationalExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(1 == 2) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-equalityexpression-strict-equal-relationalexpression-2.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-equalityexpression-strict-equal-relationalexpression-2.js
new file mode 100644
index 0000000000..25e0eef0ac
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-equalityexpression-strict-equal-relationalexpression-2.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/equalityexpression-strict-equal-relationalexpression-2.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ EqualityExpression === RelationalExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(true == false) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-equalityexpression-strict-not-equal-relationalexpression-0.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-equalityexpression-strict-not-equal-relationalexpression-0.js
new file mode 100644
index 0000000000..2acd3bd3a5
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-equalityexpression-strict-not-equal-relationalexpression-0.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/equalityexpression-strict-not-equal-relationalexpression-0.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ EqualityExpression !== RelationalExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(x !== y) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-equalityexpression-strict-not-equal-relationalexpression-1.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-equalityexpression-strict-not-equal-relationalexpression-1.js
new file mode 100644
index 0000000000..4dce4a5206
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-equalityexpression-strict-not-equal-relationalexpression-1.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/equalityexpression-strict-not-equal-relationalexpression-1.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ EqualityExpression !== RelationalExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(1 !== 2) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-equalityexpression-strict-not-equal-relationalexpression-2.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-equalityexpression-strict-not-equal-relationalexpression-2.js
new file mode 100644
index 0000000000..98f758b3fd
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-equalityexpression-strict-not-equal-relationalexpression-2.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/equalityexpression-strict-not-equal-relationalexpression-2.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ EqualityExpression !== RelationalExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(true !== false) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-expression-comma-assignmentexpression-0.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-expression-comma-assignmentexpression-0.js
new file mode 100644
index 0000000000..c6653c0d8a
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-expression-comma-assignmentexpression-0.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/expression-comma-assignmentexpression-0.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ Expression: Expression , AssignmentExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+((x, y = z)) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-expression-comma-assignmentexpression-1.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-expression-comma-assignmentexpression-1.js
new file mode 100644
index 0000000000..2a40106ff0
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-expression-comma-assignmentexpression-1.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/expression-comma-assignmentexpression-1.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ Expression: Expression , AssignmentExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+((x, y = 1)) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-expression-comma-assignmentexpression-2.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-expression-comma-assignmentexpression-2.js
new file mode 100644
index 0000000000..e4b10c9bf6
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-expression-comma-assignmentexpression-2.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/expression-comma-assignmentexpression-2.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ Expression: Expression , AssignmentExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+((x, y = true)) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-identifierreference-arguments-strict-strict.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-identifierreference-arguments-strict-strict.js
new file mode 100644
index 0000000000..dccc3ac382
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-identifierreference-arguments-strict-strict.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+'use strict';
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/identifierreference-arguments-strict.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: If this IdentifierReference is contained in strict mode code and StringValue of Identifier is "eval" or "arguments", return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated, onlyStrict]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+---*/
+
+$DONOTEVALUATE();
+
+(arguments) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-identifierreference-eval-strict-strict.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-identifierreference-eval-strict-strict.js
new file mode 100644
index 0000000000..c3f9aa703a
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-identifierreference-eval-strict-strict.js
@@ -0,0 +1,21 @@
+// |reftest| error:SyntaxError
+'use strict';
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/identifierreference-eval-strict.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: If this IdentifierReference is contained in strict mode code and StringValue of Identifier is "eval" or "arguments", return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated, onlyStrict]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+---*/
+
+$DONOTEVALUATE();
+
+(eval) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-import.meta.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-import.meta.js
new file mode 100644
index 0000000000..3b9bd6eb00
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-import.meta.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/import.meta.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ import.meta
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(import.meta) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-importcall.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-importcall.js
new file mode 100644
index 0000000000..6bfedf14b3
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-importcall.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError module
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/importcall.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated, module]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ ImportCall
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(import()) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-lefthandsideexpression-assignment-assignmentexpression-0.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-lefthandsideexpression-assignment-assignmentexpression-0.js
new file mode 100644
index 0000000000..69ed85e46e
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-lefthandsideexpression-assignment-assignmentexpression-0.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/lefthandsideexpression-assignment-assignmentexpression-0.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: If LeftHandSideExpression is neither an ObjectLiteral nor an ArrayLiteral, the following Early Error rule is applied, It is a Syntax Error if AssignmentTargetType of LeftHandSideExpression is not simple. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ LeftHandSideExpression = AssignmentExpression
+ If LeftHandSideExpression is neither an ObjectLiteral nor an ArrayLiteral, the following Early Error rule is applied, It is a Syntax Error if AssignmentTargetType of LeftHandSideExpression is not simple.
+
+---*/
+
+$DONOTEVALUATE();
+
+((x = y)) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-lefthandsideexpression-assignment-assignmentexpression-1.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-lefthandsideexpression-assignment-assignmentexpression-1.js
new file mode 100644
index 0000000000..0d6cf6a5cc
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-lefthandsideexpression-assignment-assignmentexpression-1.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/lefthandsideexpression-assignment-assignmentexpression-1.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: If LeftHandSideExpression is neither an ObjectLiteral nor an ArrayLiteral, the following Early Error rule is applied, It is a Syntax Error if AssignmentTargetType of LeftHandSideExpression is not simple. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ LeftHandSideExpression = AssignmentExpression
+ If LeftHandSideExpression is neither an ObjectLiteral nor an ArrayLiteral, the following Early Error rule is applied, It is a Syntax Error if AssignmentTargetType of LeftHandSideExpression is not simple.
+
+---*/
+
+$DONOTEVALUATE();
+
+((x = 1)) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-lefthandsideexpression-assignment-assignmentexpression-2.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-lefthandsideexpression-assignment-assignmentexpression-2.js
new file mode 100644
index 0000000000..e983ebdfc1
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-lefthandsideexpression-assignment-assignmentexpression-2.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/lefthandsideexpression-assignment-assignmentexpression-2.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: If LeftHandSideExpression is neither an ObjectLiteral nor an ArrayLiteral, the following Early Error rule is applied, It is a Syntax Error if AssignmentTargetType of LeftHandSideExpression is not simple. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ LeftHandSideExpression = AssignmentExpression
+ If LeftHandSideExpression is neither an ObjectLiteral nor an ArrayLiteral, the following Early Error rule is applied, It is a Syntax Error if AssignmentTargetType of LeftHandSideExpression is not simple.
+
+---*/
+
+$DONOTEVALUATE();
+
+((x = true)) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-lefthandsideexpression-coalesce-assignment-assignmentexpression-0.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-lefthandsideexpression-coalesce-assignment-assignmentexpression-0.js
new file mode 100644
index 0000000000..965893068b
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-lefthandsideexpression-coalesce-assignment-assignmentexpression-0.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/lefthandsideexpression-coalesce-assignment-assignmentexpression-0.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ LeftHandSideExpression ??= AssignmentExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+((x ??= y)) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-lefthandsideexpression-coalesce-assignment-assignmentexpression-1.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-lefthandsideexpression-coalesce-assignment-assignmentexpression-1.js
new file mode 100644
index 0000000000..64fbc2b200
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-lefthandsideexpression-coalesce-assignment-assignmentexpression-1.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/lefthandsideexpression-coalesce-assignment-assignmentexpression-1.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ LeftHandSideExpression ??= AssignmentExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+((x ??= 1)) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-lefthandsideexpression-coalesce-assignment-assignmentexpression-2.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-lefthandsideexpression-coalesce-assignment-assignmentexpression-2.js
new file mode 100644
index 0000000000..473e60760e
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-lefthandsideexpression-coalesce-assignment-assignmentexpression-2.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/lefthandsideexpression-coalesce-assignment-assignmentexpression-2.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ LeftHandSideExpression ??= AssignmentExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+((x ??= true)) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-lefthandsideexpression-logical-and-assignment-assignmentexpression-0.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-lefthandsideexpression-logical-and-assignment-assignmentexpression-0.js
new file mode 100644
index 0000000000..3468fb6b9a
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-lefthandsideexpression-logical-and-assignment-assignmentexpression-0.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/lefthandsideexpression-logical-and-assignment-assignmentexpression-0.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ LeftHandSideExpression &&= AssignmentExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+((x &&= y)) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-lefthandsideexpression-logical-and-assignment-assignmentexpression-1.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-lefthandsideexpression-logical-and-assignment-assignmentexpression-1.js
new file mode 100644
index 0000000000..cc687f3a54
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-lefthandsideexpression-logical-and-assignment-assignmentexpression-1.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/lefthandsideexpression-logical-and-assignment-assignmentexpression-1.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ LeftHandSideExpression &&= AssignmentExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+((x &&= 1)) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-lefthandsideexpression-logical-and-assignment-assignmentexpression-2.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-lefthandsideexpression-logical-and-assignment-assignmentexpression-2.js
new file mode 100644
index 0000000000..e7e1e9a443
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-lefthandsideexpression-logical-and-assignment-assignmentexpression-2.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/lefthandsideexpression-logical-and-assignment-assignmentexpression-2.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ LeftHandSideExpression &&= AssignmentExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+((x &&= true)) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-lefthandsideexpression-logical-or-assignment-assignmentexpression-0.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-lefthandsideexpression-logical-or-assignment-assignmentexpression-0.js
new file mode 100644
index 0000000000..6cf570e900
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-lefthandsideexpression-logical-or-assignment-assignmentexpression-0.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/lefthandsideexpression-logical-or-assignment-assignmentexpression-0.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ LeftHandSideExpression ||= AssignmentExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+((x ||= y)) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-lefthandsideexpression-logical-or-assignment-assignmentexpression-1.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-lefthandsideexpression-logical-or-assignment-assignmentexpression-1.js
new file mode 100644
index 0000000000..bd374e10e5
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-lefthandsideexpression-logical-or-assignment-assignmentexpression-1.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/lefthandsideexpression-logical-or-assignment-assignmentexpression-1.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ LeftHandSideExpression ||= AssignmentExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+((x ||= 1)) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-lefthandsideexpression-logical-or-assignment-assignmentexpression-2.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-lefthandsideexpression-logical-or-assignment-assignmentexpression-2.js
new file mode 100644
index 0000000000..fe2e00af28
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-lefthandsideexpression-logical-or-assignment-assignmentexpression-2.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/lefthandsideexpression-logical-or-assignment-assignmentexpression-2.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ LeftHandSideExpression ||= AssignmentExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+((x ||= true)) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-lefthandsideexpression-minus-minus.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-lefthandsideexpression-minus-minus.js
new file mode 100644
index 0000000000..6d4693b21b
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-lefthandsideexpression-minus-minus.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/lefthandsideexpression-minus-minus.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: It is an early Syntax Error if AssignmentTargetType of LeftHandSideExpression is not simple. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ UpdateExpression: LeftHandSideExpression--
+ It is an early Syntax Error if AssignmentTargetType of LeftHandSideExpression is not simple.
+
+---*/
+
+$DONOTEVALUATE();
+
+(x--) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-lefthandsideexpression-plus-plus.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-lefthandsideexpression-plus-plus.js
new file mode 100644
index 0000000000..94fc0b7834
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-lefthandsideexpression-plus-plus.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/lefthandsideexpression-plus-plus.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: It is an early Syntax Error if AssignmentTargetType of LeftHandSideExpression is not simple. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ UpdateExpression: LeftHandSideExpression ++
+ It is an early Syntax Error if AssignmentTargetType of LeftHandSideExpression is not simple.
+
+---*/
+
+$DONOTEVALUATE();
+
+(x++) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-logicalandexpression-logical-and-bitwiseorexpression-0.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-logicalandexpression-logical-and-bitwiseorexpression-0.js
new file mode 100644
index 0000000000..ae56b272de
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-logicalandexpression-logical-and-bitwiseorexpression-0.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/logicalandexpression-logical-and-bitwiseorexpression-0.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ LogicalANDExpression: LogicalANDExpression && BitwiseORExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(x && y) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-logicalandexpression-logical-and-bitwiseorexpression-1.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-logicalandexpression-logical-and-bitwiseorexpression-1.js
new file mode 100644
index 0000000000..8f4ffcbb5a
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-logicalandexpression-logical-and-bitwiseorexpression-1.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/logicalandexpression-logical-and-bitwiseorexpression-1.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ LogicalANDExpression: LogicalANDExpression && BitwiseORExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(1 && 2) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-logicalandexpression-logical-and-bitwiseorexpression-2.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-logicalandexpression-logical-and-bitwiseorexpression-2.js
new file mode 100644
index 0000000000..70dc2b1b2b
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-logicalandexpression-logical-and-bitwiseorexpression-2.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/logicalandexpression-logical-and-bitwiseorexpression-2.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ LogicalANDExpression: LogicalANDExpression && BitwiseORExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(true && false) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-logicalorexpression-logical-or-logicalandexpression-0.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-logicalorexpression-logical-or-logicalandexpression-0.js
new file mode 100644
index 0000000000..b816e1cab7
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-logicalorexpression-logical-or-logicalandexpression-0.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/logicalorexpression-logical-or-logicalandexpression-0.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ LogicalORExpression: LogicalORExpression || LogicalANDExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(x || y) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-logicalorexpression-logical-or-logicalandexpression-1.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-logicalorexpression-logical-or-logicalandexpression-1.js
new file mode 100644
index 0000000000..da75ec942f
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-logicalorexpression-logical-or-logicalandexpression-1.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/logicalorexpression-logical-or-logicalandexpression-1.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ LogicalORExpression: LogicalORExpression || LogicalANDExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(1 || 2) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-logicalorexpression-logical-or-logicalandexpression-2.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-logicalorexpression-logical-or-logicalandexpression-2.js
new file mode 100644
index 0000000000..cf26188944
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-logicalorexpression-logical-or-logicalandexpression-2.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/logicalorexpression-logical-or-logicalandexpression-2.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ LogicalORExpression: LogicalORExpression || LogicalANDExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(true || false) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-memberexpression-templateliteral.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-memberexpression-templateliteral.js
new file mode 100644
index 0000000000..673d4b953f
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-memberexpression-templateliteral.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/memberexpression-templateliteral.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ MemberExpression TemplateLiteral
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(o.f()``) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-minus-minus-unaryexpression.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-minus-minus-unaryexpression.js
new file mode 100644
index 0000000000..66b07fcc1a
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-minus-minus-unaryexpression.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/minus-minus-unaryexpression.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: It is an early Syntax Error if AssignmentTargetType of UnaryExpression is not simple. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ UpdateExpression: --UnaryExpression
+ It is an early Syntax Error if AssignmentTargetType of UnaryExpression is not simple.
+
+---*/
+
+$DONOTEVALUATE();
+
+(--x) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-multiplicativeexpression-multiplicativeoperator-exponentiationexpression-0.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-multiplicativeexpression-multiplicativeoperator-exponentiationexpression-0.js
new file mode 100644
index 0000000000..8f82be4f5f
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-multiplicativeexpression-multiplicativeoperator-exponentiationexpression-0.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/multiplicativeexpression-multiplicativeoperator-exponentiationexpression-0.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ MultiplicativeExpression MultiplicativeOperator ExponentiationExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(x * y) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-multiplicativeexpression-multiplicativeoperator-exponentiationexpression-1.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-multiplicativeexpression-multiplicativeoperator-exponentiationexpression-1.js
new file mode 100644
index 0000000000..645169d1dc
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-multiplicativeexpression-multiplicativeoperator-exponentiationexpression-1.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/multiplicativeexpression-multiplicativeoperator-exponentiationexpression-1.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ MultiplicativeExpression MultiplicativeOperator ExponentiationExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(1 * 2) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-multiplicativeexpression-multiplicativeoperator-exponentiationexpression-2.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-multiplicativeexpression-multiplicativeoperator-exponentiationexpression-2.js
new file mode 100644
index 0000000000..5909302944
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-multiplicativeexpression-multiplicativeoperator-exponentiationexpression-2.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/multiplicativeexpression-multiplicativeoperator-exponentiationexpression-2.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ MultiplicativeExpression MultiplicativeOperator ExponentiationExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(true * false) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-multiplicativeexpression-multiplicativeoperator-exponentiationexpression-3.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-multiplicativeexpression-multiplicativeoperator-exponentiationexpression-3.js
new file mode 100644
index 0000000000..5a16471849
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-multiplicativeexpression-multiplicativeoperator-exponentiationexpression-3.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/multiplicativeexpression-multiplicativeoperator-exponentiationexpression-3.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ MultiplicativeExpression MultiplicativeOperator ExponentiationExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(x / y) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-multiplicativeexpression-multiplicativeoperator-exponentiationexpression-4.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-multiplicativeexpression-multiplicativeoperator-exponentiationexpression-4.js
new file mode 100644
index 0000000000..66177688b5
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-multiplicativeexpression-multiplicativeoperator-exponentiationexpression-4.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/multiplicativeexpression-multiplicativeoperator-exponentiationexpression-4.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ MultiplicativeExpression MultiplicativeOperator ExponentiationExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(1 / 2) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-multiplicativeexpression-multiplicativeoperator-exponentiationexpression-5.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-multiplicativeexpression-multiplicativeoperator-exponentiationexpression-5.js
new file mode 100644
index 0000000000..8ab4d4f87e
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-multiplicativeexpression-multiplicativeoperator-exponentiationexpression-5.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/multiplicativeexpression-multiplicativeoperator-exponentiationexpression-5.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ MultiplicativeExpression MultiplicativeOperator ExponentiationExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(true / false) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-new-memberexpression-arguments.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-new-memberexpression-arguments.js
new file mode 100644
index 0000000000..f496a12233
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-new-memberexpression-arguments.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/new-memberexpression-arguments.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ new MemberExpression Arguments
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(new f()) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-new-newexpression.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-new-newexpression.js
new file mode 100644
index 0000000000..f15374cd24
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-new-newexpression.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/new-newexpression.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ new NewExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(new f) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-optionalexpression.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-optionalexpression.js
new file mode 100644
index 0000000000..9ce49a883f
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-optionalexpression.js
@@ -0,0 +1,25 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/optionalexpression.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+features: [optional-chaining]
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ OptionalExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(x?.y) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-plus-plus-unaryexpression.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-plus-plus-unaryexpression.js
new file mode 100644
index 0000000000..f383021fee
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-plus-plus-unaryexpression.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/plus-plus-unaryexpression.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: It is an early Syntax Error if AssignmentTargetType of UnaryExpression is not simple. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ UpdateExpression: ++UnaryExpression
+ It is an early Syntax Error if AssignmentTargetType of UnaryExpression is not simple.
+
+---*/
+
+$DONOTEVALUATE();
+
+(++x) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-primaryexpression-asyncfunctionexpression.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-primaryexpression-asyncfunctionexpression.js
new file mode 100644
index 0000000000..19860969c6
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-primaryexpression-asyncfunctionexpression.js
@@ -0,0 +1,20 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/primaryexpression-asyncfunctionexpression.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: PrimaryExpression AsyncFunctionExpression; Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+---*/
+
+$DONOTEVALUATE();
+
+(async function () {}) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-primaryexpression-asyncgeneratorexpression.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-primaryexpression-asyncgeneratorexpression.js
new file mode 100644
index 0000000000..47627a8805
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-primaryexpression-asyncgeneratorexpression.js
@@ -0,0 +1,20 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/primaryexpression-asyncgeneratorexpression.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: PrimaryExpression AsyncGeneratorExpression; Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+---*/
+
+$DONOTEVALUATE();
+
+(async function () {}) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-primaryexpression-classexpression.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-primaryexpression-classexpression.js
new file mode 100644
index 0000000000..3eb97ec5a2
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-primaryexpression-classexpression.js
@@ -0,0 +1,20 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/primaryexpression-classexpression.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: PrimaryExpression ClassExpression; Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+---*/
+
+$DONOTEVALUATE();
+
+(class {}) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-primaryexpression-functionexpression.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-primaryexpression-functionexpression.js
new file mode 100644
index 0000000000..992a35b619
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-primaryexpression-functionexpression.js
@@ -0,0 +1,20 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/primaryexpression-functionexpression.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: PrimaryExpression FunctionExpression, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+---*/
+
+$DONOTEVALUATE();
+
+(function() {}) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-primaryexpression-generatorexpression.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-primaryexpression-generatorexpression.js
new file mode 100644
index 0000000000..5aed2db1a3
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-primaryexpression-generatorexpression.js
@@ -0,0 +1,20 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/primaryexpression-generatorexpression.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: PrimaryExpression ArrayLiteral; Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+---*/
+
+$DONOTEVALUATE();
+
+(function * () {}) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-primaryexpression-literal-boolean.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-primaryexpression-literal-boolean.js
new file mode 100644
index 0000000000..614c50d036
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-primaryexpression-literal-boolean.js
@@ -0,0 +1,20 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/primaryexpression-literal-boolean.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: PrimaryExpression Literal BooleanLiteral; Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+---*/
+
+$DONOTEVALUATE();
+
+(true) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-primaryexpression-literal-null.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-primaryexpression-literal-null.js
new file mode 100644
index 0000000000..f0254f5522
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-primaryexpression-literal-null.js
@@ -0,0 +1,20 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/primaryexpression-literal-null.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: PrimaryExpression Literal NullLiteral; Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+---*/
+
+$DONOTEVALUATE();
+
+(null) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-primaryexpression-literal-numeric.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-primaryexpression-literal-numeric.js
new file mode 100644
index 0000000000..e4cb9514bc
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-primaryexpression-literal-numeric.js
@@ -0,0 +1,20 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/primaryexpression-literal-numeric.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: PrimaryExpression Literal NumericLiteral; Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+---*/
+
+$DONOTEVALUATE();
+
+(0) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-primaryexpression-literal-string.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-primaryexpression-literal-string.js
new file mode 100644
index 0000000000..019f7b3d74
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-primaryexpression-literal-string.js
@@ -0,0 +1,20 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/primaryexpression-literal-string.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: PrimaryExpression Literal StringLiteral; Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+---*/
+
+$DONOTEVALUATE();
+
+('') = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-primaryexpression-objectliteral.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-primaryexpression-objectliteral.js
new file mode 100644
index 0000000000..227be22bd7
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-primaryexpression-objectliteral.js
@@ -0,0 +1,20 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/primaryexpression-objectliteral.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: PrimaryExpression ObjectLiteral; Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+---*/
+
+$DONOTEVALUATE();
+
+({}) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-primaryexpression-regularexpressionliteral.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-primaryexpression-regularexpressionliteral.js
new file mode 100644
index 0000000000..5dee5676eb
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-primaryexpression-regularexpressionliteral.js
@@ -0,0 +1,20 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/primaryexpression-regularexpressionliteral.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: PrimaryExpression RegularExpressionLiteral; Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+---*/
+
+$DONOTEVALUATE();
+
+(/1/) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-primaryexpression-templateliteral.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-primaryexpression-templateliteral.js
new file mode 100644
index 0000000000..1d61170995
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-primaryexpression-templateliteral.js
@@ -0,0 +1,20 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/primaryexpression-templateliteral.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: PrimaryExpression TemplateLiteral; Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+---*/
+
+$DONOTEVALUATE();
+
+(``) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-primaryexpression-this.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-primaryexpression-this.js
new file mode 100644
index 0000000000..c36825468d
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-primaryexpression-this.js
@@ -0,0 +1,20 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/primaryexpression-this.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: PrimaryExpression this; Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+---*/
+
+$DONOTEVALUATE();
+
+(this) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-relationalexpression-greater-than-or-equal-to-shiftexpression-0.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-relationalexpression-greater-than-or-equal-to-shiftexpression-0.js
new file mode 100644
index 0000000000..98321a0905
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-relationalexpression-greater-than-or-equal-to-shiftexpression-0.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/relationalexpression-greater-than-or-equal-to-shiftexpression-0.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ RelationalExpression >= ShiftExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(x >= y) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-relationalexpression-greater-than-or-equal-to-shiftexpression-1.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-relationalexpression-greater-than-or-equal-to-shiftexpression-1.js
new file mode 100644
index 0000000000..742c393ef1
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-relationalexpression-greater-than-or-equal-to-shiftexpression-1.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/relationalexpression-greater-than-or-equal-to-shiftexpression-1.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ RelationalExpression >= ShiftExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(1 >= 2) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-relationalexpression-greater-than-or-equal-to-shiftexpression-2.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-relationalexpression-greater-than-or-equal-to-shiftexpression-2.js
new file mode 100644
index 0000000000..cab5a82213
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-relationalexpression-greater-than-or-equal-to-shiftexpression-2.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/relationalexpression-greater-than-or-equal-to-shiftexpression-2.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ RelationalExpression >= ShiftExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(true >= false) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-relationalexpression-greater-than-shiftexpression-0.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-relationalexpression-greater-than-shiftexpression-0.js
new file mode 100644
index 0000000000..160d6eeff0
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-relationalexpression-greater-than-shiftexpression-0.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/relationalexpression-greater-than-shiftexpression-0.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ RelationalExpression > ShiftExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(x > y) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-relationalexpression-greater-than-shiftexpression-1.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-relationalexpression-greater-than-shiftexpression-1.js
new file mode 100644
index 0000000000..db9f68c48c
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-relationalexpression-greater-than-shiftexpression-1.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/relationalexpression-greater-than-shiftexpression-1.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ RelationalExpression > ShiftExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(1 > 2) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-relationalexpression-greater-than-shiftexpression-2.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-relationalexpression-greater-than-shiftexpression-2.js
new file mode 100644
index 0000000000..4c9ecf16f5
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-relationalexpression-greater-than-shiftexpression-2.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/relationalexpression-greater-than-shiftexpression-2.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ RelationalExpression > ShiftExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(true > false) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-relationalexpression-in-shiftexpression-0.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-relationalexpression-in-shiftexpression-0.js
new file mode 100644
index 0000000000..d38c5556de
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-relationalexpression-in-shiftexpression-0.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/relationalexpression-in-shiftexpression-0.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ RelationalExpression in ShiftExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(x in y) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-relationalexpression-in-shiftexpression-1.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-relationalexpression-in-shiftexpression-1.js
new file mode 100644
index 0000000000..0df0fa2a55
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-relationalexpression-in-shiftexpression-1.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/relationalexpression-in-shiftexpression-1.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ RelationalExpression in ShiftExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(1 in 2) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-relationalexpression-in-shiftexpression-2.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-relationalexpression-in-shiftexpression-2.js
new file mode 100644
index 0000000000..5471a52b4c
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-relationalexpression-in-shiftexpression-2.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/relationalexpression-in-shiftexpression-2.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ RelationalExpression in ShiftExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(true in false) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-relationalexpression-instanceof-shiftexpression-0.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-relationalexpression-instanceof-shiftexpression-0.js
new file mode 100644
index 0000000000..70d4718ac0
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-relationalexpression-instanceof-shiftexpression-0.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/relationalexpression-instanceof-shiftexpression-0.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ RelationalExpression instanceof ShiftExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(x instanceof y) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-relationalexpression-instanceof-shiftexpression-1.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-relationalexpression-instanceof-shiftexpression-1.js
new file mode 100644
index 0000000000..e80922ea44
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-relationalexpression-instanceof-shiftexpression-1.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/relationalexpression-instanceof-shiftexpression-1.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ RelationalExpression instanceof ShiftExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(1 instanceof 2) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-relationalexpression-instanceof-shiftexpression-2.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-relationalexpression-instanceof-shiftexpression-2.js
new file mode 100644
index 0000000000..531e5e1939
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-relationalexpression-instanceof-shiftexpression-2.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/relationalexpression-instanceof-shiftexpression-2.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ RelationalExpression instanceof ShiftExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(true instanceof false) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-relationalexpression-less-than-or-equal-to-shiftexpression-0.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-relationalexpression-less-than-or-equal-to-shiftexpression-0.js
new file mode 100644
index 0000000000..01982e5255
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-relationalexpression-less-than-or-equal-to-shiftexpression-0.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/relationalexpression-less-than-or-equal-to-shiftexpression-0.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ RelationalExpression <= ShiftExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(x <= y) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-relationalexpression-less-than-or-equal-to-shiftexpression-1.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-relationalexpression-less-than-or-equal-to-shiftexpression-1.js
new file mode 100644
index 0000000000..e28a31efe4
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-relationalexpression-less-than-or-equal-to-shiftexpression-1.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/relationalexpression-less-than-or-equal-to-shiftexpression-1.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ RelationalExpression <= ShiftExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(1 <= 2) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-relationalexpression-less-than-or-equal-to-shiftexpression-2.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-relationalexpression-less-than-or-equal-to-shiftexpression-2.js
new file mode 100644
index 0000000000..64ad32cd97
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-relationalexpression-less-than-or-equal-to-shiftexpression-2.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/relationalexpression-less-than-or-equal-to-shiftexpression-2.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ RelationalExpression <= ShiftExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(true <= false) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-relationalexpression-less-than-shiftexpression-0.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-relationalexpression-less-than-shiftexpression-0.js
new file mode 100644
index 0000000000..67f46c919a
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-relationalexpression-less-than-shiftexpression-0.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/relationalexpression-less-than-shiftexpression-0.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ RelationalExpression < ShiftExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(x < y) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-relationalexpression-less-than-shiftexpression-1.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-relationalexpression-less-than-shiftexpression-1.js
new file mode 100644
index 0000000000..ebcb8eae3d
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-relationalexpression-less-than-shiftexpression-1.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/relationalexpression-less-than-shiftexpression-1.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ RelationalExpression < ShiftExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(1 < 2) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-relationalexpression-less-than-shiftexpression-2.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-relationalexpression-less-than-shiftexpression-2.js
new file mode 100644
index 0000000000..c24389711f
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-relationalexpression-less-than-shiftexpression-2.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/relationalexpression-less-than-shiftexpression-2.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ RelationalExpression < ShiftExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(true < false) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-shiftexpression-bitwise-left-additiveexpression-0.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-shiftexpression-bitwise-left-additiveexpression-0.js
new file mode 100644
index 0000000000..670bc75eb8
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-shiftexpression-bitwise-left-additiveexpression-0.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/shiftexpression-bitwise-left-additiveexpression-0.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ ShiftExpression << AdditiveExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(x << y) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-shiftexpression-bitwise-left-additiveexpression-1.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-shiftexpression-bitwise-left-additiveexpression-1.js
new file mode 100644
index 0000000000..01881dcbd3
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-shiftexpression-bitwise-left-additiveexpression-1.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/shiftexpression-bitwise-left-additiveexpression-1.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ ShiftExpression << AdditiveExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(1 << 2) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-shiftexpression-bitwise-left-additiveexpression-2.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-shiftexpression-bitwise-left-additiveexpression-2.js
new file mode 100644
index 0000000000..1b399462c4
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-shiftexpression-bitwise-left-additiveexpression-2.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/shiftexpression-bitwise-left-additiveexpression-2.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ ShiftExpression << AdditiveExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(true << false) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-shiftexpression-bitwise-right-additiveexpression-0.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-shiftexpression-bitwise-right-additiveexpression-0.js
new file mode 100644
index 0000000000..a16c781555
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-shiftexpression-bitwise-right-additiveexpression-0.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/shiftexpression-bitwise-right-additiveexpression-0.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ ShiftExpression >> AdditiveExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(x >> y) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-shiftexpression-bitwise-right-additiveexpression-1.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-shiftexpression-bitwise-right-additiveexpression-1.js
new file mode 100644
index 0000000000..b04eaf95c3
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-shiftexpression-bitwise-right-additiveexpression-1.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/shiftexpression-bitwise-right-additiveexpression-1.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ ShiftExpression >> AdditiveExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(1 >> 2) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-shiftexpression-bitwise-right-additiveexpression-2.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-shiftexpression-bitwise-right-additiveexpression-2.js
new file mode 100644
index 0000000000..eca24aecd1
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-shiftexpression-bitwise-right-additiveexpression-2.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/shiftexpression-bitwise-right-additiveexpression-2.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ ShiftExpression >> AdditiveExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(true >> false) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-shiftexpression-unsigned-bitwise-right-additiveexpression-0.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-shiftexpression-unsigned-bitwise-right-additiveexpression-0.js
new file mode 100644
index 0000000000..3d489ec618
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-shiftexpression-unsigned-bitwise-right-additiveexpression-0.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/shiftexpression-unsigned-bitwise-right-additiveexpression-0.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ ShiftExpression >>> AdditiveExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(x >>> y) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-shiftexpression-unsigned-bitwise-right-additiveexpression-1.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-shiftexpression-unsigned-bitwise-right-additiveexpression-1.js
new file mode 100644
index 0000000000..2ad51b637d
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-shiftexpression-unsigned-bitwise-right-additiveexpression-1.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/shiftexpression-unsigned-bitwise-right-additiveexpression-1.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ ShiftExpression >>> AdditiveExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(1 >>> 2) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-shiftexpression-unsigned-bitwise-right-additiveexpression-2.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-shiftexpression-unsigned-bitwise-right-additiveexpression-2.js
new file mode 100644
index 0000000000..772f4f2b44
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-shiftexpression-unsigned-bitwise-right-additiveexpression-2.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/shiftexpression-unsigned-bitwise-right-additiveexpression-2.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ ShiftExpression >>> AdditiveExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(true >>> false) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-shortcircuitexpression-question-assignmentexpression-else-assignmentexpression-0.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-shortcircuitexpression-question-assignmentexpression-else-assignmentexpression-0.js
new file mode 100644
index 0000000000..9b69798a58
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-shortcircuitexpression-question-assignmentexpression-else-assignmentexpression-0.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/shortcircuitexpression-question-assignmentexpression-else-assignmentexpression-0.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ ShortCircuitExpression ? AssignmentExpression : AssignmentExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+((x ? y : z)) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-shortcircuitexpression-question-assignmentexpression-else-assignmentexpression-1.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-shortcircuitexpression-question-assignmentexpression-else-assignmentexpression-1.js
new file mode 100644
index 0000000000..d542d9aba1
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-shortcircuitexpression-question-assignmentexpression-else-assignmentexpression-1.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/shortcircuitexpression-question-assignmentexpression-else-assignmentexpression-1.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ ShortCircuitExpression ? AssignmentExpression : AssignmentExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+((1 ? 2 : 3)) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-shortcircuitexpression-question-assignmentexpression-else-assignmentexpression-2.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-shortcircuitexpression-question-assignmentexpression-else-assignmentexpression-2.js
new file mode 100644
index 0000000000..acac9876c6
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-shortcircuitexpression-question-assignmentexpression-else-assignmentexpression-2.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/shortcircuitexpression-question-assignmentexpression-else-assignmentexpression-2.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ ShortCircuitExpression ? AssignmentExpression : AssignmentExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+((true ? false : true)) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-unaryexpression-delete-unaryexpression.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-unaryexpression-delete-unaryexpression.js
new file mode 100644
index 0000000000..9703bc5308
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-unaryexpression-delete-unaryexpression.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/unaryexpression-delete-unaryexpression.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ UnaryExpression: delete UnaryExpression
+ Static Semantics AssignmentTargetType, Return invalid
+
+---*/
+
+$DONOTEVALUATE();
+
+(delete x.y) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-unaryexpression-exclamation-unaryexpression-0.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-unaryexpression-exclamation-unaryexpression-0.js
new file mode 100644
index 0000000000..a4863a7e54
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-unaryexpression-exclamation-unaryexpression-0.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/unaryexpression-exclamation-unaryexpression-0.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ UnaryExpression: ! UnaryExpression
+ Static Semantics AssignmentTargetType, Return invalid
+
+---*/
+
+$DONOTEVALUATE();
+
+(!x) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-unaryexpression-exclamation-unaryexpression-1.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-unaryexpression-exclamation-unaryexpression-1.js
new file mode 100644
index 0000000000..cec221dcaf
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-unaryexpression-exclamation-unaryexpression-1.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/unaryexpression-exclamation-unaryexpression-1.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ UnaryExpression: ! UnaryExpression
+ Static Semantics AssignmentTargetType, Return invalid
+
+---*/
+
+$DONOTEVALUATE();
+
+(!1) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-unaryexpression-exclamation-unaryexpression-2.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-unaryexpression-exclamation-unaryexpression-2.js
new file mode 100644
index 0000000000..d48a33ca5b
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-unaryexpression-exclamation-unaryexpression-2.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/unaryexpression-exclamation-unaryexpression-2.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ UnaryExpression: ! UnaryExpression
+ Static Semantics AssignmentTargetType, Return invalid
+
+---*/
+
+$DONOTEVALUATE();
+
+(!true) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-unaryexpression-minus-unaryexpression-0.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-unaryexpression-minus-unaryexpression-0.js
new file mode 100644
index 0000000000..ab9d29c9ff
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-unaryexpression-minus-unaryexpression-0.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/unaryexpression-minus-unaryexpression-0.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ UnaryExpression: - UnaryExpression
+ Static Semantics AssignmentTargetType, Return invalid
+
+---*/
+
+$DONOTEVALUATE();
+
+(-x) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-unaryexpression-minus-unaryexpression-1.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-unaryexpression-minus-unaryexpression-1.js
new file mode 100644
index 0000000000..348df17180
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-unaryexpression-minus-unaryexpression-1.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/unaryexpression-minus-unaryexpression-1.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ UnaryExpression: - UnaryExpression
+ Static Semantics AssignmentTargetType, Return invalid
+
+---*/
+
+$DONOTEVALUATE();
+
+(-1) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-unaryexpression-minus-unaryexpression-2.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-unaryexpression-minus-unaryexpression-2.js
new file mode 100644
index 0000000000..b352f1e870
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-unaryexpression-minus-unaryexpression-2.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/unaryexpression-minus-unaryexpression-2.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ UnaryExpression: - UnaryExpression
+ Static Semantics AssignmentTargetType, Return invalid
+
+---*/
+
+$DONOTEVALUATE();
+
+(-true) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-unaryexpression-plus-unaryexpression-0.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-unaryexpression-plus-unaryexpression-0.js
new file mode 100644
index 0000000000..9720bc0344
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-unaryexpression-plus-unaryexpression-0.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/unaryexpression-plus-unaryexpression-0.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ UnaryExpression: + UnaryExpression
+ Static Semantics AssignmentTargetType, Return invalid
+
+---*/
+
+$DONOTEVALUATE();
+
+(+x) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-unaryexpression-plus-unaryexpression-1.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-unaryexpression-plus-unaryexpression-1.js
new file mode 100644
index 0000000000..cf6d77193b
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-unaryexpression-plus-unaryexpression-1.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/unaryexpression-plus-unaryexpression-1.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ UnaryExpression: + UnaryExpression
+ Static Semantics AssignmentTargetType, Return invalid
+
+---*/
+
+$DONOTEVALUATE();
+
+(+1) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-unaryexpression-plus-unaryexpression-2.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-unaryexpression-plus-unaryexpression-2.js
new file mode 100644
index 0000000000..eb2e841612
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-unaryexpression-plus-unaryexpression-2.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/unaryexpression-plus-unaryexpression-2.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ UnaryExpression: + UnaryExpression
+ Static Semantics AssignmentTargetType, Return invalid
+
+---*/
+
+$DONOTEVALUATE();
+
+(+true) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-unaryexpression-tilde-unaryexpression-0.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-unaryexpression-tilde-unaryexpression-0.js
new file mode 100644
index 0000000000..35f153ecb0
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-unaryexpression-tilde-unaryexpression-0.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/unaryexpression-tilde-unaryexpression-0.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ UnaryExpression: ~ UnaryExpression
+ Static Semantics AssignmentTargetType, Return invalid
+
+---*/
+
+$DONOTEVALUATE();
+
+(~x) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-unaryexpression-tilde-unaryexpression-1.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-unaryexpression-tilde-unaryexpression-1.js
new file mode 100644
index 0000000000..69e2eacacb
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-unaryexpression-tilde-unaryexpression-1.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/unaryexpression-tilde-unaryexpression-1.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ UnaryExpression: ~ UnaryExpression
+ Static Semantics AssignmentTargetType, Return invalid
+
+---*/
+
+$DONOTEVALUATE();
+
+(~1) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-unaryexpression-tilde-unaryexpression-2.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-unaryexpression-tilde-unaryexpression-2.js
new file mode 100644
index 0000000000..fef2d67bd5
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-unaryexpression-tilde-unaryexpression-2.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/unaryexpression-tilde-unaryexpression-2.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ UnaryExpression: ~ UnaryExpression
+ Static Semantics AssignmentTargetType, Return invalid
+
+---*/
+
+$DONOTEVALUATE();
+
+(~true) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-unaryexpression-typeof-unaryexpression-0.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-unaryexpression-typeof-unaryexpression-0.js
new file mode 100644
index 0000000000..7b8e41192c
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-unaryexpression-typeof-unaryexpression-0.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/unaryexpression-typeof-unaryexpression-0.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ UnaryExpression: typeof UnaryExpression
+ Static Semantics AssignmentTargetType, Return invalid
+
+---*/
+
+$DONOTEVALUATE();
+
+(typeof x) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-unaryexpression-typeof-unaryexpression-1.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-unaryexpression-typeof-unaryexpression-1.js
new file mode 100644
index 0000000000..82cbb0edc4
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-unaryexpression-typeof-unaryexpression-1.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/unaryexpression-typeof-unaryexpression-1.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ UnaryExpression: typeof UnaryExpression
+ Static Semantics AssignmentTargetType, Return invalid
+
+---*/
+
+$DONOTEVALUATE();
+
+(typeof 1) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-unaryexpression-typeof-unaryexpression-2.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-unaryexpression-typeof-unaryexpression-2.js
new file mode 100644
index 0000000000..89542f3aa5
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-unaryexpression-typeof-unaryexpression-2.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/unaryexpression-typeof-unaryexpression-2.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ UnaryExpression: typeof UnaryExpression
+ Static Semantics AssignmentTargetType, Return invalid
+
+---*/
+
+$DONOTEVALUATE();
+
+(typeof true) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-unaryexpression-void-unaryexpression-0.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-unaryexpression-void-unaryexpression-0.js
new file mode 100644
index 0000000000..5d372ed97c
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-unaryexpression-void-unaryexpression-0.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/unaryexpression-void-unaryexpression-0.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ UnaryExpression: void UnaryExpression
+ Static Semantics AssignmentTargetType, Return invalid
+
+---*/
+
+$DONOTEVALUATE();
+
+(void x) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-unaryexpression-void-unaryexpression-1.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-unaryexpression-void-unaryexpression-1.js
new file mode 100644
index 0000000000..434ba8c9a3
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-unaryexpression-void-unaryexpression-1.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/unaryexpression-void-unaryexpression-1.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ UnaryExpression: void UnaryExpression
+ Static Semantics AssignmentTargetType, Return invalid
+
+---*/
+
+$DONOTEVALUATE();
+
+(void 1) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-unaryexpression-void-unaryexpression-2.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-unaryexpression-void-unaryexpression-2.js
new file mode 100644
index 0000000000..1638cc4690
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-unaryexpression-void-unaryexpression-2.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/unaryexpression-void-unaryexpression-2.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ UnaryExpression: void UnaryExpression
+ Static Semantics AssignmentTargetType, Return invalid
+
+---*/
+
+$DONOTEVALUATE();
+
+(void true) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-updateexpression-star-star-exponentiationexpression-0.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-updateexpression-star-star-exponentiationexpression-0.js
new file mode 100644
index 0000000000..d23bd8da77
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-updateexpression-star-star-exponentiationexpression-0.js
@@ -0,0 +1,25 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/updateexpression-star-star-exponentiationexpression-0.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+features: [exponentiation]
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ UpdateExpression ** ExponentiationExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(x ** y) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-updateexpression-star-star-exponentiationexpression-1.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-updateexpression-star-star-exponentiationexpression-1.js
new file mode 100644
index 0000000000..8a277b91bc
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-updateexpression-star-star-exponentiationexpression-1.js
@@ -0,0 +1,25 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/updateexpression-star-star-exponentiationexpression-1.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+features: [exponentiation]
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ UpdateExpression ** ExponentiationExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(1 ** 2) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-updateexpression-star-star-exponentiationexpression-2.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-updateexpression-star-star-exponentiationexpression-2.js
new file mode 100644
index 0000000000..526a503b45
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-updateexpression-star-star-exponentiationexpression-2.js
@@ -0,0 +1,25 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/updateexpression-star-star-exponentiationexpression-2.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+features: [exponentiation]
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ UpdateExpression ** ExponentiationExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(true ** false) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-yieldexpression-0.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-yieldexpression-0.js
new file mode 100644
index 0000000000..a8ff571c6c
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-yieldexpression-0.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/yieldexpression-0.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ YieldExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(yield x) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-yieldexpression-1.js b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-yieldexpression-1.js
new file mode 100644
index 0000000000..e4d31ec786
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/parenthesized-yieldexpression-1.js
@@ -0,0 +1,24 @@
+// |reftest| error:SyntaxError
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/yieldexpression-1.case
+// - src/assignment-target-type/invalid/parenthesized.template
+/*---
+description: Static Semantics AssignmentTargetType, Return invalid. (ParenthesizedExpression)
+esid: sec-grouping-operator-static-semantics-assignmenttargettype
+flags: [generated]
+negative:
+ phase: parse
+ type: SyntaxError
+info: |
+ ParenthesizedExpression: (Expression)
+
+ Return AssignmentTargetType of Expression.
+
+ YieldExpression
+ Static Semantics AssignmentTargetType, Return invalid.
+
+---*/
+
+$DONOTEVALUATE();
+
+(yield * x) = 1;
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/shell.js b/js/src/tests/test262/language/expressions/assignmenttargettype/shell.js
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/shell.js
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/simple-basic-identifierreference-arguments.js b/js/src/tests/test262/language/expressions/assignmenttargettype/simple-basic-identifierreference-arguments.js
new file mode 100644
index 0000000000..dbef75d850
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/simple-basic-identifierreference-arguments.js
@@ -0,0 +1,12 @@
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/identifierreference-arguments.case
+// - src/assignment-target-type/simple/basic/default.template
+/*---
+description: IdentifierReference Identifier, Return simple. (Simple Direct assignment)
+flags: [generated, noStrict]
+---*/
+
+
+arguments = 1;
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/simple-basic-identifierreference-await.js b/js/src/tests/test262/language/expressions/assignmenttargettype/simple-basic-identifierreference-await.js
new file mode 100644
index 0000000000..4ccd1fa3e8
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/simple-basic-identifierreference-await.js
@@ -0,0 +1,13 @@
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/identifierreference-await.case
+// - src/assignment-target-type/simple/basic/default.template
+/*---
+description: IdentifierReference await Return simple. (Simple Direct assignment)
+flags: [generated]
+---*/
+var await = 0;
+
+
+await = 1;
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/simple-basic-identifierreference-eval.js b/js/src/tests/test262/language/expressions/assignmenttargettype/simple-basic-identifierreference-eval.js
new file mode 100644
index 0000000000..14b382fc2f
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/simple-basic-identifierreference-eval.js
@@ -0,0 +1,12 @@
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/identifierreference-eval.case
+// - src/assignment-target-type/simple/basic/default.template
+/*---
+description: IdentifierReference Identifier, Return simple. (Simple Direct assignment)
+flags: [generated, noStrict]
+---*/
+
+
+eval = 1;
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/simple-basic-identifierreference-yield.js b/js/src/tests/test262/language/expressions/assignmenttargettype/simple-basic-identifierreference-yield.js
new file mode 100644
index 0000000000..364a61930f
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/simple-basic-identifierreference-yield.js
@@ -0,0 +1,12 @@
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/identifierreference-yield.case
+// - src/assignment-target-type/simple/basic/default.template
+/*---
+description: IdentifierReference yield, Return simple. (Simple Direct assignment)
+flags: [generated, noStrict]
+---*/
+
+
+yield = 1;
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/simple-complex-callexpression-expression.js b/js/src/tests/test262/language/expressions/assignmenttargettype/simple-complex-callexpression-expression.js
new file mode 100644
index 0000000000..b9258e3f3d
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/simple-complex-callexpression-expression.js
@@ -0,0 +1,20 @@
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/callexpression-expression.case
+// - src/assignment-target-type/simple/complex/default.template
+/*---
+description: Static Semantics AssignmentTargetType, Return simple (Simple Direct assignment)
+flags: [generated]
+info: |
+ CallExpression [ Expression ]
+ Static Semantics AssignmentTargetType, Return simple
+
+---*/
+
+
+let v = 'v';
+let o = { [v]: 1, f() {} };
+let f = () => o;
+
+f()[v] = 1;
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/simple-complex-callexpression.identifiername.js b/js/src/tests/test262/language/expressions/assignmenttargettype/simple-complex-callexpression.identifiername.js
new file mode 100644
index 0000000000..dc1f694b91
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/simple-complex-callexpression.identifiername.js
@@ -0,0 +1,20 @@
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/callexpression.identifiername.case
+// - src/assignment-target-type/simple/complex/default.template
+/*---
+description: Static Semantics AssignmentTargetType, Return simple (Simple Direct assignment)
+flags: [generated]
+info: |
+ CallExpression . IdentifierName
+ Static Semantics AssignmentTargetType, Return simple
+
+---*/
+
+
+let v = 'v';
+let o = { [v]: 1, f() {} };
+let f = () => o;
+
+f().IdentifierName = 1;
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/simple-complex-memberexpression-expression.js b/js/src/tests/test262/language/expressions/assignmenttargettype/simple-complex-memberexpression-expression.js
new file mode 100644
index 0000000000..421a5d1ec3
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/simple-complex-memberexpression-expression.js
@@ -0,0 +1,20 @@
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/memberexpression-expression.case
+// - src/assignment-target-type/simple/complex/default.template
+/*---
+description: Static Semantics AssignmentTargetType, Return simple (Simple Direct assignment)
+flags: [generated]
+info: |
+ MemberExpression [ Expression ]
+ Static Semantics AssignmentTargetType, Return simple
+
+---*/
+
+
+let v = 'v';
+let o = { [v]: 1, f() {} };
+let f = () => o;
+
+o[v] = 1;
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/language/expressions/assignmenttargettype/simple-complex-memberexpression.identifiername.js b/js/src/tests/test262/language/expressions/assignmenttargettype/simple-complex-memberexpression.identifiername.js
new file mode 100644
index 0000000000..c72a3267d5
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/assignmenttargettype/simple-complex-memberexpression.identifiername.js
@@ -0,0 +1,20 @@
+// This file was procedurally generated from the following sources:
+// - src/assignment-target-type/memberexpression.identifiername.case
+// - src/assignment-target-type/simple/complex/default.template
+/*---
+description: Static Semantics AssignmentTargetType, Return simple (Simple Direct assignment)
+flags: [generated]
+info: |
+ MemberExpression . IdentifierName
+ Static Semantics AssignmentTargetType, Return simple
+
+---*/
+
+
+let v = 'v';
+let o = { [v]: 1, f() {} };
+let f = () => o;
+
+o.v = 1;
+
+reportCompare(0, 0);