Update test to parse typeAssertion as simpleUnaryExpression

This commit is contained in:
Yui T
2015-10-06 15:29:21 -07:00
parent d96a00e4b8
commit 8be77b448f
11 changed files with 201 additions and 123 deletions

View File

@@ -1,15 +1,16 @@
//// [emitExponentiationOperator4.ts]
var temp: any;
<number>--temp ** 3;
<number>++temp ** 3;
<number>temp-- ** 3;
<number>temp++ ** 3;
(<number>temp) ** 3;
(<number>--temp) ** 3;
(<number>++temp) ** 3;
(<number>temp--) ** 3;
(<number>temp++) ** 3;
1 ** <number>--temp ** 3;
1 ** <number>++temp ** 3;
1 ** <number>temp-- ** 3;
1 ** <number>temp++ ** 3;
1 ** (<number>--temp) ** 3;
1 ** (<number>++temp) ** 3;
1 ** (<number>temp--) ** 3;
1 ** (<number>temp++) ** 3;
(void --temp) ** 3;
(void temp--) ** 3;
@@ -38,14 +39,15 @@ var temp: any;
//// [emitExponentiationOperator4.js]
var temp;
Math.pow(--temp, 3);
Math.pow(++temp, 3);
Math.pow(temp--, 3);
Math.pow(temp++, 3);
Math.pow(1, Math.pow(--temp, 3));
Math.pow(1, Math.pow(++temp, 3));
Math.pow(1, Math.pow(temp--, 3));
Math.pow(1, Math.pow(temp++, 3));
Math.pow(temp, 3);
Math.pow((--temp), 3);
Math.pow((++temp), 3);
Math.pow((temp--), 3);
Math.pow((temp++), 3);
Math.pow(1, Math.pow((--temp), 3));
Math.pow(1, Math.pow((++temp), 3));
Math.pow(1, Math.pow((temp--), 3));
Math.pow(1, Math.pow((temp++), 3));
Math.pow((void --temp), 3);
Math.pow((void temp--), 3);
Math.pow((void 3), 4);

View File

@@ -2,28 +2,31 @@
var temp: any;
>temp : Symbol(temp, Decl(emitExponentiationOperator4.ts, 0, 3))
<number>--temp ** 3;
(<number>temp) ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator4.ts, 0, 3))
<number>++temp ** 3;
(<number>--temp) ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator4.ts, 0, 3))
<number>temp-- ** 3;
(<number>++temp) ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator4.ts, 0, 3))
<number>temp++ ** 3;
(<number>temp--) ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator4.ts, 0, 3))
1 ** <number>--temp ** 3;
(<number>temp++) ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator4.ts, 0, 3))
1 ** <number>++temp ** 3;
1 ** (<number>--temp) ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator4.ts, 0, 3))
1 ** <number>temp-- ** 3;
1 ** (<number>++temp) ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator4.ts, 0, 3))
1 ** <number>temp++ ** 3;
1 ** (<number>temp--) ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator4.ts, 0, 3))
1 ** (<number>temp++) ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator4.ts, 0, 3))
(void --temp) ** 3;

View File

@@ -2,66 +2,81 @@
var temp: any;
>temp : any
<number>--temp ** 3;
><number>--temp ** 3 : number
>--temp ** 3 : number
(<number>temp) ** 3;
>(<number>temp) ** 3 : number
>(<number>temp) : number
><number>temp : number
>temp : any
>3 : number
(<number>--temp) ** 3;
>(<number>--temp) ** 3 : number
>(<number>--temp) : number
><number>--temp : number
>--temp : number
>temp : any
>3 : number
<number>++temp ** 3;
><number>++temp ** 3 : number
>++temp ** 3 : number
(<number>++temp) ** 3;
>(<number>++temp) ** 3 : number
>(<number>++temp) : number
><number>++temp : number
>++temp : number
>temp : any
>3 : number
<number>temp-- ** 3;
><number>temp-- ** 3 : number
>temp-- ** 3 : number
(<number>temp--) ** 3;
>(<number>temp--) ** 3 : number
>(<number>temp--) : number
><number>temp-- : number
>temp-- : number
>temp : any
>3 : number
<number>temp++ ** 3;
><number>temp++ ** 3 : number
>temp++ ** 3 : number
(<number>temp++) ** 3;
>(<number>temp++) ** 3 : number
>(<number>temp++) : number
><number>temp++ : number
>temp++ : number
>temp : any
>3 : number
1 ** <number>--temp ** 3;
>1 ** <number>--temp ** 3 : number
1 ** (<number>--temp) ** 3;
>1 ** (<number>--temp) ** 3 : number
>1 : number
><number>--temp ** 3 : number
>--temp ** 3 : number
>(<number>--temp) ** 3 : number
>(<number>--temp) : number
><number>--temp : number
>--temp : number
>temp : any
>3 : number
1 ** <number>++temp ** 3;
>1 ** <number>++temp ** 3 : number
1 ** (<number>++temp) ** 3;
>1 ** (<number>++temp) ** 3 : number
>1 : number
><number>++temp ** 3 : number
>++temp ** 3 : number
>(<number>++temp) ** 3 : number
>(<number>++temp) : number
><number>++temp : number
>++temp : number
>temp : any
>3 : number
1 ** <number>temp-- ** 3;
>1 ** <number>temp-- ** 3 : number
1 ** (<number>temp--) ** 3;
>1 ** (<number>temp--) ** 3 : number
>1 : number
><number>temp-- ** 3 : number
>temp-- ** 3 : number
>(<number>temp--) ** 3 : number
>(<number>temp--) : number
><number>temp-- : number
>temp-- : number
>temp : any
>3 : number
1 ** <number>temp++ ** 3;
>1 ** <number>temp++ ** 3 : number
1 ** (<number>temp++) ** 3;
>1 ** (<number>temp++) ** 3 : number
>1 : number
><number>temp++ ** 3 : number
>temp++ ** 3 : number
>(<number>temp++) ** 3 : number
>(<number>temp++) : number
><number>temp++ : number
>temp++ : number
>temp : any
>3 : number

View File

@@ -1,15 +1,16 @@
//// [emitExponentiationOperator4ES7.ts]
var temp: any;
<number>--temp ** 3;
<number>++temp ** 3;
<number>temp-- ** 3;
<number>temp++ ** 3;
(<number>temp) ** 3;
(<number>--temp) ** 3;
(<number>++temp) ** 3;
(<number>temp--) ** 3;
(<number>temp++) ** 3;
1 ** <number>--temp ** 3;
1 ** <number>++temp ** 3;
1 ** <number>temp-- ** 3;
1 ** <number>temp++ ** 3;
1 ** (<number>--temp) ** 3;
1 ** (<number>++temp) ** 3;
1 ** (<number>temp--) ** 3;
1 ** (<number>temp++) ** 3;
(void --temp) ** 3;
(void temp--) ** 3;
@@ -38,14 +39,15 @@ var temp: any;
//// [emitExponentiationOperator4ES7.js]
var temp;
--temp ** 3;
++temp ** 3;
temp-- ** 3;
temp++ ** 3;
1 ** --temp ** 3;
1 ** ++temp ** 3;
1 ** temp-- ** 3;
1 ** temp++ ** 3;
temp ** 3;
(--temp) ** 3;
(++temp) ** 3;
(temp--) ** 3;
(temp++) ** 3;
1 ** (--temp) ** 3;
1 ** (++temp) ** 3;
1 ** (temp--) ** 3;
1 ** (temp++) ** 3;
(void --temp) ** 3;
(void temp--) ** 3;
(void 3) ** 4;

View File

@@ -2,28 +2,31 @@
var temp: any;
>temp : Symbol(temp, Decl(emitExponentiationOperator4ES7.ts, 0, 3))
<number>--temp ** 3;
(<number>temp) ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator4ES7.ts, 0, 3))
<number>++temp ** 3;
(<number>--temp) ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator4ES7.ts, 0, 3))
<number>temp-- ** 3;
(<number>++temp) ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator4ES7.ts, 0, 3))
<number>temp++ ** 3;
(<number>temp--) ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator4ES7.ts, 0, 3))
1 ** <number>--temp ** 3;
(<number>temp++) ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator4ES7.ts, 0, 3))
1 ** <number>++temp ** 3;
1 ** (<number>--temp) ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator4ES7.ts, 0, 3))
1 ** <number>temp-- ** 3;
1 ** (<number>++temp) ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator4ES7.ts, 0, 3))
1 ** <number>temp++ ** 3;
1 ** (<number>temp--) ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator4ES7.ts, 0, 3))
1 ** (<number>temp++) ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator4ES7.ts, 0, 3))
(void --temp) ** 3;

View File

@@ -2,66 +2,81 @@
var temp: any;
>temp : any
<number>--temp ** 3;
><number>--temp ** 3 : number
>--temp ** 3 : number
(<number>temp) ** 3;
>(<number>temp) ** 3 : number
>(<number>temp) : number
><number>temp : number
>temp : any
>3 : number
(<number>--temp) ** 3;
>(<number>--temp) ** 3 : number
>(<number>--temp) : number
><number>--temp : number
>--temp : number
>temp : any
>3 : number
<number>++temp ** 3;
><number>++temp ** 3 : number
>++temp ** 3 : number
(<number>++temp) ** 3;
>(<number>++temp) ** 3 : number
>(<number>++temp) : number
><number>++temp : number
>++temp : number
>temp : any
>3 : number
<number>temp-- ** 3;
><number>temp-- ** 3 : number
>temp-- ** 3 : number
(<number>temp--) ** 3;
>(<number>temp--) ** 3 : number
>(<number>temp--) : number
><number>temp-- : number
>temp-- : number
>temp : any
>3 : number
<number>temp++ ** 3;
><number>temp++ ** 3 : number
>temp++ ** 3 : number
(<number>temp++) ** 3;
>(<number>temp++) ** 3 : number
>(<number>temp++) : number
><number>temp++ : number
>temp++ : number
>temp : any
>3 : number
1 ** <number>--temp ** 3;
>1 ** <number>--temp ** 3 : number
1 ** (<number>--temp) ** 3;
>1 ** (<number>--temp) ** 3 : number
>1 : number
><number>--temp ** 3 : number
>--temp ** 3 : number
>(<number>--temp) ** 3 : number
>(<number>--temp) : number
><number>--temp : number
>--temp : number
>temp : any
>3 : number
1 ** <number>++temp ** 3;
>1 ** <number>++temp ** 3 : number
1 ** (<number>++temp) ** 3;
>1 ** (<number>++temp) ** 3 : number
>1 : number
><number>++temp ** 3 : number
>++temp ** 3 : number
>(<number>++temp) ** 3 : number
>(<number>++temp) : number
><number>++temp : number
>++temp : number
>temp : any
>3 : number
1 ** <number>temp-- ** 3;
>1 ** <number>temp-- ** 3 : number
1 ** (<number>temp--) ** 3;
>1 ** (<number>temp--) ** 3 : number
>1 : number
><number>temp-- ** 3 : number
>temp-- ** 3 : number
>(<number>temp--) ** 3 : number
>(<number>temp--) : number
><number>temp-- : number
>temp-- : number
>temp : any
>3 : number
1 ** <number>temp++ ** 3;
>1 ** <number>temp++ ** 3 : number
1 ** (<number>temp++) ** 3;
>1 ** (<number>temp++) ** 3 : number
>1 : number
><number>temp++ ** 3 : number
>temp++ ** 3 : number
>(<number>temp++) ** 3 : number
>(<number>temp++) : number
><number>temp++ : number
>temp++ : number
>temp : any
>3 : number

View File

@@ -74,9 +74,14 @@ tests/cases/conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxE
tests/cases/conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts(61,14): error TS17006: Left hand side of '**' cannot be a simple unary expression. Consider parenthesize the expression.
tests/cases/conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts(62,6): error TS2362: The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type.
tests/cases/conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts(62,14): error TS17006: Left hand side of '**' cannot be a simple unary expression. Consider parenthesize the expression.
tests/cases/conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts(64,14): error TS17006: Left hand side of '**' cannot be a simple unary expression. Consider parenthesize the expression.
tests/cases/conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts(65,16): error TS17006: Left hand side of '**' cannot be a simple unary expression. Consider parenthesize the expression.
tests/cases/conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts(66,16): error TS17006: Left hand side of '**' cannot be a simple unary expression. Consider parenthesize the expression.
tests/cases/conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts(67,16): error TS17006: Left hand side of '**' cannot be a simple unary expression. Consider parenthesize the expression.
tests/cases/conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts(68,16): error TS17006: Left hand side of '**' cannot be a simple unary expression. Consider parenthesize the expression.
==== tests/cases/conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts (76 errors) ====
==== tests/cases/conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts (81 errors) ====
// Error: early syntax error using ES7 SimpleUnaryExpression on left-hand side without ()
var temp;
@@ -291,4 +296,19 @@ tests/cases/conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxE
!!! error TS2362: The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type.
~~
!!! error TS17006: Left hand side of '**' cannot be a simple unary expression. Consider parenthesize the expression.
<number>temp ** 3;
~~
!!! error TS17006: Left hand side of '**' cannot be a simple unary expression. Consider parenthesize the expression.
<number>++temp ** 3;
~~
!!! error TS17006: Left hand side of '**' cannot be a simple unary expression. Consider parenthesize the expression.
<number>--temp ** 3;
~~
!!! error TS17006: Left hand side of '**' cannot be a simple unary expression. Consider parenthesize the expression.
<number>temp++ ** 3;
~~
!!! error TS17006: Left hand side of '**' cannot be a simple unary expression. Consider parenthesize the expression.
<number>temp-- ** 3;
~~
!!! error TS17006: Left hand side of '**' cannot be a simple unary expression. Consider parenthesize the expression.

View File

@@ -61,7 +61,12 @@ void temp-- ** 4;
1 ** !3 ** 4;
1 ** !temp++ ** 4;
1 ** !temp-- ** 4;
<number>temp ** 3;
<number>++temp ** 3;
<number>--temp ** 3;
<number>temp++ ** 3;
<number>temp-- ** 3;
//// [exponentiationOperatorSyntaxError2.js]
// Error: early syntax error using ES7 SimpleUnaryExpression on left-hand side without ()
@@ -114,3 +119,8 @@ Math.pow(1, Math.pow(!temp--, 3));
Math.pow(1, Math.pow(!3, 4));
Math.pow(1, Math.pow(!temp++, 4));
Math.pow(1, Math.pow(!temp--, 4));
Math.pow(temp, 3);
Math.pow(++temp, 3);
Math.pow(--temp, 3);
Math.pow(temp++, 3);
Math.pow(temp--, 3);

View File

@@ -1,15 +1,16 @@
// @target: es5
var temp: any;
<number>--temp ** 3;
<number>++temp ** 3;
<number>temp-- ** 3;
<number>temp++ ** 3;
(<number>temp) ** 3;
(<number>--temp) ** 3;
(<number>++temp) ** 3;
(<number>temp--) ** 3;
(<number>temp++) ** 3;
1 ** <number>--temp ** 3;
1 ** <number>++temp ** 3;
1 ** <number>temp-- ** 3;
1 ** <number>temp++ ** 3;
1 ** (<number>--temp) ** 3;
1 ** (<number>++temp) ** 3;
1 ** (<number>temp--) ** 3;
1 ** (<number>temp++) ** 3;
(void --temp) ** 3;
(void temp--) ** 3;

View File

@@ -1,15 +1,16 @@
// @target: es7
var temp: any;
<number>--temp ** 3;
<number>++temp ** 3;
<number>temp-- ** 3;
<number>temp++ ** 3;
(<number>temp) ** 3;
(<number>--temp) ** 3;
(<number>++temp) ** 3;
(<number>temp--) ** 3;
(<number>temp++) ** 3;
1 ** <number>--temp ** 3;
1 ** <number>++temp ** 3;
1 ** <number>temp-- ** 3;
1 ** <number>temp++ ** 3;
1 ** (<number>--temp) ** 3;
1 ** (<number>++temp) ** 3;
1 ** (<number>temp--) ** 3;
1 ** (<number>temp++) ** 3;
(void --temp) ** 3;
(void temp--) ** 3;

View File

@@ -61,3 +61,9 @@ void temp-- ** 4;
1 ** !3 ** 4;
1 ** !temp++ ** 4;
1 ** !temp-- ** 4;
<number>temp ** 3;
<number>++temp ** 3;
<number>--temp ** 3;
<number>temp++ ** 3;
<number>temp-- ** 3;