diff --git a/src/assignment-target-type/additiveexpression-minus-multiplicativeexpression-0.case b/src/assignment-target-type/additiveexpression-minus-multiplicativeexpression-0.case new file mode 100644 index 0000000000..2d6c53d8c7 --- /dev/null +++ b/src/assignment-target-type/additiveexpression-minus-multiplicativeexpression-0.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-additive-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + AdditiveExpression - MultiplicativeExpression + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +x - y +//- operator += +//- value +1 diff --git a/src/assignment-target-type/additiveexpression-minus-multiplicativeexpression-1.case b/src/assignment-target-type/additiveexpression-minus-multiplicativeexpression-1.case new file mode 100644 index 0000000000..b64d94cd24 --- /dev/null +++ b/src/assignment-target-type/additiveexpression-minus-multiplicativeexpression-1.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-additive-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + AdditiveExpression - MultiplicativeExpression + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +1 - 2 +//- operator += +//- value +1 diff --git a/src/assignment-target-type/additiveexpression-minus-multiplicativeexpression-2.case b/src/assignment-target-type/additiveexpression-minus-multiplicativeexpression-2.case new file mode 100644 index 0000000000..e615f16e85 --- /dev/null +++ b/src/assignment-target-type/additiveexpression-minus-multiplicativeexpression-2.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-additive-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + AdditiveExpression - MultiplicativeExpression + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +true - false +//- operator += +//- value +1 diff --git a/src/assignment-target-type/additiveexpression-plus-multiplicativeexpression-0.case b/src/assignment-target-type/additiveexpression-plus-multiplicativeexpression-0.case new file mode 100644 index 0000000000..28343cdc5e --- /dev/null +++ b/src/assignment-target-type/additiveexpression-plus-multiplicativeexpression-0.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-additive-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + AdditiveExpression + MultiplicativeExpression + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +x + y +//- operator += +//- value +1 diff --git a/src/assignment-target-type/additiveexpression-plus-multiplicativeexpression-1.case b/src/assignment-target-type/additiveexpression-plus-multiplicativeexpression-1.case new file mode 100644 index 0000000000..60a60a136a --- /dev/null +++ b/src/assignment-target-type/additiveexpression-plus-multiplicativeexpression-1.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-additive-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + AdditiveExpression + MultiplicativeExpression + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +1 + 2 +//- operator += +//- value +1 diff --git a/src/assignment-target-type/additiveexpression-plus-multiplicativeexpression-2.case b/src/assignment-target-type/additiveexpression-plus-multiplicativeexpression-2.case new file mode 100644 index 0000000000..03abccea5b --- /dev/null +++ b/src/assignment-target-type/additiveexpression-plus-multiplicativeexpression-2.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-additive-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + AdditiveExpression + MultiplicativeExpression + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +true + false +//- operator += +//- value +1 diff --git a/src/assignment-target-type/arrowfunction-0.case b/src/assignment-target-type/arrowfunction-0.case new file mode 100644 index 0000000000..2005ecf11c --- /dev/null +++ b/src/assignment-target-type/arrowfunction-0.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-assignment-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + ArrowFunction + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +() => {} +//- operator += +//- value +1 diff --git a/src/assignment-target-type/arrowfunction-1.case b/src/assignment-target-type/arrowfunction-1.case new file mode 100644 index 0000000000..93d23cdfe9 --- /dev/null +++ b/src/assignment-target-type/arrowfunction-1.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-assignment-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + ArrowFunction + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +() => ({}) +//- operator += +//- value +1 diff --git a/src/assignment-target-type/arrowfunction-2.case b/src/assignment-target-type/arrowfunction-2.case new file mode 100644 index 0000000000..ab99e89b7d --- /dev/null +++ b/src/assignment-target-type/arrowfunction-2.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-assignment-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + ArrowFunction + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +(x => x) +//- operator += +//- value +1 diff --git a/src/assignment-target-type/arrowfunction-3.case b/src/assignment-target-type/arrowfunction-3.case new file mode 100644 index 0000000000..1f26d9dd5c --- /dev/null +++ b/src/assignment-target-type/arrowfunction-3.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-assignment-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + ArrowFunction + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +((x) => x) +//- operator += +//- value +1 diff --git a/src/assignment-target-type/arrowfunction-4.case b/src/assignment-target-type/arrowfunction-4.case new file mode 100644 index 0000000000..debffbec30 --- /dev/null +++ b/src/assignment-target-type/arrowfunction-4.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-assignment-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + ArrowFunction + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +(() => 1) +//- operator += +//- value +1 diff --git a/src/assignment-target-type/arrowfunction-5.case b/src/assignment-target-type/arrowfunction-5.case new file mode 100644 index 0000000000..c93ae9986e --- /dev/null +++ b/src/assignment-target-type/arrowfunction-5.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-assignment-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + ArrowFunction + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +(() => true) +//- operator += +//- value +1 diff --git a/src/assignment-target-type/arrowfunction-6.case b/src/assignment-target-type/arrowfunction-6.case new file mode 100644 index 0000000000..debffbec30 --- /dev/null +++ b/src/assignment-target-type/arrowfunction-6.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-assignment-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + ArrowFunction + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +(() => 1) +//- operator += +//- value +1 diff --git a/src/assignment-target-type/asyncarrowfunction-0.case b/src/assignment-target-type/asyncarrowfunction-0.case new file mode 100644 index 0000000000..187825e439 --- /dev/null +++ b/src/assignment-target-type/asyncarrowfunction-0.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-assignment-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + AsyncArrowFunction + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +async () => {} +//- operator += +//- value +1 diff --git a/src/assignment-target-type/asyncarrowfunction-1.case b/src/assignment-target-type/asyncarrowfunction-1.case new file mode 100644 index 0000000000..6877c7013f --- /dev/null +++ b/src/assignment-target-type/asyncarrowfunction-1.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-assignment-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + AsyncArrowFunction + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +async () => ({}) +//- operator += +//- value +1 diff --git a/src/assignment-target-type/asyncarrowfunction-2.case b/src/assignment-target-type/asyncarrowfunction-2.case new file mode 100644 index 0000000000..cd382031a4 --- /dev/null +++ b/src/assignment-target-type/asyncarrowfunction-2.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-assignment-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + AsyncArrowFunction + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +(async x => x) +//- operator += +//- value +1 diff --git a/src/assignment-target-type/asyncarrowfunction-3.case b/src/assignment-target-type/asyncarrowfunction-3.case new file mode 100644 index 0000000000..a5f3fe85b4 --- /dev/null +++ b/src/assignment-target-type/asyncarrowfunction-3.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-assignment-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + AsyncArrowFunction + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +(async (x) => x) +//- operator += +//- value +1 diff --git a/src/assignment-target-type/asyncarrowfunction-4.case b/src/assignment-target-type/asyncarrowfunction-4.case new file mode 100644 index 0000000000..242b28d9b9 --- /dev/null +++ b/src/assignment-target-type/asyncarrowfunction-4.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-assignment-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + AsyncArrowFunction + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +(async () => 1) +//- operator += +//- value +1 diff --git a/src/assignment-target-type/asyncarrowfunction-5.case b/src/assignment-target-type/asyncarrowfunction-5.case new file mode 100644 index 0000000000..e79ff4b6c7 --- /dev/null +++ b/src/assignment-target-type/asyncarrowfunction-5.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-assignment-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + AsyncArrowFunction + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +(async () => true) +//- operator += +//- value +1 diff --git a/src/assignment-target-type/asyncarrowfunction-6.case b/src/assignment-target-type/asyncarrowfunction-6.case new file mode 100644 index 0000000000..242b28d9b9 --- /dev/null +++ b/src/assignment-target-type/asyncarrowfunction-6.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-assignment-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + AsyncArrowFunction + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +(async () => 1) +//- operator += +//- value +1 diff --git a/src/assignment-target-type/bitwiseandexpression-bitwise-and-equalityexpression-0.case b/src/assignment-target-type/bitwiseandexpression-bitwise-and-equalityexpression-0.case new file mode 100644 index 0000000000..35dc863406 --- /dev/null +++ b/src/assignment-target-type/bitwiseandexpression-bitwise-and-equalityexpression-0.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-binary-bitwise-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + BitwiseANDExpression: BitwiseANDExpression & EqualityExpression + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +x & y +//- operator += +//- value +1 diff --git a/src/assignment-target-type/bitwiseandexpression-bitwise-and-equalityexpression-1.case b/src/assignment-target-type/bitwiseandexpression-bitwise-and-equalityexpression-1.case new file mode 100644 index 0000000000..6c72dae2ea --- /dev/null +++ b/src/assignment-target-type/bitwiseandexpression-bitwise-and-equalityexpression-1.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-binary-bitwise-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + BitwiseANDExpression: BitwiseANDExpression & EqualityExpression + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +1 & 2 +//- operator += +//- value +1 diff --git a/src/assignment-target-type/bitwiseandexpression-bitwise-and-equalityexpression-2.case b/src/assignment-target-type/bitwiseandexpression-bitwise-and-equalityexpression-2.case new file mode 100644 index 0000000000..335be33bf6 --- /dev/null +++ b/src/assignment-target-type/bitwiseandexpression-bitwise-and-equalityexpression-2.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-binary-bitwise-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + BitwiseANDExpression: BitwiseANDExpression & EqualityExpression + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +true & false +//- operator += +//- value +1 diff --git a/src/assignment-target-type/bitwiseorexpression-bitwise-or-bitwisexorexpression-0.case b/src/assignment-target-type/bitwiseorexpression-bitwise-or-bitwisexorexpression-0.case new file mode 100644 index 0000000000..d587a3efff --- /dev/null +++ b/src/assignment-target-type/bitwiseorexpression-bitwise-or-bitwisexorexpression-0.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-binary-bitwise-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + BitwiseORExpression: BitwiseORExpression | BitwiseXORExpression + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +x | y +//- operator += +//- value +1 diff --git a/src/assignment-target-type/bitwiseorexpression-bitwise-or-bitwisexorexpression-1.case b/src/assignment-target-type/bitwiseorexpression-bitwise-or-bitwisexorexpression-1.case new file mode 100644 index 0000000000..37ef66434e --- /dev/null +++ b/src/assignment-target-type/bitwiseorexpression-bitwise-or-bitwisexorexpression-1.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-binary-bitwise-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + BitwiseORExpression: BitwiseORExpression | BitwiseXORExpression + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +1 | 2 +//- operator += +//- value +1 diff --git a/src/assignment-target-type/bitwiseorexpression-bitwise-or-bitwisexorexpression-2.case b/src/assignment-target-type/bitwiseorexpression-bitwise-or-bitwisexorexpression-2.case new file mode 100644 index 0000000000..c4969b1bb7 --- /dev/null +++ b/src/assignment-target-type/bitwiseorexpression-bitwise-or-bitwisexorexpression-2.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-binary-bitwise-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + BitwiseORExpression: BitwiseORExpression | BitwiseXORExpression + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +true | false +//- operator += +//- value +1 diff --git a/src/assignment-target-type/bitwisexorexpression-bitwise-xor-bitwiseandexpression-0.case b/src/assignment-target-type/bitwisexorexpression-bitwise-xor-bitwiseandexpression-0.case new file mode 100644 index 0000000000..c79a2a474d --- /dev/null +++ b/src/assignment-target-type/bitwisexorexpression-bitwise-xor-bitwiseandexpression-0.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-binary-bitwise-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + BitwiseXORExpression: BitwiseXORExpression ^ BitwiseANDExpression + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +x ^ y +//- operator += +//- value +1 diff --git a/src/assignment-target-type/bitwisexorexpression-bitwise-xor-bitwiseandexpression-1.case b/src/assignment-target-type/bitwisexorexpression-bitwise-xor-bitwiseandexpression-1.case new file mode 100644 index 0000000000..584b5795ff --- /dev/null +++ b/src/assignment-target-type/bitwisexorexpression-bitwise-xor-bitwiseandexpression-1.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-binary-bitwise-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + BitwiseXORExpression: BitwiseXORExpression ^ BitwiseANDExpression + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +1 ^ 2 +//- operator += +//- value +1 diff --git a/src/assignment-target-type/bitwisexorexpression-bitwise-xor-bitwiseandexpression-2.case b/src/assignment-target-type/bitwisexorexpression-bitwise-xor-bitwiseandexpression-2.case new file mode 100644 index 0000000000..0e0a64589b --- /dev/null +++ b/src/assignment-target-type/bitwisexorexpression-bitwise-xor-bitwiseandexpression-2.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-binary-bitwise-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + BitwiseXORExpression: BitwiseXORExpression ^ BitwiseANDExpression + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +true ^ false +//- operator += +//- value +1 diff --git a/src/assignment-target-type/callexpression-arguments.case b/src/assignment-target-type/callexpression-arguments.case new file mode 100644 index 0000000000..b97cb8c660 --- /dev/null +++ b/src/assignment-target-type/callexpression-arguments.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-static-semantics-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + CallExpression Arguments + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +f() +//- operator += +//- value +1 diff --git a/src/assignment-target-type/callexpression-expression.case b/src/assignment-target-type/callexpression-expression.case new file mode 100644 index 0000000000..72cc2b7b7c --- /dev/null +++ b/src/assignment-target-type/callexpression-expression.case @@ -0,0 +1,19 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-static-semantics-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return simple +info: | + CallExpression [ Expression ] + Static Semantics AssignmentTargetType, Return simple +template: simple/complex +---*/ + +//- assignmenttarget +f()[v] +//- operator += +//- value +1 diff --git a/src/assignment-target-type/callexpression-templateliteral.case b/src/assignment-target-type/callexpression-templateliteral.case new file mode 100644 index 0000000000..a601caad33 --- /dev/null +++ b/src/assignment-target-type/callexpression-templateliteral.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-static-semantics-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + CallExpression TemplateLiteral + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +f()`` +//- operator += +//- value +1 diff --git a/src/assignment-target-type/callexpression.identifiername.case b/src/assignment-target-type/callexpression.identifiername.case new file mode 100644 index 0000000000..d5d1b90e4f --- /dev/null +++ b/src/assignment-target-type/callexpression.identifiername.case @@ -0,0 +1,19 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-static-semantics-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return simple +info: | + CallExpression . IdentifierName + Static Semantics AssignmentTargetType, Return simple +template: simple/complex +---*/ + +//- assignmenttarget +f().IdentifierName +//- operator += +//- value +1 diff --git a/src/assignment-target-type/coalesceexpressionhead-coalesce-bitwiseorexpression-0.case b/src/assignment-target-type/coalesceexpressionhead-coalesce-bitwiseorexpression-0.case new file mode 100644 index 0000000000..a7b7fb6f82 --- /dev/null +++ b/src/assignment-target-type/coalesceexpressionhead-coalesce-bitwiseorexpression-0.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-binary-logical-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + CoalesceExpression: CoalesceExpressionHead ?? BitwiseORExpression + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +x ?? y +//- operator += +//- value +1 diff --git a/src/assignment-target-type/coalesceexpressionhead-coalesce-bitwiseorexpression-1.case b/src/assignment-target-type/coalesceexpressionhead-coalesce-bitwiseorexpression-1.case new file mode 100644 index 0000000000..fc10aac69a --- /dev/null +++ b/src/assignment-target-type/coalesceexpressionhead-coalesce-bitwiseorexpression-1.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-binary-logical-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + CoalesceExpression: CoalesceExpressionHead ?? BitwiseORExpression + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +1 ?? 2 +//- operator += +//- value +1 diff --git a/src/assignment-target-type/coalesceexpressionhead-coalesce-bitwiseorexpression-2.case b/src/assignment-target-type/coalesceexpressionhead-coalesce-bitwiseorexpression-2.case new file mode 100644 index 0000000000..5ce1df6c00 --- /dev/null +++ b/src/assignment-target-type/coalesceexpressionhead-coalesce-bitwiseorexpression-2.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-binary-logical-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + CoalesceExpression: CoalesceExpressionHead ?? BitwiseORExpression + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +true ?? false +//- operator += +//- value +1 diff --git a/src/assignment-target-type/equalityexpression-abstract-equal-relationalexpression-0.case b/src/assignment-target-type/equalityexpression-abstract-equal-relationalexpression-0.case new file mode 100644 index 0000000000..84ee7ae41f --- /dev/null +++ b/src/assignment-target-type/equalityexpression-abstract-equal-relationalexpression-0.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-equality-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + EqualityExpression == RelationalExpression + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +x == y +//- operator += +//- value +1 diff --git a/src/assignment-target-type/equalityexpression-abstract-equal-relationalexpression-1.case b/src/assignment-target-type/equalityexpression-abstract-equal-relationalexpression-1.case new file mode 100644 index 0000000000..52947e77ec --- /dev/null +++ b/src/assignment-target-type/equalityexpression-abstract-equal-relationalexpression-1.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-equality-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + EqualityExpression == RelationalExpression + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +1 == 2 +//- operator += +//- value +1 diff --git a/src/assignment-target-type/equalityexpression-abstract-equal-relationalexpression-2.case b/src/assignment-target-type/equalityexpression-abstract-equal-relationalexpression-2.case new file mode 100644 index 0000000000..527c6bf4a2 --- /dev/null +++ b/src/assignment-target-type/equalityexpression-abstract-equal-relationalexpression-2.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-equality-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + EqualityExpression == RelationalExpression + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +true == false +//- operator += +//- value +1 diff --git a/src/assignment-target-type/equalityexpression-abstract-not-equal-relationalexpression-0.case b/src/assignment-target-type/equalityexpression-abstract-not-equal-relationalexpression-0.case new file mode 100644 index 0000000000..62283495b1 --- /dev/null +++ b/src/assignment-target-type/equalityexpression-abstract-not-equal-relationalexpression-0.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-equality-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + EqualityExpression != RelationalExpression + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +x != y +//- operator += +//- value +1 diff --git a/src/assignment-target-type/equalityexpression-abstract-not-equal-relationalexpression-1.case b/src/assignment-target-type/equalityexpression-abstract-not-equal-relationalexpression-1.case new file mode 100644 index 0000000000..f4a3cb7b97 --- /dev/null +++ b/src/assignment-target-type/equalityexpression-abstract-not-equal-relationalexpression-1.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-equality-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + EqualityExpression != RelationalExpression + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +1 != 2 +//- operator += +//- value +1 diff --git a/src/assignment-target-type/equalityexpression-abstract-not-equal-relationalexpression-2.case b/src/assignment-target-type/equalityexpression-abstract-not-equal-relationalexpression-2.case new file mode 100644 index 0000000000..b74c2e6c91 --- /dev/null +++ b/src/assignment-target-type/equalityexpression-abstract-not-equal-relationalexpression-2.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-equality-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + EqualityExpression != RelationalExpression + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +true != false +//- operator += +//- value +1 diff --git a/src/assignment-target-type/equalityexpression-strict-equal-relationalexpression-0.case b/src/assignment-target-type/equalityexpression-strict-equal-relationalexpression-0.case new file mode 100644 index 0000000000..18db630cce --- /dev/null +++ b/src/assignment-target-type/equalityexpression-strict-equal-relationalexpression-0.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-equality-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + EqualityExpression === RelationalExpression + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +x == y +//- operator += +//- value +1 diff --git a/src/assignment-target-type/equalityexpression-strict-equal-relationalexpression-1.case b/src/assignment-target-type/equalityexpression-strict-equal-relationalexpression-1.case new file mode 100644 index 0000000000..cc9f16ee57 --- /dev/null +++ b/src/assignment-target-type/equalityexpression-strict-equal-relationalexpression-1.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-equality-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + EqualityExpression === RelationalExpression + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +1 == 2 +//- operator += +//- value +1 diff --git a/src/assignment-target-type/equalityexpression-strict-equal-relationalexpression-2.case b/src/assignment-target-type/equalityexpression-strict-equal-relationalexpression-2.case new file mode 100644 index 0000000000..5146cc3fa8 --- /dev/null +++ b/src/assignment-target-type/equalityexpression-strict-equal-relationalexpression-2.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-equality-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + EqualityExpression === RelationalExpression + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +true == false +//- operator += +//- value +1 diff --git a/src/assignment-target-type/equalityexpression-strict-not-equal-relationalexpression-0.case b/src/assignment-target-type/equalityexpression-strict-not-equal-relationalexpression-0.case new file mode 100644 index 0000000000..5d63adea71 --- /dev/null +++ b/src/assignment-target-type/equalityexpression-strict-not-equal-relationalexpression-0.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-equality-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + EqualityExpression !== RelationalExpression + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +x !== y +//- operator += +//- value +1 diff --git a/src/assignment-target-type/equalityexpression-strict-not-equal-relationalexpression-1.case b/src/assignment-target-type/equalityexpression-strict-not-equal-relationalexpression-1.case new file mode 100644 index 0000000000..60690386f5 --- /dev/null +++ b/src/assignment-target-type/equalityexpression-strict-not-equal-relationalexpression-1.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-equality-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + EqualityExpression !== RelationalExpression + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +1 !== 2 +//- operator += +//- value +1 diff --git a/src/assignment-target-type/equalityexpression-strict-not-equal-relationalexpression-2.case b/src/assignment-target-type/equalityexpression-strict-not-equal-relationalexpression-2.case new file mode 100644 index 0000000000..fbce296792 --- /dev/null +++ b/src/assignment-target-type/equalityexpression-strict-not-equal-relationalexpression-2.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-equality-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + EqualityExpression !== RelationalExpression + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +true !== false +//- operator += +//- value +1 diff --git a/src/assignment-target-type/expression-comma-assignmentexpression-0.case b/src/assignment-target-type/expression-comma-assignmentexpression-0.case new file mode 100644 index 0000000000..cccbc18304 --- /dev/null +++ b/src/assignment-target-type/expression-comma-assignmentexpression-0.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-comma-operator-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + Expression: Expression , AssignmentExpression + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +(x, y = z) +//- operator += +//- value +1 diff --git a/src/assignment-target-type/expression-comma-assignmentexpression-1.case b/src/assignment-target-type/expression-comma-assignmentexpression-1.case new file mode 100644 index 0000000000..b726810b11 --- /dev/null +++ b/src/assignment-target-type/expression-comma-assignmentexpression-1.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-comma-operator-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + Expression: Expression , AssignmentExpression + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +(x, y = 1) +//- operator += +//- value +1 diff --git a/src/assignment-target-type/expression-comma-assignmentexpression-2.case b/src/assignment-target-type/expression-comma-assignmentexpression-2.case new file mode 100644 index 0000000000..0727acd69c --- /dev/null +++ b/src/assignment-target-type/expression-comma-assignmentexpression-2.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-comma-operator-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + Expression: Expression , AssignmentExpression + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +(x, y = true) +//- operator += +//- value +1 diff --git a/src/assignment-target-type/identifierreference-arguments-strict.case b/src/assignment-target-type/identifierreference-arguments-strict.case new file mode 100644 index 0000000000..b42f030cb4 --- /dev/null +++ b/src/assignment-target-type/identifierreference-arguments-strict.case @@ -0,0 +1,20 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-identifiers-static-semantics-assignmenttargettype +desc: > + If this IdentifierReference is contained in strict mode code and StringValue of Identifier is "eval" or "arguments", return invalid. +template: invalid +flags: [onlyStrict] +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +arguments +//- operator += +//- value +1 diff --git a/src/assignment-target-type/identifierreference-arguments.case b/src/assignment-target-type/identifierreference-arguments.case new file mode 100644 index 0000000000..fc25499e68 --- /dev/null +++ b/src/assignment-target-type/identifierreference-arguments.case @@ -0,0 +1,13 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-identifiers-static-semantics-assignmenttargettype +desc: > + IdentifierReference Identifier, Return simple. +template: simple/basic +flags: [noStrict] +---*/ + +//- assignmenttarget +arguments diff --git a/src/assignment-target-type/identifierreference-await.case b/src/assignment-target-type/identifierreference-await.case new file mode 100644 index 0000000000..24c7130b6b --- /dev/null +++ b/src/assignment-target-type/identifierreference-await.case @@ -0,0 +1,14 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-identifiers-static-semantics-assignmenttargettype +desc: > + IdentifierReference await Return simple. +template: simple/basic +---*/ + +//- setup +var await = 0; +//- assignmenttarget +await diff --git a/src/assignment-target-type/identifierreference-eval-strict.case b/src/assignment-target-type/identifierreference-eval-strict.case new file mode 100644 index 0000000000..29b0aa248f --- /dev/null +++ b/src/assignment-target-type/identifierreference-eval-strict.case @@ -0,0 +1,20 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-identifiers-static-semantics-assignmenttargettype +desc: > + If this IdentifierReference is contained in strict mode code and StringValue of Identifier is "eval" or "arguments", return invalid. +flags: [onlyStrict] +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +eval +//- operator += +//- value +1 diff --git a/src/assignment-target-type/identifierreference-eval.case b/src/assignment-target-type/identifierreference-eval.case new file mode 100644 index 0000000000..fbe75820fb --- /dev/null +++ b/src/assignment-target-type/identifierreference-eval.case @@ -0,0 +1,13 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-identifiers-static-semantics-assignmenttargettype +desc: > + IdentifierReference Identifier, Return simple. +template: simple/basic +flags: [noStrict] +---*/ + +//- assignmenttarget +eval diff --git a/src/assignment-target-type/identifierreference-yield.case b/src/assignment-target-type/identifierreference-yield.case new file mode 100644 index 0000000000..8a1d2ca9d1 --- /dev/null +++ b/src/assignment-target-type/identifierreference-yield.case @@ -0,0 +1,13 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-identifiers-static-semantics-assignmenttargettype +desc: > + IdentifierReference yield, Return simple. +template: simple/basic +flags: [noStrict] +---*/ + +//- assignmenttarget +yield diff --git a/src/assignment-target-type/import.meta.case b/src/assignment-target-type/import.meta.case new file mode 100644 index 0000000000..59f5c23b14 --- /dev/null +++ b/src/assignment-target-type/import.meta.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-static-semantics-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + import.meta + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +import.meta +//- operator += +//- value +1 diff --git a/src/assignment-target-type/importcall.case b/src/assignment-target-type/importcall.case new file mode 100644 index 0000000000..0a17740fde --- /dev/null +++ b/src/assignment-target-type/importcall.case @@ -0,0 +1,23 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-static-semantics-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + ImportCall + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +flags: [module] +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +import() +//- operator += +//- value +1 diff --git a/src/assignment-target-type/invalid/direct.template b/src/assignment-target-type/invalid/direct.template new file mode 100644 index 0000000000..bbf3135f42 --- /dev/null +++ b/src/assignment-target-type/invalid/direct.template @@ -0,0 +1,15 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +path: language/expressions/assignmenttargettype/direct- +name: Direct assignment +info: | + Direct assignment +---*/ +$DONOTEVALUATE(); + +function _() { + /*{ assignmenttarget }*/ /*{ operator }*/ /*{ value }*/; +} + diff --git a/src/assignment-target-type/invalid/iteration/direct.template b/src/assignment-target-type/invalid/iteration/direct.template new file mode 100644 index 0000000000..3f58f2ed5b --- /dev/null +++ b/src/assignment-target-type/invalid/iteration/direct.template @@ -0,0 +1,15 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +path: language/expressions/assignmenttargettype/iteration-direct- +name: Direct assignment +info: | + Direct assignment +---*/ +$DONOTEVALUATE(); + +function _() { + for (/*{ assignmenttarget }*/ /*{ operator }*/ /*{ value }*/) {} +} + diff --git a/src/assignment-target-type/invalid/parenthesized.template b/src/assignment-target-type/invalid/parenthesized.template new file mode 100644 index 0000000000..b86b3d98c4 --- /dev/null +++ b/src/assignment-target-type/invalid/parenthesized.template @@ -0,0 +1,18 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +path: language/expressions/assignmenttargettype/parenthesized- +name: ParenthesizedExpression +esid: sec-grouping-operator-static-semantics-assignmenttargettype +info: | + ParenthesizedExpression: (Expression) + + Return AssignmentTargetType of Expression. +---*/ +$DONOTEVALUATE(); + +function _() { + (/*{ assignmenttarget }*/) /*{ operator }*/ /*{ value }*/; +} + diff --git a/src/assignment-target-type/lefthandsideexpression-assignment-assignmentexpression-0.case b/src/assignment-target-type/lefthandsideexpression-assignment-assignmentexpression-0.case new file mode 100644 index 0000000000..a62aba764b --- /dev/null +++ b/src/assignment-target-type/lefthandsideexpression-assignment-assignmentexpression-0.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-assignment-operators-static-semantics-early-errors +desc: > + 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. +info: | + 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. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +(x = y) +//- operator += +//- value +1 diff --git a/src/assignment-target-type/lefthandsideexpression-assignment-assignmentexpression-1.case b/src/assignment-target-type/lefthandsideexpression-assignment-assignmentexpression-1.case new file mode 100644 index 0000000000..96bccaa100 --- /dev/null +++ b/src/assignment-target-type/lefthandsideexpression-assignment-assignmentexpression-1.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-assignment-operators-static-semantics-early-errors +desc: > + 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. +info: | + 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. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +(x = 1) +//- operator += +//- value +1 diff --git a/src/assignment-target-type/lefthandsideexpression-assignment-assignmentexpression-2.case b/src/assignment-target-type/lefthandsideexpression-assignment-assignmentexpression-2.case new file mode 100644 index 0000000000..51af588043 --- /dev/null +++ b/src/assignment-target-type/lefthandsideexpression-assignment-assignmentexpression-2.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-assignment-operators-static-semantics-early-errors +desc: > + 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. +info: | + 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. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +(x = true) +//- operator += +//- value +1 diff --git a/src/assignment-target-type/lefthandsideexpression-coalesce-assignment-assignmentexpression-0.case b/src/assignment-target-type/lefthandsideexpression-coalesce-assignment-assignmentexpression-0.case new file mode 100644 index 0000000000..bbcb07dc9e --- /dev/null +++ b/src/assignment-target-type/lefthandsideexpression-coalesce-assignment-assignmentexpression-0.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-assignment-operators-static-semantics-early-errors +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + LeftHandSideExpression ??= AssignmentExpression + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +(x ??= y) +//- operator += +//- value +1 diff --git a/src/assignment-target-type/lefthandsideexpression-coalesce-assignment-assignmentexpression-1.case b/src/assignment-target-type/lefthandsideexpression-coalesce-assignment-assignmentexpression-1.case new file mode 100644 index 0000000000..62e38fcff6 --- /dev/null +++ b/src/assignment-target-type/lefthandsideexpression-coalesce-assignment-assignmentexpression-1.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-assignment-operators-static-semantics-early-errors +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + LeftHandSideExpression ??= AssignmentExpression + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +(x ??= 1) +//- operator += +//- value +1 diff --git a/src/assignment-target-type/lefthandsideexpression-coalesce-assignment-assignmentexpression-2.case b/src/assignment-target-type/lefthandsideexpression-coalesce-assignment-assignmentexpression-2.case new file mode 100644 index 0000000000..c2e6778ec7 --- /dev/null +++ b/src/assignment-target-type/lefthandsideexpression-coalesce-assignment-assignmentexpression-2.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-assignment-operators-static-semantics-early-errors +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + LeftHandSideExpression ??= AssignmentExpression + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +(x ??= true) +//- operator += +//- value +1 diff --git a/src/assignment-target-type/lefthandsideexpression-logical-and-assignment-assignmentexpression-0.case b/src/assignment-target-type/lefthandsideexpression-logical-and-assignment-assignmentexpression-0.case new file mode 100644 index 0000000000..99da6d580d --- /dev/null +++ b/src/assignment-target-type/lefthandsideexpression-logical-and-assignment-assignmentexpression-0.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-assignment-operators-static-semantics-early-errors +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + LeftHandSideExpression &&= AssignmentExpression + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +(x &&= y) +//- operator += +//- value +1 diff --git a/src/assignment-target-type/lefthandsideexpression-logical-and-assignment-assignmentexpression-1.case b/src/assignment-target-type/lefthandsideexpression-logical-and-assignment-assignmentexpression-1.case new file mode 100644 index 0000000000..57a5dd944d --- /dev/null +++ b/src/assignment-target-type/lefthandsideexpression-logical-and-assignment-assignmentexpression-1.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-assignment-operators-static-semantics-early-errors +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + LeftHandSideExpression &&= AssignmentExpression + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +(x &&= 1) +//- operator += +//- value +1 diff --git a/src/assignment-target-type/lefthandsideexpression-logical-and-assignment-assignmentexpression-2.case b/src/assignment-target-type/lefthandsideexpression-logical-and-assignment-assignmentexpression-2.case new file mode 100644 index 0000000000..736496e24b --- /dev/null +++ b/src/assignment-target-type/lefthandsideexpression-logical-and-assignment-assignmentexpression-2.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-assignment-operators-static-semantics-early-errors +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + LeftHandSideExpression &&= AssignmentExpression + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +(x &&= true) +//- operator += +//- value +1 diff --git a/src/assignment-target-type/lefthandsideexpression-logical-or-assignment-assignmentexpression-0.case b/src/assignment-target-type/lefthandsideexpression-logical-or-assignment-assignmentexpression-0.case new file mode 100644 index 0000000000..4136fe6040 --- /dev/null +++ b/src/assignment-target-type/lefthandsideexpression-logical-or-assignment-assignmentexpression-0.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-assignment-operators-static-semantics-early-errors +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + LeftHandSideExpression ||= AssignmentExpression + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +(x ||= y) +//- operator += +//- value +1 diff --git a/src/assignment-target-type/lefthandsideexpression-logical-or-assignment-assignmentexpression-1.case b/src/assignment-target-type/lefthandsideexpression-logical-or-assignment-assignmentexpression-1.case new file mode 100644 index 0000000000..4ee3bcd1a2 --- /dev/null +++ b/src/assignment-target-type/lefthandsideexpression-logical-or-assignment-assignmentexpression-1.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-assignment-operators-static-semantics-early-errors +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + LeftHandSideExpression ||= AssignmentExpression + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +(x ||= 1) +//- operator += +//- value +1 diff --git a/src/assignment-target-type/lefthandsideexpression-logical-or-assignment-assignmentexpression-2.case b/src/assignment-target-type/lefthandsideexpression-logical-or-assignment-assignmentexpression-2.case new file mode 100644 index 0000000000..de84ed7259 --- /dev/null +++ b/src/assignment-target-type/lefthandsideexpression-logical-or-assignment-assignmentexpression-2.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-assignment-operators-static-semantics-early-errors +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + LeftHandSideExpression ||= AssignmentExpression + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +(x ||= true) +//- operator += +//- value +1 diff --git a/src/assignment-target-type/lefthandsideexpression-minus-minus.case b/src/assignment-target-type/lefthandsideexpression-minus-minus.case new file mode 100644 index 0000000000..cffa733f83 --- /dev/null +++ b/src/assignment-target-type/lefthandsideexpression-minus-minus.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-update-expressions-static-semantics-early-errors +desc: > + It is an early Syntax Error if AssignmentTargetType of LeftHandSideExpression is not simple. +info: | + UpdateExpression: LeftHandSideExpression-- + It is an early Syntax Error if AssignmentTargetType of LeftHandSideExpression is not simple. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +x-- +//- operator += +//- value +1 diff --git a/src/assignment-target-type/lefthandsideexpression-plus-plus.case b/src/assignment-target-type/lefthandsideexpression-plus-plus.case new file mode 100644 index 0000000000..98b380e8d3 --- /dev/null +++ b/src/assignment-target-type/lefthandsideexpression-plus-plus.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-update-expressions-static-semantics-early-errors +desc: > + It is an early Syntax Error if AssignmentTargetType of LeftHandSideExpression is not simple. +info: | + UpdateExpression: LeftHandSideExpression ++ + It is an early Syntax Error if AssignmentTargetType of LeftHandSideExpression is not simple. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +x++ +//- operator += +//- value +1 diff --git a/src/assignment-target-type/logicalandexpression-logical-and-bitwiseorexpression-0.case b/src/assignment-target-type/logicalandexpression-logical-and-bitwiseorexpression-0.case new file mode 100644 index 0000000000..9672d734ae --- /dev/null +++ b/src/assignment-target-type/logicalandexpression-logical-and-bitwiseorexpression-0.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-binary-logical-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + LogicalANDExpression: LogicalANDExpression && BitwiseORExpression + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +x && y +//- operator += +//- value +1 diff --git a/src/assignment-target-type/logicalandexpression-logical-and-bitwiseorexpression-1.case b/src/assignment-target-type/logicalandexpression-logical-and-bitwiseorexpression-1.case new file mode 100644 index 0000000000..e701aa215e --- /dev/null +++ b/src/assignment-target-type/logicalandexpression-logical-and-bitwiseorexpression-1.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-binary-logical-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + LogicalANDExpression: LogicalANDExpression && BitwiseORExpression + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +1 && 2 +//- operator += +//- value +1 diff --git a/src/assignment-target-type/logicalandexpression-logical-and-bitwiseorexpression-2.case b/src/assignment-target-type/logicalandexpression-logical-and-bitwiseorexpression-2.case new file mode 100644 index 0000000000..c3e1308e6c --- /dev/null +++ b/src/assignment-target-type/logicalandexpression-logical-and-bitwiseorexpression-2.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-binary-logical-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + LogicalANDExpression: LogicalANDExpression && BitwiseORExpression + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +true && false +//- operator += +//- value +1 diff --git a/src/assignment-target-type/logicalorexpression-logical-or-logicalandexpression-0.case b/src/assignment-target-type/logicalorexpression-logical-or-logicalandexpression-0.case new file mode 100644 index 0000000000..8cdd232ae1 --- /dev/null +++ b/src/assignment-target-type/logicalorexpression-logical-or-logicalandexpression-0.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-binary-logical-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + LogicalORExpression: LogicalORExpression || LogicalANDExpression + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +x || y +//- operator += +//- value +1 diff --git a/src/assignment-target-type/logicalorexpression-logical-or-logicalandexpression-1.case b/src/assignment-target-type/logicalorexpression-logical-or-logicalandexpression-1.case new file mode 100644 index 0000000000..cdd4dcf0ce --- /dev/null +++ b/src/assignment-target-type/logicalorexpression-logical-or-logicalandexpression-1.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-binary-logical-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + LogicalORExpression: LogicalORExpression || LogicalANDExpression + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +1 || 2 +//- operator += +//- value +1 diff --git a/src/assignment-target-type/logicalorexpression-logical-or-logicalandexpression-2.case b/src/assignment-target-type/logicalorexpression-logical-or-logicalandexpression-2.case new file mode 100644 index 0000000000..9989a14f5a --- /dev/null +++ b/src/assignment-target-type/logicalorexpression-logical-or-logicalandexpression-2.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-binary-logical-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + LogicalORExpression: LogicalORExpression || LogicalANDExpression + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +true || false +//- operator += +//- value +1 diff --git a/src/assignment-target-type/memberexpression-expression.case b/src/assignment-target-type/memberexpression-expression.case new file mode 100644 index 0000000000..26994ad9db --- /dev/null +++ b/src/assignment-target-type/memberexpression-expression.case @@ -0,0 +1,19 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-static-semantics-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return simple +info: | + MemberExpression [ Expression ] + Static Semantics AssignmentTargetType, Return simple +template: simple/complex +---*/ + +//- assignmenttarget +o[v] +//- operator += +//- value +1 diff --git a/src/assignment-target-type/memberexpression-templateliteral.case b/src/assignment-target-type/memberexpression-templateliteral.case new file mode 100644 index 0000000000..4f5a56dd76 --- /dev/null +++ b/src/assignment-target-type/memberexpression-templateliteral.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-static-semantics-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + MemberExpression TemplateLiteral + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +o.f()`` +//- operator += +//- value +1 diff --git a/src/assignment-target-type/memberexpression.identifiername.case b/src/assignment-target-type/memberexpression.identifiername.case new file mode 100644 index 0000000000..ddf946102d --- /dev/null +++ b/src/assignment-target-type/memberexpression.identifiername.case @@ -0,0 +1,19 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-static-semantics-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return simple +info: | + MemberExpression . IdentifierName + Static Semantics AssignmentTargetType, Return simple +template: simple/complex +---*/ + +//- assignmenttarget +o.v +//- operator += +//- value +1 diff --git a/src/assignment-target-type/minus-minus-unaryexpression.case b/src/assignment-target-type/minus-minus-unaryexpression.case new file mode 100644 index 0000000000..16d15143b9 --- /dev/null +++ b/src/assignment-target-type/minus-minus-unaryexpression.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-update-expressions-static-semantics-early-errors +desc: > + It is an early Syntax Error if AssignmentTargetType of UnaryExpression is not simple. +info: | + UpdateExpression: --UnaryExpression + It is an early Syntax Error if AssignmentTargetType of UnaryExpression is not simple. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +--x +//- operator += +//- value +1 diff --git a/src/assignment-target-type/multiplicativeexpression-multiplicativeoperator-exponentiationexpression-0.case b/src/assignment-target-type/multiplicativeexpression-multiplicativeoperator-exponentiationexpression-0.case new file mode 100644 index 0000000000..92b06ac975 --- /dev/null +++ b/src/assignment-target-type/multiplicativeexpression-multiplicativeoperator-exponentiationexpression-0.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-multiplicative-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + MultiplicativeExpression MultiplicativeOperator ExponentiationExpression + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +x * y +//- operator += +//- value +1 diff --git a/src/assignment-target-type/multiplicativeexpression-multiplicativeoperator-exponentiationexpression-1.case b/src/assignment-target-type/multiplicativeexpression-multiplicativeoperator-exponentiationexpression-1.case new file mode 100644 index 0000000000..a7c53bdc31 --- /dev/null +++ b/src/assignment-target-type/multiplicativeexpression-multiplicativeoperator-exponentiationexpression-1.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-multiplicative-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + MultiplicativeExpression MultiplicativeOperator ExponentiationExpression + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +1 * 2 +//- operator += +//- value +1 diff --git a/src/assignment-target-type/multiplicativeexpression-multiplicativeoperator-exponentiationexpression-2.case b/src/assignment-target-type/multiplicativeexpression-multiplicativeoperator-exponentiationexpression-2.case new file mode 100644 index 0000000000..e0270e01fc --- /dev/null +++ b/src/assignment-target-type/multiplicativeexpression-multiplicativeoperator-exponentiationexpression-2.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-multiplicative-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + MultiplicativeExpression MultiplicativeOperator ExponentiationExpression + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +true * false +//- operator += +//- value +1 diff --git a/src/assignment-target-type/multiplicativeexpression-multiplicativeoperator-exponentiationexpression-3.case b/src/assignment-target-type/multiplicativeexpression-multiplicativeoperator-exponentiationexpression-3.case new file mode 100644 index 0000000000..df51a76535 --- /dev/null +++ b/src/assignment-target-type/multiplicativeexpression-multiplicativeoperator-exponentiationexpression-3.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-multiplicative-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + MultiplicativeExpression MultiplicativeOperator ExponentiationExpression + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +x / y +//- operator += +//- value +1 diff --git a/src/assignment-target-type/multiplicativeexpression-multiplicativeoperator-exponentiationexpression-4.case b/src/assignment-target-type/multiplicativeexpression-multiplicativeoperator-exponentiationexpression-4.case new file mode 100644 index 0000000000..6b285fe873 --- /dev/null +++ b/src/assignment-target-type/multiplicativeexpression-multiplicativeoperator-exponentiationexpression-4.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-multiplicative-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + MultiplicativeExpression MultiplicativeOperator ExponentiationExpression + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +1 / 2 +//- operator += +//- value +1 diff --git a/src/assignment-target-type/multiplicativeexpression-multiplicativeoperator-exponentiationexpression-5.case b/src/assignment-target-type/multiplicativeexpression-multiplicativeoperator-exponentiationexpression-5.case new file mode 100644 index 0000000000..8e17f8dbd8 --- /dev/null +++ b/src/assignment-target-type/multiplicativeexpression-multiplicativeoperator-exponentiationexpression-5.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-multiplicative-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + MultiplicativeExpression MultiplicativeOperator ExponentiationExpression + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +true / false +//- operator += +//- value +1 diff --git a/src/assignment-target-type/new-memberexpression-arguments.case b/src/assignment-target-type/new-memberexpression-arguments.case new file mode 100644 index 0000000000..9be8db75b9 --- /dev/null +++ b/src/assignment-target-type/new-memberexpression-arguments.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-static-semantics-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + new MemberExpression Arguments + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +new f() +//- operator += +//- value +1 diff --git a/src/assignment-target-type/new-newexpression.case b/src/assignment-target-type/new-newexpression.case new file mode 100644 index 0000000000..5945e00417 --- /dev/null +++ b/src/assignment-target-type/new-newexpression.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-static-semantics-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + new NewExpression + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +new f +//- operator += +//- value +1 diff --git a/src/assignment-target-type/optionalexpression.case b/src/assignment-target-type/optionalexpression.case new file mode 100644 index 0000000000..4a90231482 --- /dev/null +++ b/src/assignment-target-type/optionalexpression.case @@ -0,0 +1,23 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-static-semantics-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + OptionalExpression + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +features: [optional-chaining] +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +x?.y +//- operator += +//- value +1 diff --git a/src/assignment-target-type/plus-plus-unaryexpression.case b/src/assignment-target-type/plus-plus-unaryexpression.case new file mode 100644 index 0000000000..7243c23ad8 --- /dev/null +++ b/src/assignment-target-type/plus-plus-unaryexpression.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-update-expressions-static-semantics-early-errors +desc: > + It is an early Syntax Error if AssignmentTargetType of UnaryExpression is not simple. +info: | + UpdateExpression: ++UnaryExpression + It is an early Syntax Error if AssignmentTargetType of UnaryExpression is not simple. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +++x +//- operator += +//- value +1 diff --git a/src/assignment-target-type/primaryexpression-asyncfunctionexpression.case b/src/assignment-target-type/primaryexpression-asyncfunctionexpression.case new file mode 100644 index 0000000000..8c640506f6 --- /dev/null +++ b/src/assignment-target-type/primaryexpression-asyncfunctionexpression.case @@ -0,0 +1,19 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-semantics-static-semantics-assignmenttargettype +desc: > + PrimaryExpression AsyncFunctionExpression; Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +async function () {} +//- operator += +//- value +1 diff --git a/src/assignment-target-type/primaryexpression-asyncgeneratorexpression.case b/src/assignment-target-type/primaryexpression-asyncgeneratorexpression.case new file mode 100644 index 0000000000..ee923924a2 --- /dev/null +++ b/src/assignment-target-type/primaryexpression-asyncgeneratorexpression.case @@ -0,0 +1,19 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-semantics-static-semantics-assignmenttargettype +desc: > + PrimaryExpression AsyncGeneratorExpression; Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +async function () {} +//- operator += +//- value +1 diff --git a/src/assignment-target-type/primaryexpression-classexpression.case b/src/assignment-target-type/primaryexpression-classexpression.case new file mode 100644 index 0000000000..ab6d1dfe05 --- /dev/null +++ b/src/assignment-target-type/primaryexpression-classexpression.case @@ -0,0 +1,19 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-semantics-static-semantics-assignmenttargettype +desc: > + PrimaryExpression ClassExpression; Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +class {} +//- operator += +//- value +1 diff --git a/src/assignment-target-type/primaryexpression-functionexpression.case b/src/assignment-target-type/primaryexpression-functionexpression.case new file mode 100644 index 0000000000..8bf34ede99 --- /dev/null +++ b/src/assignment-target-type/primaryexpression-functionexpression.case @@ -0,0 +1,19 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-semantics-static-semantics-assignmenttargettype +desc: > + PrimaryExpression FunctionExpression, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +function() {} +//- operator += +//- value +1 diff --git a/src/assignment-target-type/primaryexpression-generatorexpression.case b/src/assignment-target-type/primaryexpression-generatorexpression.case new file mode 100644 index 0000000000..90bb223408 --- /dev/null +++ b/src/assignment-target-type/primaryexpression-generatorexpression.case @@ -0,0 +1,19 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-semantics-static-semantics-assignmenttargettype +desc: > + PrimaryExpression ArrayLiteral; Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +function * () {} +//- operator += +//- value +1 diff --git a/src/assignment-target-type/primaryexpression-literal-boolean.case b/src/assignment-target-type/primaryexpression-literal-boolean.case new file mode 100644 index 0000000000..1dd6b00ff7 --- /dev/null +++ b/src/assignment-target-type/primaryexpression-literal-boolean.case @@ -0,0 +1,19 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-semantics-static-semantics-assignmenttargettype +desc: > + PrimaryExpression Literal BooleanLiteral; Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +true +//- operator += +//- value +1 diff --git a/src/assignment-target-type/primaryexpression-literal-null.case b/src/assignment-target-type/primaryexpression-literal-null.case new file mode 100644 index 0000000000..85989bf492 --- /dev/null +++ b/src/assignment-target-type/primaryexpression-literal-null.case @@ -0,0 +1,19 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-semantics-static-semantics-assignmenttargettype +desc: > + PrimaryExpression Literal NullLiteral; Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +null +//- operator += +//- value +1 diff --git a/src/assignment-target-type/primaryexpression-literal-numeric.case b/src/assignment-target-type/primaryexpression-literal-numeric.case new file mode 100644 index 0000000000..1fa10f7f5d --- /dev/null +++ b/src/assignment-target-type/primaryexpression-literal-numeric.case @@ -0,0 +1,19 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-semantics-static-semantics-assignmenttargettype +desc: > + PrimaryExpression Literal NumericLiteral; Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +0 +//- operator += +//- value +1 diff --git a/src/assignment-target-type/primaryexpression-literal-string.case b/src/assignment-target-type/primaryexpression-literal-string.case new file mode 100644 index 0000000000..4e8a2cdc21 --- /dev/null +++ b/src/assignment-target-type/primaryexpression-literal-string.case @@ -0,0 +1,19 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-semantics-static-semantics-assignmenttargettype +desc: > + PrimaryExpression Literal StringLiteral; Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +'' +//- operator += +//- value +1 diff --git a/src/assignment-target-type/primaryexpression-objectliteral.case b/src/assignment-target-type/primaryexpression-objectliteral.case new file mode 100644 index 0000000000..62a4e20256 --- /dev/null +++ b/src/assignment-target-type/primaryexpression-objectliteral.case @@ -0,0 +1,19 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-semantics-static-semantics-assignmenttargettype +desc: > + PrimaryExpression ObjectLiteral; Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +{} +//- operator += +//- value +1 diff --git a/src/assignment-target-type/primaryexpression-regularexpressionliteral.case b/src/assignment-target-type/primaryexpression-regularexpressionliteral.case new file mode 100644 index 0000000000..67fd07f738 --- /dev/null +++ b/src/assignment-target-type/primaryexpression-regularexpressionliteral.case @@ -0,0 +1,19 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-semantics-static-semantics-assignmenttargettype +desc: > + PrimaryExpression RegularExpressionLiteral; Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +/1/ +//- operator += +//- value +1 diff --git a/src/assignment-target-type/primaryexpression-templateliteral.case b/src/assignment-target-type/primaryexpression-templateliteral.case new file mode 100644 index 0000000000..5b092377c0 --- /dev/null +++ b/src/assignment-target-type/primaryexpression-templateliteral.case @@ -0,0 +1,19 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-semantics-static-semantics-assignmenttargettype +desc: > + PrimaryExpression TemplateLiteral; Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +`` +//- operator += +//- value +1 diff --git a/src/assignment-target-type/primaryexpression-this.case b/src/assignment-target-type/primaryexpression-this.case new file mode 100644 index 0000000000..09f95099d2 --- /dev/null +++ b/src/assignment-target-type/primaryexpression-this.case @@ -0,0 +1,19 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-semantics-static-semantics-assignmenttargettype +desc: > + PrimaryExpression this; Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +this +//- operator += +//- value +1 diff --git a/src/assignment-target-type/relationalexpression-greater-than-or-equal-to-shiftexpression-0.case b/src/assignment-target-type/relationalexpression-greater-than-or-equal-to-shiftexpression-0.case new file mode 100644 index 0000000000..34f2bfddbe --- /dev/null +++ b/src/assignment-target-type/relationalexpression-greater-than-or-equal-to-shiftexpression-0.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-relational-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + RelationalExpression >= ShiftExpression + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +x >= y +//- operator += +//- value +1 diff --git a/src/assignment-target-type/relationalexpression-greater-than-or-equal-to-shiftexpression-1.case b/src/assignment-target-type/relationalexpression-greater-than-or-equal-to-shiftexpression-1.case new file mode 100644 index 0000000000..327a57f78d --- /dev/null +++ b/src/assignment-target-type/relationalexpression-greater-than-or-equal-to-shiftexpression-1.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-relational-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + RelationalExpression >= ShiftExpression + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +1 >= 2 +//- operator += +//- value +1 diff --git a/src/assignment-target-type/relationalexpression-greater-than-or-equal-to-shiftexpression-2.case b/src/assignment-target-type/relationalexpression-greater-than-or-equal-to-shiftexpression-2.case new file mode 100644 index 0000000000..0a2d602191 --- /dev/null +++ b/src/assignment-target-type/relationalexpression-greater-than-or-equal-to-shiftexpression-2.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-relational-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + RelationalExpression >= ShiftExpression + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +true >= false +//- operator += +//- value +1 diff --git a/src/assignment-target-type/relationalexpression-greater-than-shiftexpression-0.case b/src/assignment-target-type/relationalexpression-greater-than-shiftexpression-0.case new file mode 100644 index 0000000000..f05eacfd15 --- /dev/null +++ b/src/assignment-target-type/relationalexpression-greater-than-shiftexpression-0.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-relational-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + RelationalExpression > ShiftExpression + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +x > y +//- operator += +//- value +1 diff --git a/src/assignment-target-type/relationalexpression-greater-than-shiftexpression-1.case b/src/assignment-target-type/relationalexpression-greater-than-shiftexpression-1.case new file mode 100644 index 0000000000..11791be680 --- /dev/null +++ b/src/assignment-target-type/relationalexpression-greater-than-shiftexpression-1.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-relational-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + RelationalExpression > ShiftExpression + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +1 > 2 +//- operator += +//- value +1 diff --git a/src/assignment-target-type/relationalexpression-greater-than-shiftexpression-2.case b/src/assignment-target-type/relationalexpression-greater-than-shiftexpression-2.case new file mode 100644 index 0000000000..f3f111b1c8 --- /dev/null +++ b/src/assignment-target-type/relationalexpression-greater-than-shiftexpression-2.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-relational-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + RelationalExpression > ShiftExpression + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +true > false +//- operator += +//- value +1 diff --git a/src/assignment-target-type/relationalexpression-in-shiftexpression-0.case b/src/assignment-target-type/relationalexpression-in-shiftexpression-0.case new file mode 100644 index 0000000000..8512ab287e --- /dev/null +++ b/src/assignment-target-type/relationalexpression-in-shiftexpression-0.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-relational-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + RelationalExpression in ShiftExpression + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +x in y +//- operator += +//- value +1 diff --git a/src/assignment-target-type/relationalexpression-in-shiftexpression-1.case b/src/assignment-target-type/relationalexpression-in-shiftexpression-1.case new file mode 100644 index 0000000000..d64000d76f --- /dev/null +++ b/src/assignment-target-type/relationalexpression-in-shiftexpression-1.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-relational-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + RelationalExpression in ShiftExpression + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +1 in 2 +//- operator += +//- value +1 diff --git a/src/assignment-target-type/relationalexpression-in-shiftexpression-2.case b/src/assignment-target-type/relationalexpression-in-shiftexpression-2.case new file mode 100644 index 0000000000..ce4af3902f --- /dev/null +++ b/src/assignment-target-type/relationalexpression-in-shiftexpression-2.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-relational-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + RelationalExpression in ShiftExpression + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +true in false +//- operator += +//- value +1 diff --git a/src/assignment-target-type/relationalexpression-instanceof-shiftexpression-0.case b/src/assignment-target-type/relationalexpression-instanceof-shiftexpression-0.case new file mode 100644 index 0000000000..66d6505455 --- /dev/null +++ b/src/assignment-target-type/relationalexpression-instanceof-shiftexpression-0.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-relational-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + RelationalExpression instanceof ShiftExpression + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +x instanceof y +//- operator += +//- value +1 diff --git a/src/assignment-target-type/relationalexpression-instanceof-shiftexpression-1.case b/src/assignment-target-type/relationalexpression-instanceof-shiftexpression-1.case new file mode 100644 index 0000000000..82239dd147 --- /dev/null +++ b/src/assignment-target-type/relationalexpression-instanceof-shiftexpression-1.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-relational-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + RelationalExpression instanceof ShiftExpression + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +1 instanceof 2 +//- operator += +//- value +1 diff --git a/src/assignment-target-type/relationalexpression-instanceof-shiftexpression-2.case b/src/assignment-target-type/relationalexpression-instanceof-shiftexpression-2.case new file mode 100644 index 0000000000..cfd5d469c0 --- /dev/null +++ b/src/assignment-target-type/relationalexpression-instanceof-shiftexpression-2.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-relational-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + RelationalExpression instanceof ShiftExpression + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +true instanceof false +//- operator += +//- value +1 diff --git a/src/assignment-target-type/relationalexpression-less-than-or-equal-to-shiftexpression-0.case b/src/assignment-target-type/relationalexpression-less-than-or-equal-to-shiftexpression-0.case new file mode 100644 index 0000000000..fa5feb110e --- /dev/null +++ b/src/assignment-target-type/relationalexpression-less-than-or-equal-to-shiftexpression-0.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-relational-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + RelationalExpression <= ShiftExpression + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +x <= y +//- operator += +//- value +1 diff --git a/src/assignment-target-type/relationalexpression-less-than-or-equal-to-shiftexpression-1.case b/src/assignment-target-type/relationalexpression-less-than-or-equal-to-shiftexpression-1.case new file mode 100644 index 0000000000..cc0c8dded9 --- /dev/null +++ b/src/assignment-target-type/relationalexpression-less-than-or-equal-to-shiftexpression-1.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-relational-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + RelationalExpression <= ShiftExpression + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +1 <= 2 +//- operator += +//- value +1 diff --git a/src/assignment-target-type/relationalexpression-less-than-or-equal-to-shiftexpression-2.case b/src/assignment-target-type/relationalexpression-less-than-or-equal-to-shiftexpression-2.case new file mode 100644 index 0000000000..c3de644c6d --- /dev/null +++ b/src/assignment-target-type/relationalexpression-less-than-or-equal-to-shiftexpression-2.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-relational-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + RelationalExpression <= ShiftExpression + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +true <= false +//- operator += +//- value +1 diff --git a/src/assignment-target-type/relationalexpression-less-than-shiftexpression-0.case b/src/assignment-target-type/relationalexpression-less-than-shiftexpression-0.case new file mode 100644 index 0000000000..3037750a6b --- /dev/null +++ b/src/assignment-target-type/relationalexpression-less-than-shiftexpression-0.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-relational-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + RelationalExpression < ShiftExpression + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +x < y +//- operator += +//- value +1 diff --git a/src/assignment-target-type/relationalexpression-less-than-shiftexpression-1.case b/src/assignment-target-type/relationalexpression-less-than-shiftexpression-1.case new file mode 100644 index 0000000000..673e4050f3 --- /dev/null +++ b/src/assignment-target-type/relationalexpression-less-than-shiftexpression-1.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-relational-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + RelationalExpression < ShiftExpression + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +1 < 2 +//- operator += +//- value +1 diff --git a/src/assignment-target-type/relationalexpression-less-than-shiftexpression-2.case b/src/assignment-target-type/relationalexpression-less-than-shiftexpression-2.case new file mode 100644 index 0000000000..4d96dd9830 --- /dev/null +++ b/src/assignment-target-type/relationalexpression-less-than-shiftexpression-2.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-relational-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + RelationalExpression < ShiftExpression + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +true < false +//- operator += +//- value +1 diff --git a/src/assignment-target-type/shiftexpression-bitwise-left-additiveexpression-0.case b/src/assignment-target-type/shiftexpression-bitwise-left-additiveexpression-0.case new file mode 100644 index 0000000000..1b3ee0ee8a --- /dev/null +++ b/src/assignment-target-type/shiftexpression-bitwise-left-additiveexpression-0.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-bitwise-shift-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + ShiftExpression << AdditiveExpression + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +x << y +//- operator += +//- value +1 diff --git a/src/assignment-target-type/shiftexpression-bitwise-left-additiveexpression-1.case b/src/assignment-target-type/shiftexpression-bitwise-left-additiveexpression-1.case new file mode 100644 index 0000000000..befdf16da5 --- /dev/null +++ b/src/assignment-target-type/shiftexpression-bitwise-left-additiveexpression-1.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-bitwise-shift-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + ShiftExpression << AdditiveExpression + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +1 << 2 +//- operator += +//- value +1 diff --git a/src/assignment-target-type/shiftexpression-bitwise-left-additiveexpression-2.case b/src/assignment-target-type/shiftexpression-bitwise-left-additiveexpression-2.case new file mode 100644 index 0000000000..b9d8a42c8f --- /dev/null +++ b/src/assignment-target-type/shiftexpression-bitwise-left-additiveexpression-2.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-bitwise-shift-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + ShiftExpression << AdditiveExpression + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +true << false +//- operator += +//- value +1 diff --git a/src/assignment-target-type/shiftexpression-bitwise-right-additiveexpression-0.case b/src/assignment-target-type/shiftexpression-bitwise-right-additiveexpression-0.case new file mode 100644 index 0000000000..62159496b7 --- /dev/null +++ b/src/assignment-target-type/shiftexpression-bitwise-right-additiveexpression-0.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-bitwise-shift-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + ShiftExpression >> AdditiveExpression + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +x >> y +//- operator += +//- value +1 diff --git a/src/assignment-target-type/shiftexpression-bitwise-right-additiveexpression-1.case b/src/assignment-target-type/shiftexpression-bitwise-right-additiveexpression-1.case new file mode 100644 index 0000000000..7125f8de55 --- /dev/null +++ b/src/assignment-target-type/shiftexpression-bitwise-right-additiveexpression-1.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-bitwise-shift-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + ShiftExpression >> AdditiveExpression + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +1 >> 2 +//- operator += +//- value +1 diff --git a/src/assignment-target-type/shiftexpression-bitwise-right-additiveexpression-2.case b/src/assignment-target-type/shiftexpression-bitwise-right-additiveexpression-2.case new file mode 100644 index 0000000000..8970c1b4c7 --- /dev/null +++ b/src/assignment-target-type/shiftexpression-bitwise-right-additiveexpression-2.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-bitwise-shift-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + ShiftExpression >> AdditiveExpression + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +true >> false +//- operator += +//- value +1 diff --git a/src/assignment-target-type/shiftexpression-unsigned-bitwise-right-additiveexpression-0.case b/src/assignment-target-type/shiftexpression-unsigned-bitwise-right-additiveexpression-0.case new file mode 100644 index 0000000000..3da96998e0 --- /dev/null +++ b/src/assignment-target-type/shiftexpression-unsigned-bitwise-right-additiveexpression-0.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-bitwise-shift-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + ShiftExpression >>> AdditiveExpression + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +x >>> y +//- operator += +//- value +1 diff --git a/src/assignment-target-type/shiftexpression-unsigned-bitwise-right-additiveexpression-1.case b/src/assignment-target-type/shiftexpression-unsigned-bitwise-right-additiveexpression-1.case new file mode 100644 index 0000000000..22a2942c80 --- /dev/null +++ b/src/assignment-target-type/shiftexpression-unsigned-bitwise-right-additiveexpression-1.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-bitwise-shift-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + ShiftExpression >>> AdditiveExpression + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +1 >>> 2 +//- operator += +//- value +1 diff --git a/src/assignment-target-type/shiftexpression-unsigned-bitwise-right-additiveexpression-2.case b/src/assignment-target-type/shiftexpression-unsigned-bitwise-right-additiveexpression-2.case new file mode 100644 index 0000000000..c6e7e78325 --- /dev/null +++ b/src/assignment-target-type/shiftexpression-unsigned-bitwise-right-additiveexpression-2.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-bitwise-shift-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + ShiftExpression >>> AdditiveExpression + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +true >>> false +//- operator += +//- value +1 diff --git a/src/assignment-target-type/shortcircuitexpression-question-assignmentexpression-else-assignmentexpression-0.case b/src/assignment-target-type/shortcircuitexpression-question-assignmentexpression-else-assignmentexpression-0.case new file mode 100644 index 0000000000..34bd7acb19 --- /dev/null +++ b/src/assignment-target-type/shortcircuitexpression-question-assignmentexpression-else-assignmentexpression-0.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-conditional-operator-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + ShortCircuitExpression ? AssignmentExpression : AssignmentExpression + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +(x ? y : z) +//- operator += +//- value +1 diff --git a/src/assignment-target-type/shortcircuitexpression-question-assignmentexpression-else-assignmentexpression-1.case b/src/assignment-target-type/shortcircuitexpression-question-assignmentexpression-else-assignmentexpression-1.case new file mode 100644 index 0000000000..3c11a3326b --- /dev/null +++ b/src/assignment-target-type/shortcircuitexpression-question-assignmentexpression-else-assignmentexpression-1.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-conditional-operator-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + ShortCircuitExpression ? AssignmentExpression : AssignmentExpression + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +(1 ? 2 : 3) +//- operator += +//- value +1 diff --git a/src/assignment-target-type/shortcircuitexpression-question-assignmentexpression-else-assignmentexpression-2.case b/src/assignment-target-type/shortcircuitexpression-question-assignmentexpression-else-assignmentexpression-2.case new file mode 100644 index 0000000000..9c6e1fa65e --- /dev/null +++ b/src/assignment-target-type/shortcircuitexpression-question-assignmentexpression-else-assignmentexpression-2.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-conditional-operator-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + ShortCircuitExpression ? AssignmentExpression : AssignmentExpression + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +(true ? false : true) +//- operator += +//- value +1 diff --git a/src/assignment-target-type/simple/basic/default.template b/src/assignment-target-type/simple/basic/default.template new file mode 100644 index 0000000000..7990cc62d1 --- /dev/null +++ b/src/assignment-target-type/simple/basic/default.template @@ -0,0 +1,10 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +path: language/expressions/assignmenttargettype/simple-basic- +name: Simple + Direct assignment +---*/ + +/*{ assignmenttarget }*/ = 1; diff --git a/src/assignment-target-type/simple/complex/default.template b/src/assignment-target-type/simple/complex/default.template new file mode 100644 index 0000000000..705123b9c1 --- /dev/null +++ b/src/assignment-target-type/simple/complex/default.template @@ -0,0 +1,14 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +path: language/expressions/assignmenttargettype/simple-complex- +name: Simple + Direct assignment +---*/ + +let v = 'v'; +let o = { [v]: 1, f() {} }; +let f = () => o; + +/*{ assignmenttarget }*/ /*{ operator }*/ /*{ value }*/; diff --git a/src/assignment-target-type/unaryexpression-delete-unaryexpression.case b/src/assignment-target-type/unaryexpression-delete-unaryexpression.case new file mode 100644 index 0000000000..2ed73d6397 --- /dev/null +++ b/src/assignment-target-type/unaryexpression-delete-unaryexpression.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-unary-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid +info: | + UnaryExpression: delete UnaryExpression + Static Semantics AssignmentTargetType, Return invalid +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +delete x.y +//- operator += +//- value +1 diff --git a/src/assignment-target-type/unaryexpression-exclamation-unaryexpression-0.case b/src/assignment-target-type/unaryexpression-exclamation-unaryexpression-0.case new file mode 100644 index 0000000000..eb702d1b8a --- /dev/null +++ b/src/assignment-target-type/unaryexpression-exclamation-unaryexpression-0.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-unary-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid +info: | + UnaryExpression: ! UnaryExpression + Static Semantics AssignmentTargetType, Return invalid +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +!x +//- operator += +//- value +1 diff --git a/src/assignment-target-type/unaryexpression-exclamation-unaryexpression-1.case b/src/assignment-target-type/unaryexpression-exclamation-unaryexpression-1.case new file mode 100644 index 0000000000..70b782fde7 --- /dev/null +++ b/src/assignment-target-type/unaryexpression-exclamation-unaryexpression-1.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-unary-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid +info: | + UnaryExpression: ! UnaryExpression + Static Semantics AssignmentTargetType, Return invalid +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +!1 +//- operator += +//- value +1 diff --git a/src/assignment-target-type/unaryexpression-exclamation-unaryexpression-2.case b/src/assignment-target-type/unaryexpression-exclamation-unaryexpression-2.case new file mode 100644 index 0000000000..a2250ca355 --- /dev/null +++ b/src/assignment-target-type/unaryexpression-exclamation-unaryexpression-2.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-unary-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid +info: | + UnaryExpression: ! UnaryExpression + Static Semantics AssignmentTargetType, Return invalid +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +!true +//- operator += +//- value +1 diff --git a/src/assignment-target-type/unaryexpression-minus-unaryexpression-0.case b/src/assignment-target-type/unaryexpression-minus-unaryexpression-0.case new file mode 100644 index 0000000000..e40b2a61b6 --- /dev/null +++ b/src/assignment-target-type/unaryexpression-minus-unaryexpression-0.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-unary-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid +info: | + UnaryExpression: - UnaryExpression + Static Semantics AssignmentTargetType, Return invalid +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +-x +//- operator += +//- value +1 diff --git a/src/assignment-target-type/unaryexpression-minus-unaryexpression-1.case b/src/assignment-target-type/unaryexpression-minus-unaryexpression-1.case new file mode 100644 index 0000000000..82c7146bf5 --- /dev/null +++ b/src/assignment-target-type/unaryexpression-minus-unaryexpression-1.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-unary-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid +info: | + UnaryExpression: - UnaryExpression + Static Semantics AssignmentTargetType, Return invalid +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +-1 +//- operator += +//- value +1 diff --git a/src/assignment-target-type/unaryexpression-minus-unaryexpression-2.case b/src/assignment-target-type/unaryexpression-minus-unaryexpression-2.case new file mode 100644 index 0000000000..a2c262a63d --- /dev/null +++ b/src/assignment-target-type/unaryexpression-minus-unaryexpression-2.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-unary-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid +info: | + UnaryExpression: - UnaryExpression + Static Semantics AssignmentTargetType, Return invalid +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +-true +//- operator += +//- value +1 diff --git a/src/assignment-target-type/unaryexpression-plus-unaryexpression-0.case b/src/assignment-target-type/unaryexpression-plus-unaryexpression-0.case new file mode 100644 index 0000000000..d9736e78b0 --- /dev/null +++ b/src/assignment-target-type/unaryexpression-plus-unaryexpression-0.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-unary-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid +info: | + UnaryExpression: + UnaryExpression + Static Semantics AssignmentTargetType, Return invalid +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget ++x +//- operator += +//- value +1 diff --git a/src/assignment-target-type/unaryexpression-plus-unaryexpression-1.case b/src/assignment-target-type/unaryexpression-plus-unaryexpression-1.case new file mode 100644 index 0000000000..f985814c84 --- /dev/null +++ b/src/assignment-target-type/unaryexpression-plus-unaryexpression-1.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-unary-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid +info: | + UnaryExpression: + UnaryExpression + Static Semantics AssignmentTargetType, Return invalid +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget ++1 +//- operator += +//- value +1 diff --git a/src/assignment-target-type/unaryexpression-plus-unaryexpression-2.case b/src/assignment-target-type/unaryexpression-plus-unaryexpression-2.case new file mode 100644 index 0000000000..d7997876d6 --- /dev/null +++ b/src/assignment-target-type/unaryexpression-plus-unaryexpression-2.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-unary-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid +info: | + UnaryExpression: + UnaryExpression + Static Semantics AssignmentTargetType, Return invalid +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget ++true +//- operator += +//- value +1 diff --git a/src/assignment-target-type/unaryexpression-tilde-unaryexpression-0.case b/src/assignment-target-type/unaryexpression-tilde-unaryexpression-0.case new file mode 100644 index 0000000000..02068b4a10 --- /dev/null +++ b/src/assignment-target-type/unaryexpression-tilde-unaryexpression-0.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-unary-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid +info: | + UnaryExpression: ~ UnaryExpression + Static Semantics AssignmentTargetType, Return invalid +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +~x +//- operator += +//- value +1 diff --git a/src/assignment-target-type/unaryexpression-tilde-unaryexpression-1.case b/src/assignment-target-type/unaryexpression-tilde-unaryexpression-1.case new file mode 100644 index 0000000000..6c33457933 --- /dev/null +++ b/src/assignment-target-type/unaryexpression-tilde-unaryexpression-1.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-unary-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid +info: | + UnaryExpression: ~ UnaryExpression + Static Semantics AssignmentTargetType, Return invalid +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +~1 +//- operator += +//- value +1 diff --git a/src/assignment-target-type/unaryexpression-tilde-unaryexpression-2.case b/src/assignment-target-type/unaryexpression-tilde-unaryexpression-2.case new file mode 100644 index 0000000000..a0c9b48c36 --- /dev/null +++ b/src/assignment-target-type/unaryexpression-tilde-unaryexpression-2.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-unary-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid +info: | + UnaryExpression: ~ UnaryExpression + Static Semantics AssignmentTargetType, Return invalid +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +~true +//- operator += +//- value +1 diff --git a/src/assignment-target-type/unaryexpression-typeof-unaryexpression-0.case b/src/assignment-target-type/unaryexpression-typeof-unaryexpression-0.case new file mode 100644 index 0000000000..15754d6983 --- /dev/null +++ b/src/assignment-target-type/unaryexpression-typeof-unaryexpression-0.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-unary-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid +info: | + UnaryExpression: typeof UnaryExpression + Static Semantics AssignmentTargetType, Return invalid +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +typeof x +//- operator += +//- value +1 diff --git a/src/assignment-target-type/unaryexpression-typeof-unaryexpression-1.case b/src/assignment-target-type/unaryexpression-typeof-unaryexpression-1.case new file mode 100644 index 0000000000..771e8669fb --- /dev/null +++ b/src/assignment-target-type/unaryexpression-typeof-unaryexpression-1.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-unary-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid +info: | + UnaryExpression: typeof UnaryExpression + Static Semantics AssignmentTargetType, Return invalid +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +typeof 1 +//- operator += +//- value +1 diff --git a/src/assignment-target-type/unaryexpression-typeof-unaryexpression-2.case b/src/assignment-target-type/unaryexpression-typeof-unaryexpression-2.case new file mode 100644 index 0000000000..1a2e195f98 --- /dev/null +++ b/src/assignment-target-type/unaryexpression-typeof-unaryexpression-2.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-unary-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid +info: | + UnaryExpression: typeof UnaryExpression + Static Semantics AssignmentTargetType, Return invalid +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +typeof true +//- operator += +//- value +1 diff --git a/src/assignment-target-type/unaryexpression-void-unaryexpression-0.case b/src/assignment-target-type/unaryexpression-void-unaryexpression-0.case new file mode 100644 index 0000000000..5e020640a5 --- /dev/null +++ b/src/assignment-target-type/unaryexpression-void-unaryexpression-0.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-unary-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid +info: | + UnaryExpression: void UnaryExpression + Static Semantics AssignmentTargetType, Return invalid +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +void x +//- operator += +//- value +1 diff --git a/src/assignment-target-type/unaryexpression-void-unaryexpression-1.case b/src/assignment-target-type/unaryexpression-void-unaryexpression-1.case new file mode 100644 index 0000000000..e715b58925 --- /dev/null +++ b/src/assignment-target-type/unaryexpression-void-unaryexpression-1.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-unary-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid +info: | + UnaryExpression: void UnaryExpression + Static Semantics AssignmentTargetType, Return invalid +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +void 1 +//- operator += +//- value +1 diff --git a/src/assignment-target-type/unaryexpression-void-unaryexpression-2.case b/src/assignment-target-type/unaryexpression-void-unaryexpression-2.case new file mode 100644 index 0000000000..8334e747f9 --- /dev/null +++ b/src/assignment-target-type/unaryexpression-void-unaryexpression-2.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-unary-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid +info: | + UnaryExpression: void UnaryExpression + Static Semantics AssignmentTargetType, Return invalid +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +void true +//- operator += +//- value +1 diff --git a/src/assignment-target-type/updateexpression-star-star-exponentiationexpression-0.case b/src/assignment-target-type/updateexpression-star-star-exponentiationexpression-0.case new file mode 100644 index 0000000000..800f8afe82 --- /dev/null +++ b/src/assignment-target-type/updateexpression-star-star-exponentiationexpression-0.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-exp-operator-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + UpdateExpression ** ExponentiationExpression + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +x ** y +//- operator += +//- value +1 diff --git a/src/assignment-target-type/updateexpression-star-star-exponentiationexpression-1.case b/src/assignment-target-type/updateexpression-star-star-exponentiationexpression-1.case new file mode 100644 index 0000000000..fdbb6f50ad --- /dev/null +++ b/src/assignment-target-type/updateexpression-star-star-exponentiationexpression-1.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-exp-operator-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + UpdateExpression ** ExponentiationExpression + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +1 ** 2 +//- operator += +//- value +1 diff --git a/src/assignment-target-type/updateexpression-star-star-exponentiationexpression-2.case b/src/assignment-target-type/updateexpression-star-star-exponentiationexpression-2.case new file mode 100644 index 0000000000..92c51c0e5c --- /dev/null +++ b/src/assignment-target-type/updateexpression-star-star-exponentiationexpression-2.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-exp-operator-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + UpdateExpression ** ExponentiationExpression + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +true ** false +//- operator += +//- value +1 diff --git a/src/assignment-target-type/yieldexpression-0.case b/src/assignment-target-type/yieldexpression-0.case new file mode 100644 index 0000000000..437d87c23d --- /dev/null +++ b/src/assignment-target-type/yieldexpression-0.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-assignment-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + YieldExpression + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +yield x +//- operator += +//- value +1 diff --git a/src/assignment-target-type/yieldexpression-1.case b/src/assignment-target-type/yieldexpression-1.case new file mode 100644 index 0000000000..1a7c58d964 --- /dev/null +++ b/src/assignment-target-type/yieldexpression-1.case @@ -0,0 +1,22 @@ +// Copyright (C) 2020 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-assignment-operators-static-semantics-assignmenttargettype +desc: > + Static Semantics AssignmentTargetType, Return invalid. +info: | + YieldExpression + Static Semantics AssignmentTargetType, Return invalid. +template: invalid +negative: + phase: parse + type: SyntaxError +---*/ + +//- assignmenttarget +yield * x +//- operator += +//- value +1