Add baselines for downlevel emit exponentiation and ES7 emit of exponentiation

This commit is contained in:
Yui T
2015-10-05 19:05:14 -07:00
parent f8d6b344ee
commit bf970be0b3
30 changed files with 3253 additions and 1503 deletions

View File

@@ -0,0 +1,43 @@
//// [emitCompoundExponentiationOperator1ES7.ts]
var comp: number;
comp **= 1;
comp **= comp ** comp;
comp **= comp ** comp ** 2;
comp **= comp ** comp + 2;
comp **= comp ** comp - 2;
comp **= comp ** comp * 2;
comp **= comp ** comp / 2;
comp **= comp ** comp % 2;
comp **= (comp - 2) ** 5;
comp **= (comp + 2) ** 5;
comp **= (comp * 2) ** 5;
comp **= (comp / 2) ** 5;
comp **= (comp % 2) ** 5;
comp **= comp ** (5 + 2);
comp **= comp ** (5 - 2);
comp **= comp ** (5 * 2);
comp **= comp ** (5 / 2);
comp **= comp ** (5 % 2);
//// [emitCompoundExponentiationOperator1ES7.js]
var comp;
comp **= 1;
comp **= comp ** comp;
comp **= comp ** comp ** 2;
comp **= comp ** comp + 2;
comp **= comp ** comp - 2;
comp **= comp ** comp * 2;
comp **= comp ** comp / 2;
comp **= comp ** comp % 2;
comp **= (comp - 2) ** 5;
comp **= (comp + 2) ** 5;
comp **= (comp * 2) ** 5;
comp **= (comp / 2) ** 5;
comp **= (comp % 2) ** 5;
comp **= comp ** (5 + 2);
comp **= comp ** (5 - 2);
comp **= comp ** (5 * 2);
comp **= comp ** (5 / 2);
comp **= comp ** (5 % 2);

View File

@@ -0,0 +1,83 @@
=== tests/cases/conformance/es7/exponentiationOperator/emitCompoundExponentiationOperator1ES7.ts ===
var comp: number;
>comp : Symbol(comp, Decl(emitCompoundExponentiationOperator1ES7.ts, 1, 3))
comp **= 1;
>comp : Symbol(comp, Decl(emitCompoundExponentiationOperator1ES7.ts, 1, 3))
comp **= comp ** comp;
>comp : Symbol(comp, Decl(emitCompoundExponentiationOperator1ES7.ts, 1, 3))
>comp : Symbol(comp, Decl(emitCompoundExponentiationOperator1ES7.ts, 1, 3))
>comp : Symbol(comp, Decl(emitCompoundExponentiationOperator1ES7.ts, 1, 3))
comp **= comp ** comp ** 2;
>comp : Symbol(comp, Decl(emitCompoundExponentiationOperator1ES7.ts, 1, 3))
>comp : Symbol(comp, Decl(emitCompoundExponentiationOperator1ES7.ts, 1, 3))
>comp : Symbol(comp, Decl(emitCompoundExponentiationOperator1ES7.ts, 1, 3))
comp **= comp ** comp + 2;
>comp : Symbol(comp, Decl(emitCompoundExponentiationOperator1ES7.ts, 1, 3))
>comp : Symbol(comp, Decl(emitCompoundExponentiationOperator1ES7.ts, 1, 3))
>comp : Symbol(comp, Decl(emitCompoundExponentiationOperator1ES7.ts, 1, 3))
comp **= comp ** comp - 2;
>comp : Symbol(comp, Decl(emitCompoundExponentiationOperator1ES7.ts, 1, 3))
>comp : Symbol(comp, Decl(emitCompoundExponentiationOperator1ES7.ts, 1, 3))
>comp : Symbol(comp, Decl(emitCompoundExponentiationOperator1ES7.ts, 1, 3))
comp **= comp ** comp * 2;
>comp : Symbol(comp, Decl(emitCompoundExponentiationOperator1ES7.ts, 1, 3))
>comp : Symbol(comp, Decl(emitCompoundExponentiationOperator1ES7.ts, 1, 3))
>comp : Symbol(comp, Decl(emitCompoundExponentiationOperator1ES7.ts, 1, 3))
comp **= comp ** comp / 2;
>comp : Symbol(comp, Decl(emitCompoundExponentiationOperator1ES7.ts, 1, 3))
>comp : Symbol(comp, Decl(emitCompoundExponentiationOperator1ES7.ts, 1, 3))
>comp : Symbol(comp, Decl(emitCompoundExponentiationOperator1ES7.ts, 1, 3))
comp **= comp ** comp % 2;
>comp : Symbol(comp, Decl(emitCompoundExponentiationOperator1ES7.ts, 1, 3))
>comp : Symbol(comp, Decl(emitCompoundExponentiationOperator1ES7.ts, 1, 3))
>comp : Symbol(comp, Decl(emitCompoundExponentiationOperator1ES7.ts, 1, 3))
comp **= (comp - 2) ** 5;
>comp : Symbol(comp, Decl(emitCompoundExponentiationOperator1ES7.ts, 1, 3))
>comp : Symbol(comp, Decl(emitCompoundExponentiationOperator1ES7.ts, 1, 3))
comp **= (comp + 2) ** 5;
>comp : Symbol(comp, Decl(emitCompoundExponentiationOperator1ES7.ts, 1, 3))
>comp : Symbol(comp, Decl(emitCompoundExponentiationOperator1ES7.ts, 1, 3))
comp **= (comp * 2) ** 5;
>comp : Symbol(comp, Decl(emitCompoundExponentiationOperator1ES7.ts, 1, 3))
>comp : Symbol(comp, Decl(emitCompoundExponentiationOperator1ES7.ts, 1, 3))
comp **= (comp / 2) ** 5;
>comp : Symbol(comp, Decl(emitCompoundExponentiationOperator1ES7.ts, 1, 3))
>comp : Symbol(comp, Decl(emitCompoundExponentiationOperator1ES7.ts, 1, 3))
comp **= (comp % 2) ** 5;
>comp : Symbol(comp, Decl(emitCompoundExponentiationOperator1ES7.ts, 1, 3))
>comp : Symbol(comp, Decl(emitCompoundExponentiationOperator1ES7.ts, 1, 3))
comp **= comp ** (5 + 2);
>comp : Symbol(comp, Decl(emitCompoundExponentiationOperator1ES7.ts, 1, 3))
>comp : Symbol(comp, Decl(emitCompoundExponentiationOperator1ES7.ts, 1, 3))
comp **= comp ** (5 - 2);
>comp : Symbol(comp, Decl(emitCompoundExponentiationOperator1ES7.ts, 1, 3))
>comp : Symbol(comp, Decl(emitCompoundExponentiationOperator1ES7.ts, 1, 3))
comp **= comp ** (5 * 2);
>comp : Symbol(comp, Decl(emitCompoundExponentiationOperator1ES7.ts, 1, 3))
>comp : Symbol(comp, Decl(emitCompoundExponentiationOperator1ES7.ts, 1, 3))
comp **= comp ** (5 / 2);
>comp : Symbol(comp, Decl(emitCompoundExponentiationOperator1ES7.ts, 1, 3))
>comp : Symbol(comp, Decl(emitCompoundExponentiationOperator1ES7.ts, 1, 3))
comp **= comp ** (5 % 2);
>comp : Symbol(comp, Decl(emitCompoundExponentiationOperator1ES7.ts, 1, 3))
>comp : Symbol(comp, Decl(emitCompoundExponentiationOperator1ES7.ts, 1, 3))

View File

@@ -0,0 +1,171 @@
=== tests/cases/conformance/es7/exponentiationOperator/emitCompoundExponentiationOperator1ES7.ts ===
var comp: number;
>comp : number
comp **= 1;
>comp **= 1 : number
>comp : number
>1 : number
comp **= comp ** comp;
>comp **= comp ** comp : number
>comp : number
>comp ** comp : number
>comp : number
>comp : number
comp **= comp ** comp ** 2;
>comp **= comp ** comp ** 2 : number
>comp : number
>comp ** comp ** 2 : number
>comp : number
>comp ** 2 : number
>comp : number
>2 : number
comp **= comp ** comp + 2;
>comp **= comp ** comp + 2 : number
>comp : number
>comp ** comp + 2 : number
>comp ** comp : number
>comp : number
>comp : number
>2 : number
comp **= comp ** comp - 2;
>comp **= comp ** comp - 2 : number
>comp : number
>comp ** comp - 2 : number
>comp ** comp : number
>comp : number
>comp : number
>2 : number
comp **= comp ** comp * 2;
>comp **= comp ** comp * 2 : number
>comp : number
>comp ** comp * 2 : number
>comp ** comp : number
>comp : number
>comp : number
>2 : number
comp **= comp ** comp / 2;
>comp **= comp ** comp / 2 : number
>comp : number
>comp ** comp / 2 : number
>comp ** comp : number
>comp : number
>comp : number
>2 : number
comp **= comp ** comp % 2;
>comp **= comp ** comp % 2 : number
>comp : number
>comp ** comp % 2 : number
>comp ** comp : number
>comp : number
>comp : number
>2 : number
comp **= (comp - 2) ** 5;
>comp **= (comp - 2) ** 5 : number
>comp : number
>(comp - 2) ** 5 : number
>(comp - 2) : number
>comp - 2 : number
>comp : number
>2 : number
>5 : number
comp **= (comp + 2) ** 5;
>comp **= (comp + 2) ** 5 : number
>comp : number
>(comp + 2) ** 5 : number
>(comp + 2) : number
>comp + 2 : number
>comp : number
>2 : number
>5 : number
comp **= (comp * 2) ** 5;
>comp **= (comp * 2) ** 5 : number
>comp : number
>(comp * 2) ** 5 : number
>(comp * 2) : number
>comp * 2 : number
>comp : number
>2 : number
>5 : number
comp **= (comp / 2) ** 5;
>comp **= (comp / 2) ** 5 : number
>comp : number
>(comp / 2) ** 5 : number
>(comp / 2) : number
>comp / 2 : number
>comp : number
>2 : number
>5 : number
comp **= (comp % 2) ** 5;
>comp **= (comp % 2) ** 5 : number
>comp : number
>(comp % 2) ** 5 : number
>(comp % 2) : number
>comp % 2 : number
>comp : number
>2 : number
>5 : number
comp **= comp ** (5 + 2);
>comp **= comp ** (5 + 2) : number
>comp : number
>comp ** (5 + 2) : number
>comp : number
>(5 + 2) : number
>5 + 2 : number
>5 : number
>2 : number
comp **= comp ** (5 - 2);
>comp **= comp ** (5 - 2) : number
>comp : number
>comp ** (5 - 2) : number
>comp : number
>(5 - 2) : number
>5 - 2 : number
>5 : number
>2 : number
comp **= comp ** (5 * 2);
>comp **= comp ** (5 * 2) : number
>comp : number
>comp ** (5 * 2) : number
>comp : number
>(5 * 2) : number
>5 * 2 : number
>5 : number
>2 : number
comp **= comp ** (5 / 2);
>comp **= comp ** (5 / 2) : number
>comp : number
>comp ** (5 / 2) : number
>comp : number
>(5 / 2) : number
>5 / 2 : number
>5 : number
>2 : number
comp **= comp ** (5 % 2);
>comp **= comp ** (5 % 2) : number
>comp : number
>comp ** (5 % 2) : number
>comp : number
>(5 % 2) : number
>5 % 2 : number
>5 : number
>2 : number

View File

@@ -0,0 +1,47 @@
//// [emitCompoundExponentiationOperator2ES7.ts]
var comp: number;
comp **= 1;
comp **= comp **= 1;
comp **= comp **= 1 + 2;
comp **= comp **= 1 - 2;
comp **= comp **= 1 * 2;
comp **= comp **= 1 / 2;
comp **= comp **= (1 + 2);
comp **= comp **= (1 - 2);
comp **= comp **= (1 * 2);
comp **= comp **= (1 / 2);
comp **= comp **= 1 + 2 ** 3;
comp **= comp **= 1 - 2 ** 4;
comp **= comp **= 1 * 2 ** 5;
comp **= comp **= 1 / 2 ** 6;
comp **= comp **= (1 + 2) ** 3;
comp **= comp **= (1 - 2) ** 4;
comp **= comp **= (1 * 2) ** 5;
comp **= comp **= (1 / 2) ** 6;
//// [emitCompoundExponentiationOperator2ES7.js]
var comp;
comp **= 1;
comp **= comp **= 1;
comp **= comp **= 1 + 2;
comp **= comp **= 1 - 2;
comp **= comp **= 1 * 2;
comp **= comp **= 1 / 2;
comp **= comp **= (1 + 2);
comp **= comp **= (1 - 2);
comp **= comp **= (1 * 2);
comp **= comp **= (1 / 2);
comp **= comp **= 1 + 2 ** 3;
comp **= comp **= 1 - 2 ** 4;
comp **= comp **= 1 * 2 ** 5;
comp **= comp **= 1 / 2 ** 6;
comp **= comp **= (1 + 2) ** 3;
comp **= comp **= (1 - 2) ** 4;
comp **= comp **= (1 * 2) ** 5;
comp **= comp **= (1 / 2) ** 6;

View File

@@ -0,0 +1,76 @@
=== tests/cases/conformance/es7/exponentiationOperator/emitCompoundExponentiationOperator2ES7.ts ===
var comp: number;
>comp : Symbol(comp, Decl(emitCompoundExponentiationOperator2ES7.ts, 1, 3))
comp **= 1;
>comp : Symbol(comp, Decl(emitCompoundExponentiationOperator2ES7.ts, 1, 3))
comp **= comp **= 1;
>comp : Symbol(comp, Decl(emitCompoundExponentiationOperator2ES7.ts, 1, 3))
>comp : Symbol(comp, Decl(emitCompoundExponentiationOperator2ES7.ts, 1, 3))
comp **= comp **= 1 + 2;
>comp : Symbol(comp, Decl(emitCompoundExponentiationOperator2ES7.ts, 1, 3))
>comp : Symbol(comp, Decl(emitCompoundExponentiationOperator2ES7.ts, 1, 3))
comp **= comp **= 1 - 2;
>comp : Symbol(comp, Decl(emitCompoundExponentiationOperator2ES7.ts, 1, 3))
>comp : Symbol(comp, Decl(emitCompoundExponentiationOperator2ES7.ts, 1, 3))
comp **= comp **= 1 * 2;
>comp : Symbol(comp, Decl(emitCompoundExponentiationOperator2ES7.ts, 1, 3))
>comp : Symbol(comp, Decl(emitCompoundExponentiationOperator2ES7.ts, 1, 3))
comp **= comp **= 1 / 2;
>comp : Symbol(comp, Decl(emitCompoundExponentiationOperator2ES7.ts, 1, 3))
>comp : Symbol(comp, Decl(emitCompoundExponentiationOperator2ES7.ts, 1, 3))
comp **= comp **= (1 + 2);
>comp : Symbol(comp, Decl(emitCompoundExponentiationOperator2ES7.ts, 1, 3))
>comp : Symbol(comp, Decl(emitCompoundExponentiationOperator2ES7.ts, 1, 3))
comp **= comp **= (1 - 2);
>comp : Symbol(comp, Decl(emitCompoundExponentiationOperator2ES7.ts, 1, 3))
>comp : Symbol(comp, Decl(emitCompoundExponentiationOperator2ES7.ts, 1, 3))
comp **= comp **= (1 * 2);
>comp : Symbol(comp, Decl(emitCompoundExponentiationOperator2ES7.ts, 1, 3))
>comp : Symbol(comp, Decl(emitCompoundExponentiationOperator2ES7.ts, 1, 3))
comp **= comp **= (1 / 2);
>comp : Symbol(comp, Decl(emitCompoundExponentiationOperator2ES7.ts, 1, 3))
>comp : Symbol(comp, Decl(emitCompoundExponentiationOperator2ES7.ts, 1, 3))
comp **= comp **= 1 + 2 ** 3;
>comp : Symbol(comp, Decl(emitCompoundExponentiationOperator2ES7.ts, 1, 3))
>comp : Symbol(comp, Decl(emitCompoundExponentiationOperator2ES7.ts, 1, 3))
comp **= comp **= 1 - 2 ** 4;
>comp : Symbol(comp, Decl(emitCompoundExponentiationOperator2ES7.ts, 1, 3))
>comp : Symbol(comp, Decl(emitCompoundExponentiationOperator2ES7.ts, 1, 3))
comp **= comp **= 1 * 2 ** 5;
>comp : Symbol(comp, Decl(emitCompoundExponentiationOperator2ES7.ts, 1, 3))
>comp : Symbol(comp, Decl(emitCompoundExponentiationOperator2ES7.ts, 1, 3))
comp **= comp **= 1 / 2 ** 6;
>comp : Symbol(comp, Decl(emitCompoundExponentiationOperator2ES7.ts, 1, 3))
>comp : Symbol(comp, Decl(emitCompoundExponentiationOperator2ES7.ts, 1, 3))
comp **= comp **= (1 + 2) ** 3;
>comp : Symbol(comp, Decl(emitCompoundExponentiationOperator2ES7.ts, 1, 3))
>comp : Symbol(comp, Decl(emitCompoundExponentiationOperator2ES7.ts, 1, 3))
comp **= comp **= (1 - 2) ** 4;
>comp : Symbol(comp, Decl(emitCompoundExponentiationOperator2ES7.ts, 1, 3))
>comp : Symbol(comp, Decl(emitCompoundExponentiationOperator2ES7.ts, 1, 3))
comp **= comp **= (1 * 2) ** 5;
>comp : Symbol(comp, Decl(emitCompoundExponentiationOperator2ES7.ts, 1, 3))
>comp : Symbol(comp, Decl(emitCompoundExponentiationOperator2ES7.ts, 1, 3))
comp **= comp **= (1 / 2) ** 6;
>comp : Symbol(comp, Decl(emitCompoundExponentiationOperator2ES7.ts, 1, 3))
>comp : Symbol(comp, Decl(emitCompoundExponentiationOperator2ES7.ts, 1, 3))

View File

@@ -0,0 +1,185 @@
=== tests/cases/conformance/es7/exponentiationOperator/emitCompoundExponentiationOperator2ES7.ts ===
var comp: number;
>comp : number
comp **= 1;
>comp **= 1 : number
>comp : number
>1 : number
comp **= comp **= 1;
>comp **= comp **= 1 : number
>comp : number
>comp **= 1 : number
>comp : number
>1 : number
comp **= comp **= 1 + 2;
>comp **= comp **= 1 + 2 : number
>comp : number
>comp **= 1 + 2 : number
>comp : number
>1 + 2 : number
>1 : number
>2 : number
comp **= comp **= 1 - 2;
>comp **= comp **= 1 - 2 : number
>comp : number
>comp **= 1 - 2 : number
>comp : number
>1 - 2 : number
>1 : number
>2 : number
comp **= comp **= 1 * 2;
>comp **= comp **= 1 * 2 : number
>comp : number
>comp **= 1 * 2 : number
>comp : number
>1 * 2 : number
>1 : number
>2 : number
comp **= comp **= 1 / 2;
>comp **= comp **= 1 / 2 : number
>comp : number
>comp **= 1 / 2 : number
>comp : number
>1 / 2 : number
>1 : number
>2 : number
comp **= comp **= (1 + 2);
>comp **= comp **= (1 + 2) : number
>comp : number
>comp **= (1 + 2) : number
>comp : number
>(1 + 2) : number
>1 + 2 : number
>1 : number
>2 : number
comp **= comp **= (1 - 2);
>comp **= comp **= (1 - 2) : number
>comp : number
>comp **= (1 - 2) : number
>comp : number
>(1 - 2) : number
>1 - 2 : number
>1 : number
>2 : number
comp **= comp **= (1 * 2);
>comp **= comp **= (1 * 2) : number
>comp : number
>comp **= (1 * 2) : number
>comp : number
>(1 * 2) : number
>1 * 2 : number
>1 : number
>2 : number
comp **= comp **= (1 / 2);
>comp **= comp **= (1 / 2) : number
>comp : number
>comp **= (1 / 2) : number
>comp : number
>(1 / 2) : number
>1 / 2 : number
>1 : number
>2 : number
comp **= comp **= 1 + 2 ** 3;
>comp **= comp **= 1 + 2 ** 3 : number
>comp : number
>comp **= 1 + 2 ** 3 : number
>comp : number
>1 + 2 ** 3 : number
>1 : number
>2 ** 3 : number
>2 : number
>3 : number
comp **= comp **= 1 - 2 ** 4;
>comp **= comp **= 1 - 2 ** 4 : number
>comp : number
>comp **= 1 - 2 ** 4 : number
>comp : number
>1 - 2 ** 4 : number
>1 : number
>2 ** 4 : number
>2 : number
>4 : number
comp **= comp **= 1 * 2 ** 5;
>comp **= comp **= 1 * 2 ** 5 : number
>comp : number
>comp **= 1 * 2 ** 5 : number
>comp : number
>1 * 2 ** 5 : number
>1 : number
>2 ** 5 : number
>2 : number
>5 : number
comp **= comp **= 1 / 2 ** 6;
>comp **= comp **= 1 / 2 ** 6 : number
>comp : number
>comp **= 1 / 2 ** 6 : number
>comp : number
>1 / 2 ** 6 : number
>1 : number
>2 ** 6 : number
>2 : number
>6 : number
comp **= comp **= (1 + 2) ** 3;
>comp **= comp **= (1 + 2) ** 3 : number
>comp : number
>comp **= (1 + 2) ** 3 : number
>comp : number
>(1 + 2) ** 3 : number
>(1 + 2) : number
>1 + 2 : number
>1 : number
>2 : number
>3 : number
comp **= comp **= (1 - 2) ** 4;
>comp **= comp **= (1 - 2) ** 4 : number
>comp : number
>comp **= (1 - 2) ** 4 : number
>comp : number
>(1 - 2) ** 4 : number
>(1 - 2) : number
>1 - 2 : number
>1 : number
>2 : number
>4 : number
comp **= comp **= (1 * 2) ** 5;
>comp **= comp **= (1 * 2) ** 5 : number
>comp : number
>comp **= (1 * 2) ** 5 : number
>comp : number
>(1 * 2) ** 5 : number
>(1 * 2) : number
>1 * 2 : number
>1 : number
>2 : number
>5 : number
comp **= comp **= (1 / 2) ** 6;
>comp **= comp **= (1 / 2) ** 6 : number
>comp : number
>comp **= (1 / 2) ** 6 : number
>comp : number
>(1 / 2) ** 6 : number
>(1 / 2) : number
>1 / 2 : number
>1 : number
>2 : number
>6 : number

View File

@@ -1,12 +1,13 @@
//// [emitExponentiationOperator1.ts]
1 ** -2;
1 ** 2;
(-1) ** 2
1 ** 2 ** 3;
1 ** -2 ** 3;
1 ** -2 ** -3;
-1 ** -2 ** -3;
-(1 ** 2) ** 3;
1 ** 2 ** -3;
1 ** -(2 ** 3);
(-(1 ** 2)) ** 3;
(-(1 ** 2)) ** -3;
1 ** 2 + 3;
1 ** 2 - 3;
@@ -32,13 +33,14 @@
(2 / 3) ** 4;
//// [emitExponentiationOperator1.js]
Math.pow(1, -2);
Math.pow(1, 2);
Math.pow((-1), 2);
Math.pow(1, Math.pow(2, 3));
Math.pow(1, -Math.pow(2, 3));
Math.pow(1, -Math.pow(2, -3));
-Math.pow(1, -Math.pow(2, -3));
-Math.pow((Math.pow(1, 2)), 3);
Math.pow(1, Math.pow(2, -3));
Math.pow(1, -(Math.pow(2, 3)));
Math.pow((-(Math.pow(1, 2))), 3);
Math.pow((-(Math.pow(1, 2))), -3);
Math.pow(1, 2) + 3;
Math.pow(1, 2) - 3;
Math.pow(1, 2) * 3;

View File

@@ -1,12 +1,13 @@
=== tests/cases/conformance/es7/exponentiationOperator/emitExponentiationOperator1.ts ===
No type information for this code.1 ** -2;
No type information for this code.1 ** 2;
No type information for this code.(-1) ** 2
No type information for this code.1 ** 2 ** 3;
No type information for this code.1 ** -2 ** 3;
No type information for this code.1 ** -2 ** -3;
No type information for this code.-1 ** -2 ** -3;
No type information for this code.-(1 ** 2) ** 3;
No type information for this code.1 ** 2 ** -3;
No type information for this code.1 ** -(2 ** 3);
No type information for this code.(-(1 ** 2)) ** 3;
No type information for this code.(-(1 ** 2)) ** -3;
No type information for this code.
No type information for this code.1 ** 2 + 3;
No type information for this code.1 ** 2 - 3;

View File

@@ -1,10 +1,23 @@
=== tests/cases/conformance/es7/exponentiationOperator/emitExponentiationOperator1.ts ===
1 ** -2;
>1 ** -2 : number
>1 : number
>-2 : number
>2 : number
1 ** 2;
>1 ** 2 : number
>1 : number
>2 : number
(-1) ** 2
>(-1) ** 2 : number
>(-1) : number
>-1 : number
>1 : number
>2 : number
1 ** 2 ** 3;
>1 ** 2 ** 3 : number
>1 : number
@@ -12,42 +25,14 @@
>2 : number
>3 : number
1 ** -2 ** 3;
>1 ** -2 ** 3 : number
1 ** 2 ** -3;
>1 ** 2 ** -3 : number
>1 : number
>-2 ** 3 : number
>2 ** 3 : number
>2 : number
>3 : number
1 ** -2 ** -3;
>1 ** -2 ** -3 : number
>1 : number
>-2 ** -3 : number
>2 ** -3 : number
>2 : number
>-3 : number
>3 : number
-1 ** -2 ** -3;
>-1 ** -2 ** -3 : number
>1 ** -2 ** -3 : number
>1 : number
>-2 ** -3 : number
>2 ** -3 : number
>2 : number
>-3 : number
>3 : number
-(1 ** 2) ** 3;
>-(1 ** 2) ** 3 : number
>(1 ** 2) ** 3 : number
>(1 ** 2) : number
>1 ** 2 : number
>1 : number
>2 : number
>3 : number
1 ** -(2 ** 3);
>1 ** -(2 ** 3) : number
>1 : number
@@ -57,6 +42,27 @@
>2 : number
>3 : number
(-(1 ** 2)) ** 3;
>(-(1 ** 2)) ** 3 : number
>(-(1 ** 2)) : number
>-(1 ** 2) : number
>(1 ** 2) : number
>1 ** 2 : number
>1 : number
>2 : number
>3 : number
(-(1 ** 2)) ** -3;
>(-(1 ** 2)) ** -3 : number
>(-(1 ** 2)) : number
>-(1 ** 2) : number
>(1 ** 2) : number
>1 ** 2 : number
>1 : number
>2 : number
>-3 : number
>3 : number
1 ** 2 + 3;
>1 ** 2 + 3 : number
>1 ** 2 : number

View File

@@ -0,0 +1,62 @@
//// [emitExponentiationOperator1ES7.ts]
1 ** -2;
1 ** 2;
(-1) ** 2
1 ** 2 ** 3;
1 ** 2 ** -3;
1 ** -(2 ** 3);
(-(1 ** 2)) ** 3;
(-(1 ** 2)) ** -3;
1 ** 2 + 3;
1 ** 2 - 3;
1 ** 2 * 3;
1 ** 2 / 3;
1 ** 2 % 3;
1 ** -2 + 3;
1 ** -2 - 3;
1 ** -2 * 3;
1 ** -2 / 3;
1 ** -2 % 3;
2 + 3 ** 3;
2 - 3 ** 3;
2 * 3 ** 3;
2 / 3 ** 3;
2 % 3 ** 3;
(2 + 3) ** 4;
(2 - 3) ** 4;
(2 * 3) ** 4;
(2 / 3) ** 4;
//// [emitExponentiationOperator1ES7.js]
1 ** -2;
1 ** 2;
(-1) ** 2;
1 ** 2 ** 3;
1 ** 2 ** -3;
1 ** -(2 ** 3);
(-(1 ** 2)) ** 3;
(-(1 ** 2)) ** -3;
1 ** 2 + 3;
1 ** 2 - 3;
1 ** 2 * 3;
1 ** 2 / 3;
1 ** 2 % 3;
1 ** -2 + 3;
1 ** -2 - 3;
1 ** -2 * 3;
1 ** -2 / 3;
1 ** -2 % 3;
2 + 3 ** 3;
2 - 3 ** 3;
2 * 3 ** 3;
2 / 3 ** 3;
2 % 3 ** 3;
(2 + 3) ** 4;
(2 - 3) ** 4;
(2 * 3) ** 4;
(2 / 3) ** 4;

View File

@@ -0,0 +1,34 @@
=== tests/cases/conformance/es7/exponentiationOperator/emitExponentiationOperator1ES7.ts ===
No type information for this code.1 ** -2;
No type information for this code.1 ** 2;
No type information for this code.(-1) ** 2
No type information for this code.1 ** 2 ** 3;
No type information for this code.1 ** 2 ** -3;
No type information for this code.1 ** -(2 ** 3);
No type information for this code.(-(1 ** 2)) ** 3;
No type information for this code.(-(1 ** 2)) ** -3;
No type information for this code.
No type information for this code.1 ** 2 + 3;
No type information for this code.1 ** 2 - 3;
No type information for this code.1 ** 2 * 3;
No type information for this code.1 ** 2 / 3;
No type information for this code.1 ** 2 % 3;
No type information for this code.
No type information for this code.1 ** -2 + 3;
No type information for this code.1 ** -2 - 3;
No type information for this code.1 ** -2 * 3;
No type information for this code.1 ** -2 / 3;
No type information for this code.1 ** -2 % 3;
No type information for this code.
No type information for this code.2 + 3 ** 3;
No type information for this code.2 - 3 ** 3;
No type information for this code.2 * 3 ** 3;
No type information for this code.2 / 3 ** 3;
No type information for this code.2 % 3 ** 3;
No type information for this code.
No type information for this code.(2 + 3) ** 4;
No type information for this code.(2 - 3) ** 4;
No type information for this code.(2 * 3) ** 4;
No type information for this code.(2 / 3) ** 4;
No type information for this code.

View File

@@ -0,0 +1,207 @@
=== tests/cases/conformance/es7/exponentiationOperator/emitExponentiationOperator1ES7.ts ===
1 ** -2;
>1 ** -2 : number
>1 : number
>-2 : number
>2 : number
1 ** 2;
>1 ** 2 : number
>1 : number
>2 : number
(-1) ** 2
>(-1) ** 2 : number
>(-1) : number
>-1 : number
>1 : number
>2 : number
1 ** 2 ** 3;
>1 ** 2 ** 3 : number
>1 : number
>2 ** 3 : number
>2 : number
>3 : number
1 ** 2 ** -3;
>1 ** 2 ** -3 : number
>1 : number
>2 ** -3 : number
>2 : number
>-3 : number
>3 : number
1 ** -(2 ** 3);
>1 ** -(2 ** 3) : number
>1 : number
>-(2 ** 3) : number
>(2 ** 3) : number
>2 ** 3 : number
>2 : number
>3 : number
(-(1 ** 2)) ** 3;
>(-(1 ** 2)) ** 3 : number
>(-(1 ** 2)) : number
>-(1 ** 2) : number
>(1 ** 2) : number
>1 ** 2 : number
>1 : number
>2 : number
>3 : number
(-(1 ** 2)) ** -3;
>(-(1 ** 2)) ** -3 : number
>(-(1 ** 2)) : number
>-(1 ** 2) : number
>(1 ** 2) : number
>1 ** 2 : number
>1 : number
>2 : number
>-3 : number
>3 : number
1 ** 2 + 3;
>1 ** 2 + 3 : number
>1 ** 2 : number
>1 : number
>2 : number
>3 : number
1 ** 2 - 3;
>1 ** 2 - 3 : number
>1 ** 2 : number
>1 : number
>2 : number
>3 : number
1 ** 2 * 3;
>1 ** 2 * 3 : number
>1 ** 2 : number
>1 : number
>2 : number
>3 : number
1 ** 2 / 3;
>1 ** 2 / 3 : number
>1 ** 2 : number
>1 : number
>2 : number
>3 : number
1 ** 2 % 3;
>1 ** 2 % 3 : number
>1 ** 2 : number
>1 : number
>2 : number
>3 : number
1 ** -2 + 3;
>1 ** -2 + 3 : number
>1 ** -2 : number
>1 : number
>-2 : number
>2 : number
>3 : number
1 ** -2 - 3;
>1 ** -2 - 3 : number
>1 ** -2 : number
>1 : number
>-2 : number
>2 : number
>3 : number
1 ** -2 * 3;
>1 ** -2 * 3 : number
>1 ** -2 : number
>1 : number
>-2 : number
>2 : number
>3 : number
1 ** -2 / 3;
>1 ** -2 / 3 : number
>1 ** -2 : number
>1 : number
>-2 : number
>2 : number
>3 : number
1 ** -2 % 3;
>1 ** -2 % 3 : number
>1 ** -2 : number
>1 : number
>-2 : number
>2 : number
>3 : number
2 + 3 ** 3;
>2 + 3 ** 3 : number
>2 : number
>3 ** 3 : number
>3 : number
>3 : number
2 - 3 ** 3;
>2 - 3 ** 3 : number
>2 : number
>3 ** 3 : number
>3 : number
>3 : number
2 * 3 ** 3;
>2 * 3 ** 3 : number
>2 : number
>3 ** 3 : number
>3 : number
>3 : number
2 / 3 ** 3;
>2 / 3 ** 3 : number
>2 : number
>3 ** 3 : number
>3 : number
>3 : number
2 % 3 ** 3;
>2 % 3 ** 3 : number
>2 : number
>3 ** 3 : number
>3 : number
>3 : number
(2 + 3) ** 4;
>(2 + 3) ** 4 : number
>(2 + 3) : number
>2 + 3 : number
>2 : number
>3 : number
>4 : number
(2 - 3) ** 4;
>(2 - 3) ** 4 : number
>(2 - 3) : number
>2 - 3 : number
>2 : number
>3 : number
>4 : number
(2 * 3) ** 4;
>(2 * 3) ** 4 : number
>(2 * 3) : number
>2 * 3 : number
>2 : number
>3 : number
>4 : number
(2 / 3) ** 4;
>(2 / 3) ** 4 : number
>(2 / 3) : number
>2 / 3 : number
>2 : number
>3 : number
>4 : number

View File

@@ -11,13 +11,10 @@ temp-- ** 3;
--temp * temp ** 3;
--temp / temp ** 3;
--temp % temp ** 3;
-++temp ** 3;
+--temp ** 3;
temp-- ** 3;
temp++ ** 3;
-temp++ ** 3;
+temp-- ** 3;
temp-- ** -temp;
temp++ ** +temp;
temp-- + temp ** 3;
temp-- - temp ** 3;
@@ -40,27 +37,11 @@ temp-- % temp ** 3;
3 ** --temp;
3 ** temp++;
3 ** temp--;
-3 ** temp++;
-3 ** temp--;
-3 ** ++temp;
-3 ** --temp;
+3 ** temp++;
+3 ** temp--;
+3 ** ++temp;
+3 ** --temp
3 ** ++temp ** 2;
3 ** --temp ** 2;
3 ** temp++ ** 2;
3 ** temp-- ** 2;
-3 ** temp++ ** 2;
-3 ** temp-- ** 2;
-3 ** ++temp ** 2;
-3 ** --temp ** 2;
+3 ** temp++ ** 2;
+3 ** temp-- ** 2;
+3 ** ++temp ** 2;
+3 ** --temp ** 2;
3 ** ++temp + 2;
3 ** ++temp - 2;
@@ -85,12 +66,10 @@ Math.pow(temp--, 3);
--temp * Math.pow(temp, 3);
--temp / Math.pow(temp, 3);
--temp % 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(temp--, 3);
Math.pow(temp--, -temp);
Math.pow(temp++, +temp);
temp-- + Math.pow(temp, 3);
temp-- - Math.pow(temp, 3);
temp-- * Math.pow(temp, 3);
@@ -109,26 +88,10 @@ Math.pow(3, ++temp);
Math.pow(3, --temp);
Math.pow(3, temp++);
Math.pow(3, temp--);
-Math.pow(3, temp++);
-Math.pow(3, temp--);
-Math.pow(3, ++temp);
-Math.pow(3, --temp);
+Math.pow(3, temp++);
+Math.pow(3, temp--);
+Math.pow(3, ++temp);
+Math.pow(3, --temp);
Math.pow(3, Math.pow(++temp, 2));
Math.pow(3, Math.pow(--temp, 2));
Math.pow(3, Math.pow(temp++, 2));
Math.pow(3, Math.pow(temp--, 2));
-Math.pow(3, Math.pow(temp++, 2));
-Math.pow(3, Math.pow(temp--, 2));
-Math.pow(3, Math.pow(++temp, 2));
-Math.pow(3, Math.pow(--temp, 2));
+Math.pow(3, Math.pow(temp++, 2));
+Math.pow(3, Math.pow(temp--, 2));
+Math.pow(3, Math.pow(++temp, 2));
+Math.pow(3, Math.pow(--temp, 2));
Math.pow(3, ++temp) + 2;
Math.pow(3, ++temp) - 2;
Math.pow(3, ++temp) * 2;

View File

@@ -35,22 +35,18 @@ temp-- ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator2.ts, 1, 3))
>temp : Symbol(temp, Decl(emitExponentiationOperator2.ts, 1, 3))
-++temp ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator2.ts, 1, 3))
+--temp ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator2.ts, 1, 3))
temp-- ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator2.ts, 1, 3))
temp++ ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator2.ts, 1, 3))
-temp++ ** 3;
temp-- ** -temp;
>temp : Symbol(temp, Decl(emitExponentiationOperator2.ts, 1, 3))
>temp : Symbol(temp, Decl(emitExponentiationOperator2.ts, 1, 3))
+temp-- ** 3;
temp++ ** +temp;
>temp : Symbol(temp, Decl(emitExponentiationOperator2.ts, 1, 3))
>temp : Symbol(temp, Decl(emitExponentiationOperator2.ts, 1, 3))
temp-- + temp ** 3;
@@ -112,30 +108,6 @@ temp-- % temp ** 3;
3 ** temp--;
>temp : Symbol(temp, Decl(emitExponentiationOperator2.ts, 1, 3))
-3 ** temp++;
>temp : Symbol(temp, Decl(emitExponentiationOperator2.ts, 1, 3))
-3 ** temp--;
>temp : Symbol(temp, Decl(emitExponentiationOperator2.ts, 1, 3))
-3 ** ++temp;
>temp : Symbol(temp, Decl(emitExponentiationOperator2.ts, 1, 3))
-3 ** --temp;
>temp : Symbol(temp, Decl(emitExponentiationOperator2.ts, 1, 3))
+3 ** temp++;
>temp : Symbol(temp, Decl(emitExponentiationOperator2.ts, 1, 3))
+3 ** temp--;
>temp : Symbol(temp, Decl(emitExponentiationOperator2.ts, 1, 3))
+3 ** ++temp;
>temp : Symbol(temp, Decl(emitExponentiationOperator2.ts, 1, 3))
+3 ** --temp
>temp : Symbol(temp, Decl(emitExponentiationOperator2.ts, 1, 3))
3 ** ++temp ** 2;
>temp : Symbol(temp, Decl(emitExponentiationOperator2.ts, 1, 3))
@@ -148,30 +120,6 @@ temp-- % temp ** 3;
3 ** temp-- ** 2;
>temp : Symbol(temp, Decl(emitExponentiationOperator2.ts, 1, 3))
-3 ** temp++ ** 2;
>temp : Symbol(temp, Decl(emitExponentiationOperator2.ts, 1, 3))
-3 ** temp-- ** 2;
>temp : Symbol(temp, Decl(emitExponentiationOperator2.ts, 1, 3))
-3 ** ++temp ** 2;
>temp : Symbol(temp, Decl(emitExponentiationOperator2.ts, 1, 3))
-3 ** --temp ** 2;
>temp : Symbol(temp, Decl(emitExponentiationOperator2.ts, 1, 3))
+3 ** temp++ ** 2;
>temp : Symbol(temp, Decl(emitExponentiationOperator2.ts, 1, 3))
+3 ** temp-- ** 2;
>temp : Symbol(temp, Decl(emitExponentiationOperator2.ts, 1, 3))
+3 ** ++temp ** 2;
>temp : Symbol(temp, Decl(emitExponentiationOperator2.ts, 1, 3))
+3 ** --temp ** 2;
>temp : Symbol(temp, Decl(emitExponentiationOperator2.ts, 1, 3))
3 ** ++temp + 2;
>temp : Symbol(temp, Decl(emitExponentiationOperator2.ts, 1, 3))

View File

@@ -68,20 +68,6 @@ temp-- ** 3;
>temp : number
>3 : number
-++temp ** 3;
>-++temp ** 3 : number
>++temp ** 3 : number
>++temp : number
>temp : number
>3 : number
+--temp ** 3;
>+--temp ** 3 : number
>--temp ** 3 : number
>--temp : number
>temp : number
>3 : number
temp-- ** 3;
>temp-- ** 3 : number
>temp-- : number
@@ -94,19 +80,19 @@ temp++ ** 3;
>temp : number
>3 : number
-temp++ ** 3;
>-temp++ ** 3 : number
>temp++ ** 3 : number
>temp++ : number
>temp : number
>3 : number
+temp-- ** 3;
>+temp-- ** 3 : number
>temp-- ** 3 : number
temp-- ** -temp;
>temp-- ** -temp : number
>temp-- : number
>temp : number
>3 : number
>-temp : number
>temp : number
temp++ ** +temp;
>temp++ ** +temp : number
>temp++ : number
>temp : number
>+temp : number
>temp : number
temp-- + temp ** 3;
>temp-- + temp ** 3 : number
@@ -244,62 +230,6 @@ temp-- % temp ** 3;
>temp-- : number
>temp : number
-3 ** temp++;
>-3 ** temp++ : number
>3 ** temp++ : number
>3 : number
>temp++ : number
>temp : number
-3 ** temp--;
>-3 ** temp-- : number
>3 ** temp-- : number
>3 : number
>temp-- : number
>temp : number
-3 ** ++temp;
>-3 ** ++temp : number
>3 ** ++temp : number
>3 : number
>++temp : number
>temp : number
-3 ** --temp;
>-3 ** --temp : number
>3 ** --temp : number
>3 : number
>--temp : number
>temp : number
+3 ** temp++;
>+3 ** temp++ : number
>3 ** temp++ : number
>3 : number
>temp++ : number
>temp : number
+3 ** temp--;
>+3 ** temp-- : number
>3 ** temp-- : number
>3 : number
>temp-- : number
>temp : number
+3 ** ++temp;
>+3 ** ++temp : number
>3 ** ++temp : number
>3 : number
>++temp : number
>temp : number
+3 ** --temp
>+3 ** --temp : number
>3 ** --temp : number
>3 : number
>--temp : number
>temp : number
3 ** ++temp ** 2;
>3 ** ++temp ** 2 : number
>3 : number
@@ -332,78 +262,6 @@ temp-- % temp ** 3;
>temp : number
>2 : number
-3 ** temp++ ** 2;
>-3 ** temp++ ** 2 : number
>3 ** temp++ ** 2 : number
>3 : number
>temp++ ** 2 : number
>temp++ : number
>temp : number
>2 : number
-3 ** temp-- ** 2;
>-3 ** temp-- ** 2 : number
>3 ** temp-- ** 2 : number
>3 : number
>temp-- ** 2 : number
>temp-- : number
>temp : number
>2 : number
-3 ** ++temp ** 2;
>-3 ** ++temp ** 2 : number
>3 ** ++temp ** 2 : number
>3 : number
>++temp ** 2 : number
>++temp : number
>temp : number
>2 : number
-3 ** --temp ** 2;
>-3 ** --temp ** 2 : number
>3 ** --temp ** 2 : number
>3 : number
>--temp ** 2 : number
>--temp : number
>temp : number
>2 : number
+3 ** temp++ ** 2;
>+3 ** temp++ ** 2 : number
>3 ** temp++ ** 2 : number
>3 : number
>temp++ ** 2 : number
>temp++ : number
>temp : number
>2 : number
+3 ** temp-- ** 2;
>+3 ** temp-- ** 2 : number
>3 ** temp-- ** 2 : number
>3 : number
>temp-- ** 2 : number
>temp-- : number
>temp : number
>2 : number
+3 ** ++temp ** 2;
>+3 ** ++temp ** 2 : number
>3 ** ++temp ** 2 : number
>3 : number
>++temp ** 2 : number
>++temp : number
>temp : number
>2 : number
+3 ** --temp ** 2;
>+3 ** --temp ** 2 : number
>3 ** --temp ** 2 : number
>3 : number
>--temp ** 2 : number
>--temp : number
>temp : number
>2 : number
3 ** ++temp + 2;
>3 ** ++temp + 2 : number
>3 ** ++temp : number

View File

@@ -0,0 +1,104 @@
//// [emitExponentiationOperator2ES7.ts]
var temp = 10;
++temp ** 3;
--temp ** 3;
temp++ ** 3;
temp-- ** 3;
--temp + temp ** 3;
--temp - temp ** 3;
--temp * temp ** 3;
--temp / temp ** 3;
--temp % temp ** 3;
temp-- ** 3;
temp++ ** 3;
temp-- ** -temp;
temp++ ** +temp;
temp-- + temp ** 3;
temp-- - temp ** 3;
temp-- * temp ** 3;
temp-- / temp ** 3;
temp-- % temp ** 3;
--temp + 2 ** 3;
--temp - 2 ** 3;
--temp * 2 ** 3;
--temp / 2 ** 3;
--temp % 2 ** 3;
++temp + 2 ** 3;
++temp - 2 ** 3;
++temp * 2 ** 3;
++temp / 2 ** 3;
3 ** ++temp;
3 ** --temp;
3 ** temp++;
3 ** temp--;
3 ** ++temp ** 2;
3 ** --temp ** 2;
3 ** temp++ ** 2;
3 ** temp-- ** 2;
3 ** ++temp + 2;
3 ** ++temp - 2;
3 ** ++temp * 2;
3 ** ++temp / 2;
3 ** ++temp % 2;
3 ** --temp + 2;
3 ** --temp - 2;
3 ** --temp * 2;
3 ** --temp / 2;
3 ** --temp % 2;
//// [emitExponentiationOperator2ES7.js]
var temp = 10;
++temp ** 3;
--temp ** 3;
temp++ ** 3;
temp-- ** 3;
--temp + temp ** 3;
--temp - temp ** 3;
--temp * temp ** 3;
--temp / temp ** 3;
--temp % temp ** 3;
temp-- ** 3;
temp++ ** 3;
temp-- ** -temp;
temp++ ** +temp;
temp-- + temp ** 3;
temp-- - temp ** 3;
temp-- * temp ** 3;
temp-- / temp ** 3;
temp-- % temp ** 3;
--temp + 2 ** 3;
--temp - 2 ** 3;
--temp * 2 ** 3;
--temp / 2 ** 3;
--temp % 2 ** 3;
++temp + 2 ** 3;
++temp - 2 ** 3;
++temp * 2 ** 3;
++temp / 2 ** 3;
3 ** ++temp;
3 ** --temp;
3 ** temp++;
3 ** temp--;
3 ** ++temp ** 2;
3 ** --temp ** 2;
3 ** temp++ ** 2;
3 ** temp-- ** 2;
3 ** ++temp + 2;
3 ** ++temp - 2;
3 ** ++temp * 2;
3 ** ++temp / 2;
3 ** ++temp % 2;
3 ** --temp + 2;
3 ** --temp - 2;
3 ** --temp * 2;
3 ** --temp / 2;
3 ** --temp % 2;

View File

@@ -0,0 +1,152 @@
=== tests/cases/conformance/es7/exponentiationOperator/emitExponentiationOperator2ES7.ts ===
var temp = 10;
>temp : Symbol(temp, Decl(emitExponentiationOperator2ES7.ts, 1, 3))
++temp ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator2ES7.ts, 1, 3))
--temp ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator2ES7.ts, 1, 3))
temp++ ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator2ES7.ts, 1, 3))
temp-- ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator2ES7.ts, 1, 3))
--temp + temp ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator2ES7.ts, 1, 3))
>temp : Symbol(temp, Decl(emitExponentiationOperator2ES7.ts, 1, 3))
--temp - temp ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator2ES7.ts, 1, 3))
>temp : Symbol(temp, Decl(emitExponentiationOperator2ES7.ts, 1, 3))
--temp * temp ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator2ES7.ts, 1, 3))
>temp : Symbol(temp, Decl(emitExponentiationOperator2ES7.ts, 1, 3))
--temp / temp ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator2ES7.ts, 1, 3))
>temp : Symbol(temp, Decl(emitExponentiationOperator2ES7.ts, 1, 3))
--temp % temp ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator2ES7.ts, 1, 3))
>temp : Symbol(temp, Decl(emitExponentiationOperator2ES7.ts, 1, 3))
temp-- ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator2ES7.ts, 1, 3))
temp++ ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator2ES7.ts, 1, 3))
temp-- ** -temp;
>temp : Symbol(temp, Decl(emitExponentiationOperator2ES7.ts, 1, 3))
>temp : Symbol(temp, Decl(emitExponentiationOperator2ES7.ts, 1, 3))
temp++ ** +temp;
>temp : Symbol(temp, Decl(emitExponentiationOperator2ES7.ts, 1, 3))
>temp : Symbol(temp, Decl(emitExponentiationOperator2ES7.ts, 1, 3))
temp-- + temp ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator2ES7.ts, 1, 3))
>temp : Symbol(temp, Decl(emitExponentiationOperator2ES7.ts, 1, 3))
temp-- - temp ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator2ES7.ts, 1, 3))
>temp : Symbol(temp, Decl(emitExponentiationOperator2ES7.ts, 1, 3))
temp-- * temp ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator2ES7.ts, 1, 3))
>temp : Symbol(temp, Decl(emitExponentiationOperator2ES7.ts, 1, 3))
temp-- / temp ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator2ES7.ts, 1, 3))
>temp : Symbol(temp, Decl(emitExponentiationOperator2ES7.ts, 1, 3))
temp-- % temp ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator2ES7.ts, 1, 3))
>temp : Symbol(temp, Decl(emitExponentiationOperator2ES7.ts, 1, 3))
--temp + 2 ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator2ES7.ts, 1, 3))
--temp - 2 ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator2ES7.ts, 1, 3))
--temp * 2 ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator2ES7.ts, 1, 3))
--temp / 2 ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator2ES7.ts, 1, 3))
--temp % 2 ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator2ES7.ts, 1, 3))
++temp + 2 ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator2ES7.ts, 1, 3))
++temp - 2 ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator2ES7.ts, 1, 3))
++temp * 2 ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator2ES7.ts, 1, 3))
++temp / 2 ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator2ES7.ts, 1, 3))
3 ** ++temp;
>temp : Symbol(temp, Decl(emitExponentiationOperator2ES7.ts, 1, 3))
3 ** --temp;
>temp : Symbol(temp, Decl(emitExponentiationOperator2ES7.ts, 1, 3))
3 ** temp++;
>temp : Symbol(temp, Decl(emitExponentiationOperator2ES7.ts, 1, 3))
3 ** temp--;
>temp : Symbol(temp, Decl(emitExponentiationOperator2ES7.ts, 1, 3))
3 ** ++temp ** 2;
>temp : Symbol(temp, Decl(emitExponentiationOperator2ES7.ts, 1, 3))
3 ** --temp ** 2;
>temp : Symbol(temp, Decl(emitExponentiationOperator2ES7.ts, 1, 3))
3 ** temp++ ** 2;
>temp : Symbol(temp, Decl(emitExponentiationOperator2ES7.ts, 1, 3))
3 ** temp-- ** 2;
>temp : Symbol(temp, Decl(emitExponentiationOperator2ES7.ts, 1, 3))
3 ** ++temp + 2;
>temp : Symbol(temp, Decl(emitExponentiationOperator2ES7.ts, 1, 3))
3 ** ++temp - 2;
>temp : Symbol(temp, Decl(emitExponentiationOperator2ES7.ts, 1, 3))
3 ** ++temp * 2;
>temp : Symbol(temp, Decl(emitExponentiationOperator2ES7.ts, 1, 3))
3 ** ++temp / 2;
>temp : Symbol(temp, Decl(emitExponentiationOperator2ES7.ts, 1, 3))
3 ** ++temp % 2;
>temp : Symbol(temp, Decl(emitExponentiationOperator2ES7.ts, 1, 3))
3 ** --temp + 2;
>temp : Symbol(temp, Decl(emitExponentiationOperator2ES7.ts, 1, 3))
3 ** --temp - 2;
>temp : Symbol(temp, Decl(emitExponentiationOperator2ES7.ts, 1, 3))
3 ** --temp * 2;
>temp : Symbol(temp, Decl(emitExponentiationOperator2ES7.ts, 1, 3))
3 ** --temp / 2;
>temp : Symbol(temp, Decl(emitExponentiationOperator2ES7.ts, 1, 3))
3 ** --temp % 2;
>temp : Symbol(temp, Decl(emitExponentiationOperator2ES7.ts, 1, 3))

View File

@@ -0,0 +1,344 @@
=== tests/cases/conformance/es7/exponentiationOperator/emitExponentiationOperator2ES7.ts ===
var temp = 10;
>temp : number
>10 : number
++temp ** 3;
>++temp ** 3 : number
>++temp : number
>temp : number
>3 : number
--temp ** 3;
>--temp ** 3 : number
>--temp : number
>temp : number
>3 : number
temp++ ** 3;
>temp++ ** 3 : number
>temp++ : number
>temp : number
>3 : number
temp-- ** 3;
>temp-- ** 3 : number
>temp-- : number
>temp : number
>3 : number
--temp + temp ** 3;
>--temp + temp ** 3 : number
>--temp : number
>temp : number
>temp ** 3 : number
>temp : number
>3 : number
--temp - temp ** 3;
>--temp - temp ** 3 : number
>--temp : number
>temp : number
>temp ** 3 : number
>temp : number
>3 : number
--temp * temp ** 3;
>--temp * temp ** 3 : number
>--temp : number
>temp : number
>temp ** 3 : number
>temp : number
>3 : number
--temp / temp ** 3;
>--temp / temp ** 3 : number
>--temp : number
>temp : number
>temp ** 3 : number
>temp : number
>3 : number
--temp % temp ** 3;
>--temp % temp ** 3 : number
>--temp : number
>temp : number
>temp ** 3 : number
>temp : number
>3 : number
temp-- ** 3;
>temp-- ** 3 : number
>temp-- : number
>temp : number
>3 : number
temp++ ** 3;
>temp++ ** 3 : number
>temp++ : number
>temp : number
>3 : number
temp-- ** -temp;
>temp-- ** -temp : number
>temp-- : number
>temp : number
>-temp : number
>temp : number
temp++ ** +temp;
>temp++ ** +temp : number
>temp++ : number
>temp : number
>+temp : number
>temp : number
temp-- + temp ** 3;
>temp-- + temp ** 3 : number
>temp-- : number
>temp : number
>temp ** 3 : number
>temp : number
>3 : number
temp-- - temp ** 3;
>temp-- - temp ** 3 : number
>temp-- : number
>temp : number
>temp ** 3 : number
>temp : number
>3 : number
temp-- * temp ** 3;
>temp-- * temp ** 3 : number
>temp-- : number
>temp : number
>temp ** 3 : number
>temp : number
>3 : number
temp-- / temp ** 3;
>temp-- / temp ** 3 : number
>temp-- : number
>temp : number
>temp ** 3 : number
>temp : number
>3 : number
temp-- % temp ** 3;
>temp-- % temp ** 3 : number
>temp-- : number
>temp : number
>temp ** 3 : number
>temp : number
>3 : number
--temp + 2 ** 3;
>--temp + 2 ** 3 : number
>--temp : number
>temp : number
>2 ** 3 : number
>2 : number
>3 : number
--temp - 2 ** 3;
>--temp - 2 ** 3 : number
>--temp : number
>temp : number
>2 ** 3 : number
>2 : number
>3 : number
--temp * 2 ** 3;
>--temp * 2 ** 3 : number
>--temp : number
>temp : number
>2 ** 3 : number
>2 : number
>3 : number
--temp / 2 ** 3;
>--temp / 2 ** 3 : number
>--temp : number
>temp : number
>2 ** 3 : number
>2 : number
>3 : number
--temp % 2 ** 3;
>--temp % 2 ** 3 : number
>--temp : number
>temp : number
>2 ** 3 : number
>2 : number
>3 : number
++temp + 2 ** 3;
>++temp + 2 ** 3 : number
>++temp : number
>temp : number
>2 ** 3 : number
>2 : number
>3 : number
++temp - 2 ** 3;
>++temp - 2 ** 3 : number
>++temp : number
>temp : number
>2 ** 3 : number
>2 : number
>3 : number
++temp * 2 ** 3;
>++temp * 2 ** 3 : number
>++temp : number
>temp : number
>2 ** 3 : number
>2 : number
>3 : number
++temp / 2 ** 3;
>++temp / 2 ** 3 : number
>++temp : number
>temp : number
>2 ** 3 : number
>2 : number
>3 : number
3 ** ++temp;
>3 ** ++temp : number
>3 : number
>++temp : number
>temp : number
3 ** --temp;
>3 ** --temp : number
>3 : number
>--temp : number
>temp : number
3 ** temp++;
>3 ** temp++ : number
>3 : number
>temp++ : number
>temp : number
3 ** temp--;
>3 ** temp-- : number
>3 : number
>temp-- : number
>temp : number
3 ** ++temp ** 2;
>3 ** ++temp ** 2 : number
>3 : number
>++temp ** 2 : number
>++temp : number
>temp : number
>2 : number
3 ** --temp ** 2;
>3 ** --temp ** 2 : number
>3 : number
>--temp ** 2 : number
>--temp : number
>temp : number
>2 : number
3 ** temp++ ** 2;
>3 ** temp++ ** 2 : number
>3 : number
>temp++ ** 2 : number
>temp++ : number
>temp : number
>2 : number
3 ** temp-- ** 2;
>3 ** temp-- ** 2 : number
>3 : number
>temp-- ** 2 : number
>temp-- : number
>temp : number
>2 : number
3 ** ++temp + 2;
>3 ** ++temp + 2 : number
>3 ** ++temp : number
>3 : number
>++temp : number
>temp : number
>2 : number
3 ** ++temp - 2;
>3 ** ++temp - 2 : number
>3 ** ++temp : number
>3 : number
>++temp : number
>temp : number
>2 : number
3 ** ++temp * 2;
>3 ** ++temp * 2 : number
>3 ** ++temp : number
>3 : number
>++temp : number
>temp : number
>2 : number
3 ** ++temp / 2;
>3 ** ++temp / 2 : number
>3 ** ++temp : number
>3 : number
>++temp : number
>temp : number
>2 : number
3 ** ++temp % 2;
>3 ** ++temp % 2 : number
>3 ** ++temp : number
>3 : number
>++temp : number
>temp : number
>2 : number
3 ** --temp + 2;
>3 ** --temp + 2 : number
>3 ** --temp : number
>3 : number
>--temp : number
>temp : number
>2 : number
3 ** --temp - 2;
>3 ** --temp - 2 : number
>3 ** --temp : number
>3 : number
>--temp : number
>temp : number
>2 : number
3 ** --temp * 2;
>3 ** --temp * 2 : number
>3 ** --temp : number
>3 : number
>--temp : number
>temp : number
>2 : number
3 ** --temp / 2;
>3 ** --temp / 2 : number
>3 ** --temp : number
>3 : number
>--temp : number
>temp : number
>2 : number
3 ** --temp % 2;
>3 ** --temp % 2 : number
>3 ** --temp : number
>3 : number
>--temp : number
>temp : number
>2 : number

View File

@@ -1,218 +1,78 @@
//// [emitExponentiationOperator3.ts]
var temp: any;
delete --temp ** 3;
delete ++temp ** 3;
delete temp-- ** 3;
delete temp++ ** 3;
delete -++temp ** 3;
delete -temp++ ** 3;
delete -temp-- ** 3;
var temp = 10;
delete --temp ** 3 ** 1;
delete ++temp ** 3 ** 1;
delete temp-- ** 3 ** 1;
delete temp++ ** 3 ** 1;
delete -++temp ** 3 ** 1;
delete -temp++ ** 3 ** 1;
delete -temp-- ** 3 ** 1;;
(-++temp) ** 3;
(+--temp) ** 3;
(-temp++) ** 3;
(+temp--) ** 3;
(-(1 ** ++temp)) ** 3;
(-(1 ** --temp)) ** 3;
(-(1 ** temp++)) ** 3;
(-(1 ** temp--)) ** 3;
<number>--temp ** 3;
<number>++temp ** 3;
<number>temp-- ** 3;
<number>temp++ ** 3;
<number>-++temp ** 3;
<number>-temp++ ** 3;
<number>-temp-- ** 3;
(-3) ** temp++;
(-3) ** temp--;
(-3) ** ++temp;
(-3) ** --temp;
(+3) ** temp++;
(+3) ** temp--;
(+3) ** ++temp;
(+3) ** --temp;
(-3) ** temp++ ** 2;
(-3) ** temp-- ** 2;
(-3) ** ++temp ** 2;
(-3) ** --temp ** 2;
(+3) ** temp++ ** 2;
(+3) ** temp-- ** 2;
(+3) ** ++temp ** 2;
(+3) ** --temp ** 2;
<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;
typeof --temp ** 3;
typeof temp-- ** 3;
typeof 3 ** 4;
typeof temp++ ** 4;
typeof temp-- ** 4;
typeof -3 ** 4;
typeof -++temp ** 4;
typeof -temp++ ** 4;
typeof -temp-- ** 4;
typeof --temp ** 3 ** 1;
typeof temp-- ** 3 ** 1;
typeof 3 ** 4 ** 1;
typeof temp++ ** 4 ** 1;
typeof temp-- ** 4 ** 1;
typeof -3 ** 4 ** 1;
typeof -++temp ** 4 ** 1;
typeof -temp++ ** 4 ** 1;
typeof -temp-- ** 4 ** 1;
void --temp ** 3;
void temp-- ** 3;
void 3 ** 4;
void temp++ ** 4;
void temp-- ** 4;
void -3 ** 4;
void -++temp ** 4;
void -temp++ ** 4;
void -temp-- ** 4;
void --temp ** 3 ** 1;
void temp-- ** 3 ** 1;
void 3 ** 4 ** 1;
void temp++ ** 4 ** 1;
void temp-- ** 4 ** 1;
void -3 ** 4 ** 1;
void -++temp ** 4 ** 1;
void -temp++ ** 4 ** 1;
void -temp-- ** 4 ** 1;
~ --temp ** 3;
~ temp-- ** 3;
~ 3 ** 4;
~ temp++ ** 4;
~ temp-- ** 4;
~ -3 ** 4;
~ -++temp ** 4;
~ -temp++ ** 4;
~ -temp-- ** 4;
~ --temp ** 3 ** 1;
~ temp-- ** 3 ** 1;
~ 3 ** 4 ** 1;
~ temp++ ** 4 ** 1;
~ temp-- ** 4 ** 1;
~ -3 ** 4 ** 1;
~ -++temp ** 4 ** 1;
~ -temp++ ** 4 ** 1;
~ -temp-- ** 4 ** 1;
! --temp ** 3;
! temp-- ** 3;
! 3 ** 4;
! temp++ ** 4;
! temp-- ** 4;
! -3 ** 4;
! -++temp ** 4;
! -temp++ ** 4;
! -temp-- ** 4;
! --temp ** 3 ** 1;
! temp-- ** 3 ** 1;
! 3 ** 4 ** 1;
! temp++ ** 4 ** 1;
! temp-- ** 4 ** 1;
! -3 ** 4 ** 1;
! -++temp ** 4 ** 1;
! -temp++ ** 4 ** 1;
! -temp-- ** 4 ** 1;
3 ** -temp++;
3 ** -temp--;
3 ** -++temp;
3 ** +--temp;
3 ** (-temp++) ** 2;
3 ** (-temp--) ** 2;
3 ** (+temp++) ** 2;
3 ** (+temp--) ** 2;
3 ** (-++temp) ** 2;
3 ** (+--temp) ** 2;
//// [emitExponentiationOperator3.js]
var temp;
delete Math.pow(--temp, 3);
delete Math.pow(++temp, 3);
delete Math.pow(temp--, 3);
delete Math.pow(temp++, 3);
delete -Math.pow(++temp, 3);
delete -Math.pow(temp++, 3);
delete -Math.pow(temp--, 3);
delete Math.pow(--temp, Math.pow(3, 1));
delete Math.pow(++temp, Math.pow(3, 1));
delete Math.pow(temp--, Math.pow(3, 1));
delete Math.pow(temp++, Math.pow(3, 1));
delete -Math.pow(++temp, Math.pow(3, 1));
delete -Math.pow(temp++, Math.pow(3, 1));
delete -Math.pow(temp--, Math.pow(3, 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(temp--, 3);
Math.pow(--temp, Math.pow(3, 1));
Math.pow(++temp, Math.pow(3, 1));
Math.pow(temp--, Math.pow(3, 1));
Math.pow(temp++, Math.pow(3, 1));
-Math.pow(++temp, Math.pow(3, 1));
-Math.pow(temp++, Math.pow(3, 1));
-Math.pow(temp--, Math.pow(3, 1));
typeof Math.pow(--temp, 3);
typeof Math.pow(temp--, 3);
typeof Math.pow(3, 4);
typeof Math.pow(temp++, 4);
typeof Math.pow(temp--, 4);
typeof -Math.pow(3, 4);
typeof -Math.pow(++temp, 4);
typeof -Math.pow(temp++, 4);
typeof -Math.pow(temp--, 4);
typeof Math.pow(--temp, Math.pow(3, 1));
typeof Math.pow(temp--, Math.pow(3, 1));
typeof Math.pow(3, Math.pow(4, 1));
typeof Math.pow(temp++, Math.pow(4, 1));
typeof Math.pow(temp--, Math.pow(4, 1));
typeof -Math.pow(3, Math.pow(4, 1));
typeof -Math.pow(++temp, Math.pow(4, 1));
typeof -Math.pow(temp++, Math.pow(4, 1));
typeof -Math.pow(temp--, Math.pow(4, 1));
void Math.pow(--temp, 3);
void Math.pow(temp--, 3);
void Math.pow(3, 4);
void Math.pow(temp++, 4);
void Math.pow(temp--, 4);
void -Math.pow(3, 4);
void -Math.pow(++temp, 4);
void -Math.pow(temp++, 4);
void -Math.pow(temp--, 4);
void Math.pow(--temp, Math.pow(3, 1));
void Math.pow(temp--, Math.pow(3, 1));
void Math.pow(3, Math.pow(4, 1));
void Math.pow(temp++, Math.pow(4, 1));
void Math.pow(temp--, Math.pow(4, 1));
void -Math.pow(3, Math.pow(4, 1));
void -Math.pow(++temp, Math.pow(4, 1));
void -Math.pow(temp++, Math.pow(4, 1));
void -Math.pow(temp--, Math.pow(4, 1));
~Math.pow(--temp, 3);
~Math.pow(temp--, 3);
~Math.pow(3, 4);
~Math.pow(temp++, 4);
~Math.pow(temp--, 4);
~-Math.pow(3, 4);
~-Math.pow(++temp, 4);
~-Math.pow(temp++, 4);
~-Math.pow(temp--, 4);
~Math.pow(--temp, Math.pow(3, 1));
~Math.pow(temp--, Math.pow(3, 1));
~Math.pow(3, Math.pow(4, 1));
~Math.pow(temp++, Math.pow(4, 1));
~Math.pow(temp--, Math.pow(4, 1));
~-Math.pow(3, Math.pow(4, 1));
~-Math.pow(++temp, Math.pow(4, 1));
~-Math.pow(temp++, Math.pow(4, 1));
~-Math.pow(temp--, Math.pow(4, 1));
!Math.pow(--temp, 3);
!Math.pow(temp--, 3);
!Math.pow(3, 4);
!Math.pow(temp++, 4);
!Math.pow(temp--, 4);
!-Math.pow(3, 4);
!-Math.pow(++temp, 4);
!-Math.pow(temp++, 4);
!-Math.pow(temp--, 4);
!Math.pow(--temp, Math.pow(3, 1));
!Math.pow(temp--, Math.pow(3, 1));
!Math.pow(3, Math.pow(4, 1));
!Math.pow(temp++, Math.pow(4, 1));
!Math.pow(temp--, Math.pow(4, 1));
!-Math.pow(3, Math.pow(4, 1));
!-Math.pow(++temp, Math.pow(4, 1));
!-Math.pow(temp++, Math.pow(4, 1));
!-Math.pow(temp--, Math.pow(4, 1));
var temp = 10;
Math.pow((-++temp), 3);
Math.pow((+--temp), 3);
Math.pow((-temp++), 3);
Math.pow((+temp--), 3);
Math.pow((-(Math.pow(1, ++temp))), 3);
Math.pow((-(Math.pow(1, --temp))), 3);
Math.pow((-(Math.pow(1, temp++))), 3);
Math.pow((-(Math.pow(1, temp--))), 3);
Math.pow((-3), temp++);
Math.pow((-3), temp--);
Math.pow((-3), ++temp);
Math.pow((-3), --temp);
Math.pow((+3), temp++);
Math.pow((+3), temp--);
Math.pow((+3), ++temp);
Math.pow((+3), --temp);
Math.pow((-3), Math.pow(temp++, 2));
Math.pow((-3), Math.pow(temp--, 2));
Math.pow((-3), Math.pow(++temp, 2));
Math.pow((-3), Math.pow(--temp, 2));
Math.pow((+3), Math.pow(temp++, 2));
Math.pow((+3), Math.pow(temp--, 2));
Math.pow((+3), Math.pow(++temp, 2));
Math.pow((+3), Math.pow(--temp, 2));
Math.pow(3, -temp++);
Math.pow(3, -temp--);
Math.pow(3, -++temp);
Math.pow(3, +--temp);
Math.pow(3, Math.pow((-temp++), 2));
Math.pow(3, Math.pow((-temp--), 2));
Math.pow(3, Math.pow((+temp++), 2));
Math.pow(3, Math.pow((+temp--), 2));
Math.pow(3, Math.pow((-++temp), 2));
Math.pow(3, Math.pow((+--temp), 2));

View File

@@ -1,272 +1,107 @@
=== tests/cases/conformance/es7/exponentiationOperator/emitExponentiationOperator3.ts ===
var temp: any;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 0, 3))
delete --temp ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 0, 3))
var temp = 10;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 1, 3))
delete ++temp ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 0, 3))
(-++temp) ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 1, 3))
delete temp-- ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 0, 3))
(+--temp) ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 1, 3))
delete temp++ ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 0, 3))
(-temp++) ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 1, 3))
delete -++temp ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 0, 3))
(+temp--) ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 1, 3))
delete -temp++ ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 0, 3))
(-(1 ** ++temp)) ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 1, 3))
delete -temp-- ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 0, 3))
(-(1 ** --temp)) ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 1, 3))
delete --temp ** 3 ** 1;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 0, 3))
(-(1 ** temp++)) ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 1, 3))
delete ++temp ** 3 ** 1;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 0, 3))
(-(1 ** temp--)) ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 1, 3))
delete temp-- ** 3 ** 1;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 0, 3))
(-3) ** temp++;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 1, 3))
delete temp++ ** 3 ** 1;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 0, 3))
(-3) ** temp--;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 1, 3))
delete -++temp ** 3 ** 1;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 0, 3))
(-3) ** ++temp;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 1, 3))
delete -temp++ ** 3 ** 1;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 0, 3))
(-3) ** --temp;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 1, 3))
delete -temp-- ** 3 ** 1;;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 0, 3))
(+3) ** temp++;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 1, 3))
<number>--temp ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 0, 3))
(+3) ** temp--;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 1, 3))
<number>++temp ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 0, 3))
(+3) ** ++temp;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 1, 3))
<number>temp-- ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 0, 3))
(+3) ** --temp;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 1, 3))
<number>temp++ ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 0, 3))
(-3) ** temp++ ** 2;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 1, 3))
<number>-++temp ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 0, 3))
(-3) ** temp-- ** 2;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 1, 3))
<number>-temp++ ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 0, 3))
(-3) ** ++temp ** 2;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 1, 3))
<number>-temp-- ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 0, 3))
(-3) ** --temp ** 2;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 1, 3))
<number>--temp ** 3 ** 1;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 0, 3))
(+3) ** temp++ ** 2;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 1, 3))
<number>++temp ** 3 ** 1;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 0, 3))
(+3) ** temp-- ** 2;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 1, 3))
<number>temp-- ** 3 ** 1;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 0, 3))
(+3) ** ++temp ** 2;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 1, 3))
<number>temp++ ** 3 ** 1;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 0, 3))
(+3) ** --temp ** 2;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 1, 3))
<number>-++temp ** 3 ** 1;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 0, 3))
3 ** -temp++;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 1, 3))
<number>-temp++ ** 3 ** 1;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 0, 3))
3 ** -temp--;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 1, 3))
<number>-temp-- ** 3 ** 1;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 0, 3))
3 ** -++temp;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 1, 3))
typeof --temp ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 0, 3))
3 ** +--temp;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 1, 3))
typeof temp-- ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 0, 3))
3 ** (-temp++) ** 2;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 1, 3))
typeof 3 ** 4;
typeof temp++ ** 4;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 0, 3))
3 ** (-temp--) ** 2;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 1, 3))
typeof temp-- ** 4;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 0, 3))
3 ** (+temp++) ** 2;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 1, 3))
typeof -3 ** 4;
typeof -++temp ** 4;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 0, 3))
3 ** (+temp--) ** 2;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 1, 3))
typeof -temp++ ** 4;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 0, 3))
3 ** (-++temp) ** 2;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 1, 3))
typeof -temp-- ** 4;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 0, 3))
typeof --temp ** 3 ** 1;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 0, 3))
typeof temp-- ** 3 ** 1;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 0, 3))
typeof 3 ** 4 ** 1;
typeof temp++ ** 4 ** 1;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 0, 3))
typeof temp-- ** 4 ** 1;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 0, 3))
typeof -3 ** 4 ** 1;
typeof -++temp ** 4 ** 1;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 0, 3))
typeof -temp++ ** 4 ** 1;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 0, 3))
typeof -temp-- ** 4 ** 1;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 0, 3))
void --temp ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 0, 3))
void temp-- ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 0, 3))
void 3 ** 4;
void temp++ ** 4;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 0, 3))
void temp-- ** 4;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 0, 3))
void -3 ** 4;
void -++temp ** 4;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 0, 3))
void -temp++ ** 4;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 0, 3))
void -temp-- ** 4;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 0, 3))
void --temp ** 3 ** 1;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 0, 3))
void temp-- ** 3 ** 1;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 0, 3))
void 3 ** 4 ** 1;
void temp++ ** 4 ** 1;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 0, 3))
void temp-- ** 4 ** 1;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 0, 3))
void -3 ** 4 ** 1;
void -++temp ** 4 ** 1;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 0, 3))
void -temp++ ** 4 ** 1;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 0, 3))
void -temp-- ** 4 ** 1;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 0, 3))
~ --temp ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 0, 3))
~ temp-- ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 0, 3))
~ 3 ** 4;
~ temp++ ** 4;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 0, 3))
~ temp-- ** 4;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 0, 3))
~ -3 ** 4;
~ -++temp ** 4;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 0, 3))
~ -temp++ ** 4;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 0, 3))
~ -temp-- ** 4;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 0, 3))
~ --temp ** 3 ** 1;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 0, 3))
~ temp-- ** 3 ** 1;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 0, 3))
~ 3 ** 4 ** 1;
~ temp++ ** 4 ** 1;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 0, 3))
~ temp-- ** 4 ** 1;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 0, 3))
~ -3 ** 4 ** 1;
~ -++temp ** 4 ** 1;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 0, 3))
~ -temp++ ** 4 ** 1;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 0, 3))
~ -temp-- ** 4 ** 1;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 0, 3))
! --temp ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 0, 3))
! temp-- ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 0, 3))
! 3 ** 4;
! temp++ ** 4;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 0, 3))
! temp-- ** 4;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 0, 3))
! -3 ** 4;
! -++temp ** 4;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 0, 3))
! -temp++ ** 4;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 0, 3))
! -temp-- ** 4;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 0, 3))
! --temp ** 3 ** 1;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 0, 3))
! temp-- ** 3 ** 1;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 0, 3))
! 3 ** 4 ** 1;
! temp++ ** 4 ** 1;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 0, 3))
! temp-- ** 4 ** 1;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 0, 3))
! -3 ** 4 ** 1;
! -++temp ** 4 ** 1;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 0, 3))
! -temp++ ** 4 ** 1;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 0, 3))
! -temp-- ** 4 ** 1;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 0, 3))
3 ** (+--temp) ** 2;
>temp : Symbol(temp, Decl(emitExponentiationOperator3.ts, 1, 3))

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,78 @@
//// [emitExponentiationOperator3ES7.ts]
var temp = 10;
(-++temp) ** 3;
(+--temp) ** 3;
(-temp++) ** 3;
(+temp--) ** 3;
(-(1 ** ++temp)) ** 3;
(-(1 ** --temp)) ** 3;
(-(1 ** temp++)) ** 3;
(-(1 ** temp--)) ** 3;
(-3) ** temp++;
(-3) ** temp--;
(-3) ** ++temp;
(-3) ** --temp;
(+3) ** temp++;
(+3) ** temp--;
(+3) ** ++temp;
(+3) ** --temp;
(-3) ** temp++ ** 2;
(-3) ** temp-- ** 2;
(-3) ** ++temp ** 2;
(-3) ** --temp ** 2;
(+3) ** temp++ ** 2;
(+3) ** temp-- ** 2;
(+3) ** ++temp ** 2;
(+3) ** --temp ** 2;
3 ** -temp++;
3 ** -temp--;
3 ** -++temp;
3 ** +--temp;
3 ** (-temp++) ** 2;
3 ** (-temp--) ** 2;
3 ** (+temp++) ** 2;
3 ** (+temp--) ** 2;
3 ** (-++temp) ** 2;
3 ** (+--temp) ** 2;
//// [emitExponentiationOperator3ES7.js]
var temp = 10;
(-++temp) ** 3;
(+--temp) ** 3;
(-temp++) ** 3;
(+temp--) ** 3;
(-(1 ** ++temp)) ** 3;
(-(1 ** --temp)) ** 3;
(-(1 ** temp++)) ** 3;
(-(1 ** temp--)) ** 3;
(-3) ** temp++;
(-3) ** temp--;
(-3) ** ++temp;
(-3) ** --temp;
(+3) ** temp++;
(+3) ** temp--;
(+3) ** ++temp;
(+3) ** --temp;
(-3) ** temp++ ** 2;
(-3) ** temp-- ** 2;
(-3) ** ++temp ** 2;
(-3) ** --temp ** 2;
(+3) ** temp++ ** 2;
(+3) ** temp-- ** 2;
(+3) ** ++temp ** 2;
(+3) ** --temp ** 2;
3 ** -temp++;
3 ** -temp--;
3 ** -++temp;
3 ** +--temp;
3 ** (-temp++) ** 2;
3 ** (-temp--) ** 2;
3 ** (+temp++) ** 2;
3 ** (+temp--) ** 2;
3 ** (-++temp) ** 2;
3 ** (+--temp) ** 2;

View File

@@ -0,0 +1,107 @@
=== tests/cases/conformance/es7/exponentiationOperator/emitExponentiationOperator3ES7.ts ===
var temp = 10;
>temp : Symbol(temp, Decl(emitExponentiationOperator3ES7.ts, 1, 3))
(-++temp) ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator3ES7.ts, 1, 3))
(+--temp) ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator3ES7.ts, 1, 3))
(-temp++) ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator3ES7.ts, 1, 3))
(+temp--) ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator3ES7.ts, 1, 3))
(-(1 ** ++temp)) ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator3ES7.ts, 1, 3))
(-(1 ** --temp)) ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator3ES7.ts, 1, 3))
(-(1 ** temp++)) ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator3ES7.ts, 1, 3))
(-(1 ** temp--)) ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator3ES7.ts, 1, 3))
(-3) ** temp++;
>temp : Symbol(temp, Decl(emitExponentiationOperator3ES7.ts, 1, 3))
(-3) ** temp--;
>temp : Symbol(temp, Decl(emitExponentiationOperator3ES7.ts, 1, 3))
(-3) ** ++temp;
>temp : Symbol(temp, Decl(emitExponentiationOperator3ES7.ts, 1, 3))
(-3) ** --temp;
>temp : Symbol(temp, Decl(emitExponentiationOperator3ES7.ts, 1, 3))
(+3) ** temp++;
>temp : Symbol(temp, Decl(emitExponentiationOperator3ES7.ts, 1, 3))
(+3) ** temp--;
>temp : Symbol(temp, Decl(emitExponentiationOperator3ES7.ts, 1, 3))
(+3) ** ++temp;
>temp : Symbol(temp, Decl(emitExponentiationOperator3ES7.ts, 1, 3))
(+3) ** --temp;
>temp : Symbol(temp, Decl(emitExponentiationOperator3ES7.ts, 1, 3))
(-3) ** temp++ ** 2;
>temp : Symbol(temp, Decl(emitExponentiationOperator3ES7.ts, 1, 3))
(-3) ** temp-- ** 2;
>temp : Symbol(temp, Decl(emitExponentiationOperator3ES7.ts, 1, 3))
(-3) ** ++temp ** 2;
>temp : Symbol(temp, Decl(emitExponentiationOperator3ES7.ts, 1, 3))
(-3) ** --temp ** 2;
>temp : Symbol(temp, Decl(emitExponentiationOperator3ES7.ts, 1, 3))
(+3) ** temp++ ** 2;
>temp : Symbol(temp, Decl(emitExponentiationOperator3ES7.ts, 1, 3))
(+3) ** temp-- ** 2;
>temp : Symbol(temp, Decl(emitExponentiationOperator3ES7.ts, 1, 3))
(+3) ** ++temp ** 2;
>temp : Symbol(temp, Decl(emitExponentiationOperator3ES7.ts, 1, 3))
(+3) ** --temp ** 2;
>temp : Symbol(temp, Decl(emitExponentiationOperator3ES7.ts, 1, 3))
3 ** -temp++;
>temp : Symbol(temp, Decl(emitExponentiationOperator3ES7.ts, 1, 3))
3 ** -temp--;
>temp : Symbol(temp, Decl(emitExponentiationOperator3ES7.ts, 1, 3))
3 ** -++temp;
>temp : Symbol(temp, Decl(emitExponentiationOperator3ES7.ts, 1, 3))
3 ** +--temp;
>temp : Symbol(temp, Decl(emitExponentiationOperator3ES7.ts, 1, 3))
3 ** (-temp++) ** 2;
>temp : Symbol(temp, Decl(emitExponentiationOperator3ES7.ts, 1, 3))
3 ** (-temp--) ** 2;
>temp : Symbol(temp, Decl(emitExponentiationOperator3ES7.ts, 1, 3))
3 ** (+temp++) ** 2;
>temp : Symbol(temp, Decl(emitExponentiationOperator3ES7.ts, 1, 3))
3 ** (+temp--) ** 2;
>temp : Symbol(temp, Decl(emitExponentiationOperator3ES7.ts, 1, 3))
3 ** (-++temp) ** 2;
>temp : Symbol(temp, Decl(emitExponentiationOperator3ES7.ts, 1, 3))
3 ** (+--temp) ** 2;
>temp : Symbol(temp, Decl(emitExponentiationOperator3ES7.ts, 1, 3))

View File

@@ -0,0 +1,314 @@
=== tests/cases/conformance/es7/exponentiationOperator/emitExponentiationOperator3ES7.ts ===
var temp = 10;
>temp : number
>10 : number
(-++temp) ** 3;
>(-++temp) ** 3 : number
>(-++temp) : number
>-++temp : number
>++temp : number
>temp : number
>3 : number
(+--temp) ** 3;
>(+--temp) ** 3 : number
>(+--temp) : number
>+--temp : number
>--temp : number
>temp : number
>3 : number
(-temp++) ** 3;
>(-temp++) ** 3 : number
>(-temp++) : number
>-temp++ : number
>temp++ : number
>temp : number
>3 : number
(+temp--) ** 3;
>(+temp--) ** 3 : number
>(+temp--) : number
>+temp-- : number
>temp-- : number
>temp : number
>3 : number
(-(1 ** ++temp)) ** 3;
>(-(1 ** ++temp)) ** 3 : number
>(-(1 ** ++temp)) : number
>-(1 ** ++temp) : number
>(1 ** ++temp) : number
>1 ** ++temp : number
>1 : number
>++temp : number
>temp : number
>3 : number
(-(1 ** --temp)) ** 3;
>(-(1 ** --temp)) ** 3 : number
>(-(1 ** --temp)) : number
>-(1 ** --temp) : number
>(1 ** --temp) : number
>1 ** --temp : number
>1 : number
>--temp : number
>temp : number
>3 : number
(-(1 ** temp++)) ** 3;
>(-(1 ** temp++)) ** 3 : number
>(-(1 ** temp++)) : number
>-(1 ** temp++) : number
>(1 ** temp++) : number
>1 ** temp++ : number
>1 : number
>temp++ : number
>temp : number
>3 : number
(-(1 ** temp--)) ** 3;
>(-(1 ** temp--)) ** 3 : number
>(-(1 ** temp--)) : number
>-(1 ** temp--) : number
>(1 ** temp--) : number
>1 ** temp-- : number
>1 : number
>temp-- : number
>temp : number
>3 : number
(-3) ** temp++;
>(-3) ** temp++ : number
>(-3) : number
>-3 : number
>3 : number
>temp++ : number
>temp : number
(-3) ** temp--;
>(-3) ** temp-- : number
>(-3) : number
>-3 : number
>3 : number
>temp-- : number
>temp : number
(-3) ** ++temp;
>(-3) ** ++temp : number
>(-3) : number
>-3 : number
>3 : number
>++temp : number
>temp : number
(-3) ** --temp;
>(-3) ** --temp : number
>(-3) : number
>-3 : number
>3 : number
>--temp : number
>temp : number
(+3) ** temp++;
>(+3) ** temp++ : number
>(+3) : number
>+3 : number
>3 : number
>temp++ : number
>temp : number
(+3) ** temp--;
>(+3) ** temp-- : number
>(+3) : number
>+3 : number
>3 : number
>temp-- : number
>temp : number
(+3) ** ++temp;
>(+3) ** ++temp : number
>(+3) : number
>+3 : number
>3 : number
>++temp : number
>temp : number
(+3) ** --temp;
>(+3) ** --temp : number
>(+3) : number
>+3 : number
>3 : number
>--temp : number
>temp : number
(-3) ** temp++ ** 2;
>(-3) ** temp++ ** 2 : number
>(-3) : number
>-3 : number
>3 : number
>temp++ ** 2 : number
>temp++ : number
>temp : number
>2 : number
(-3) ** temp-- ** 2;
>(-3) ** temp-- ** 2 : number
>(-3) : number
>-3 : number
>3 : number
>temp-- ** 2 : number
>temp-- : number
>temp : number
>2 : number
(-3) ** ++temp ** 2;
>(-3) ** ++temp ** 2 : number
>(-3) : number
>-3 : number
>3 : number
>++temp ** 2 : number
>++temp : number
>temp : number
>2 : number
(-3) ** --temp ** 2;
>(-3) ** --temp ** 2 : number
>(-3) : number
>-3 : number
>3 : number
>--temp ** 2 : number
>--temp : number
>temp : number
>2 : number
(+3) ** temp++ ** 2;
>(+3) ** temp++ ** 2 : number
>(+3) : number
>+3 : number
>3 : number
>temp++ ** 2 : number
>temp++ : number
>temp : number
>2 : number
(+3) ** temp-- ** 2;
>(+3) ** temp-- ** 2 : number
>(+3) : number
>+3 : number
>3 : number
>temp-- ** 2 : number
>temp-- : number
>temp : number
>2 : number
(+3) ** ++temp ** 2;
>(+3) ** ++temp ** 2 : number
>(+3) : number
>+3 : number
>3 : number
>++temp ** 2 : number
>++temp : number
>temp : number
>2 : number
(+3) ** --temp ** 2;
>(+3) ** --temp ** 2 : number
>(+3) : number
>+3 : number
>3 : number
>--temp ** 2 : number
>--temp : number
>temp : number
>2 : number
3 ** -temp++;
>3 ** -temp++ : number
>3 : number
>-temp++ : number
>temp++ : number
>temp : number
3 ** -temp--;
>3 ** -temp-- : number
>3 : number
>-temp-- : number
>temp-- : number
>temp : number
3 ** -++temp;
>3 ** -++temp : number
>3 : number
>-++temp : number
>++temp : number
>temp : number
3 ** +--temp;
>3 ** +--temp : number
>3 : number
>+--temp : number
>--temp : number
>temp : number
3 ** (-temp++) ** 2;
>3 ** (-temp++) ** 2 : number
>3 : number
>(-temp++) ** 2 : number
>(-temp++) : number
>-temp++ : number
>temp++ : number
>temp : number
>2 : number
3 ** (-temp--) ** 2;
>3 ** (-temp--) ** 2 : number
>3 : number
>(-temp--) ** 2 : number
>(-temp--) : number
>-temp-- : number
>temp-- : number
>temp : number
>2 : number
3 ** (+temp++) ** 2;
>3 ** (+temp++) ** 2 : number
>3 : number
>(+temp++) ** 2 : number
>(+temp++) : number
>+temp++ : number
>temp++ : number
>temp : number
>2 : number
3 ** (+temp--) ** 2;
>3 ** (+temp--) ** 2 : number
>3 : number
>(+temp--) ** 2 : number
>(+temp--) : number
>+temp-- : number
>temp-- : number
>temp : number
>2 : number
3 ** (-++temp) ** 2;
>3 ** (-++temp) ** 2 : number
>3 : number
>(-++temp) ** 2 : number
>(-++temp) : number
>-++temp : number
>++temp : number
>temp : number
>2 : number
3 ** (+--temp) ** 2;
>3 ** (+--temp) ** 2 : number
>3 : number
>(+--temp) ** 2 : number
>(+--temp) : number
>+--temp : number
>--temp : number
>temp : number
>2 : number

View File

@@ -0,0 +1,68 @@
//// [emitExponentiationOperator4.ts]
var temp: any;
<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;
(void --temp) ** 3;
(void temp--) ** 3;
(void 3) ** 4;
(void temp++) ** 4;
(void temp--) ** 4;
1 ** (void --temp) ** 3;
1 ** (void temp--) ** 3;
1 ** (void 3) ** 4;
1 ** (void temp++) ** 4;
1 ** (void temp--) ** 4;
(~ --temp) ** 3;
(~ temp--) ** 3;
(~ 3) ** 4;
(~ temp++) ** 4;
(~ temp--) ** 4;
1 ** (~ --temp) ** 3;
1 ** (~ temp--) ** 3;
1 ** (~ 3) ** 4;
1 ** (~ temp++) ** 4;
1 ** (~ temp--) ** 4;
//// [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((void --temp), 3);
Math.pow((void temp--), 3);
Math.pow((void 3), 4);
Math.pow((void temp++), 4);
Math.pow((void temp--), 4);
Math.pow(1, Math.pow((void --temp), 3));
Math.pow(1, Math.pow((void temp--), 3));
Math.pow(1, Math.pow((void 3), 4));
Math.pow(1, Math.pow((void temp++), 4));
Math.pow(1, Math.pow((void temp--), 4));
Math.pow((~--temp), 3);
Math.pow((~temp--), 3);
Math.pow((~3), 4);
Math.pow((~temp++), 4);
Math.pow((~temp--), 4);
Math.pow(1, Math.pow((~--temp), 3));
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));

View File

@@ -0,0 +1,81 @@
=== tests/cases/conformance/es7/exponentiationOperator/emitExponentiationOperator4.ts ===
var temp: any;
>temp : Symbol(temp, Decl(emitExponentiationOperator4.ts, 0, 3))
<number>--temp ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator4.ts, 0, 3))
<number>++temp ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator4.ts, 0, 3))
<number>temp-- ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator4.ts, 0, 3))
<number>temp++ ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator4.ts, 0, 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))
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;
>temp : Symbol(temp, Decl(emitExponentiationOperator4.ts, 0, 3))
(void temp--) ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator4.ts, 0, 3))
(void 3) ** 4;
(void temp++) ** 4;
>temp : Symbol(temp, Decl(emitExponentiationOperator4.ts, 0, 3))
(void temp--) ** 4;
>temp : Symbol(temp, Decl(emitExponentiationOperator4.ts, 0, 3))
1 ** (void --temp) ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator4.ts, 0, 3))
1 ** (void temp--) ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator4.ts, 0, 3))
1 ** (void 3) ** 4;
1 ** (void temp++) ** 4;
>temp : Symbol(temp, Decl(emitExponentiationOperator4.ts, 0, 3))
1 ** (void temp--) ** 4;
>temp : Symbol(temp, Decl(emitExponentiationOperator4.ts, 0, 3))
(~ --temp) ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator4.ts, 0, 3))
(~ temp--) ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator4.ts, 0, 3))
(~ 3) ** 4;
(~ temp++) ** 4;
>temp : Symbol(temp, Decl(emitExponentiationOperator4.ts, 0, 3))
(~ temp--) ** 4;
>temp : Symbol(temp, Decl(emitExponentiationOperator4.ts, 0, 3))
1 ** (~ --temp) ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator4.ts, 0, 3))
1 ** (~ temp--) ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator4.ts, 0, 3))
1 ** (~ 3) ** 4;
1 ** (~ temp++) ** 4;
>temp : Symbol(temp, Decl(emitExponentiationOperator4.ts, 0, 3))
1 ** (~ temp--) ** 4;
>temp : Symbol(temp, Decl(emitExponentiationOperator4.ts, 0, 3))

View File

@@ -0,0 +1,245 @@
=== tests/cases/conformance/es7/exponentiationOperator/emitExponentiationOperator4.ts ===
var temp: any;
>temp : any
<number>--temp ** 3;
><number>--temp ** 3 : number
>--temp ** 3 : number
>--temp : number
>temp : any
>3 : number
<number>++temp ** 3;
><number>++temp ** 3 : number
>++temp ** 3 : number
>++temp : number
>temp : any
>3 : number
<number>temp-- ** 3;
><number>temp-- ** 3 : number
>temp-- ** 3 : number
>temp-- : number
>temp : any
>3 : number
<number>temp++ ** 3;
><number>temp++ ** 3 : number
>temp++ ** 3 : number
>temp++ : number
>temp : any
>3 : number
1 ** <number>--temp ** 3;
>1 ** <number>--temp ** 3 : number
>1 : number
><number>--temp ** 3 : number
>--temp ** 3 : number
>--temp : number
>temp : any
>3 : number
1 ** <number>++temp ** 3;
>1 ** <number>++temp ** 3 : number
>1 : number
><number>++temp ** 3 : number
>++temp ** 3 : number
>++temp : number
>temp : any
>3 : number
1 ** <number>temp-- ** 3;
>1 ** <number>temp-- ** 3 : number
>1 : number
><number>temp-- ** 3 : number
>temp-- ** 3 : number
>temp-- : number
>temp : any
>3 : number
1 ** <number>temp++ ** 3;
>1 ** <number>temp++ ** 3 : number
>1 : number
><number>temp++ ** 3 : number
>temp++ ** 3 : number
>temp++ : number
>temp : any
>3 : number
(void --temp) ** 3;
>(void --temp) ** 3 : number
>(void --temp) : undefined
>void --temp : undefined
>--temp : number
>temp : any
>3 : number
(void temp--) ** 3;
>(void temp--) ** 3 : number
>(void temp--) : undefined
>void temp-- : undefined
>temp-- : number
>temp : any
>3 : number
(void 3) ** 4;
>(void 3) ** 4 : number
>(void 3) : undefined
>void 3 : undefined
>3 : number
>4 : number
(void temp++) ** 4;
>(void temp++) ** 4 : number
>(void temp++) : undefined
>void temp++ : undefined
>temp++ : number
>temp : any
>4 : number
(void temp--) ** 4;
>(void temp--) ** 4 : number
>(void temp--) : undefined
>void temp-- : undefined
>temp-- : number
>temp : any
>4 : number
1 ** (void --temp) ** 3;
>1 ** (void --temp) ** 3 : number
>1 : number
>(void --temp) ** 3 : number
>(void --temp) : undefined
>void --temp : undefined
>--temp : number
>temp : any
>3 : number
1 ** (void temp--) ** 3;
>1 ** (void temp--) ** 3 : number
>1 : number
>(void temp--) ** 3 : number
>(void temp--) : undefined
>void temp-- : undefined
>temp-- : number
>temp : any
>3 : number
1 ** (void 3) ** 4;
>1 ** (void 3) ** 4 : number
>1 : number
>(void 3) ** 4 : number
>(void 3) : undefined
>void 3 : undefined
>3 : number
>4 : number
1 ** (void temp++) ** 4;
>1 ** (void temp++) ** 4 : number
>1 : number
>(void temp++) ** 4 : number
>(void temp++) : undefined
>void temp++ : undefined
>temp++ : number
>temp : any
>4 : number
1 ** (void temp--) ** 4;
>1 ** (void temp--) ** 4 : number
>1 : number
>(void temp--) ** 4 : number
>(void temp--) : undefined
>void temp-- : undefined
>temp-- : number
>temp : any
>4 : number
(~ --temp) ** 3;
>(~ --temp) ** 3 : number
>(~ --temp) : number
>~ --temp : number
>--temp : number
>temp : any
>3 : number
(~ temp--) ** 3;
>(~ temp--) ** 3 : number
>(~ temp--) : number
>~ temp-- : number
>temp-- : number
>temp : any
>3 : number
(~ 3) ** 4;
>(~ 3) ** 4 : number
>(~ 3) : number
>~ 3 : number
>3 : number
>4 : number
(~ temp++) ** 4;
>(~ temp++) ** 4 : number
>(~ temp++) : number
>~ temp++ : number
>temp++ : number
>temp : any
>4 : number
(~ temp--) ** 4;
>(~ temp--) ** 4 : number
>(~ temp--) : number
>~ temp-- : number
>temp-- : number
>temp : any
>4 : number
1 ** (~ --temp) ** 3;
>1 ** (~ --temp) ** 3 : number
>1 : number
>(~ --temp) ** 3 : number
>(~ --temp) : number
>~ --temp : number
>--temp : number
>temp : any
>3 : number
1 ** (~ temp--) ** 3;
>1 ** (~ temp--) ** 3 : number
>1 : number
>(~ temp--) ** 3 : number
>(~ temp--) : number
>~ temp-- : number
>temp-- : number
>temp : any
>3 : number
1 ** (~ 3) ** 4;
>1 ** (~ 3) ** 4 : number
>1 : number
>(~ 3) ** 4 : number
>(~ 3) : number
>~ 3 : number
>3 : number
>4 : number
1 ** (~ temp++) ** 4;
>1 ** (~ temp++) ** 4 : number
>1 : number
>(~ temp++) ** 4 : number
>(~ temp++) : number
>~ temp++ : number
>temp++ : number
>temp : any
>4 : number
1 ** (~ temp--) ** 4;
>1 ** (~ temp--) ** 4 : number
>1 : number
>(~ temp--) ** 4 : number
>(~ temp--) : number
>~ temp-- : number
>temp-- : number
>temp : any
>4 : number

View File

@@ -0,0 +1,68 @@
//// [emitExponentiationOperator4ES7.ts]
var temp: any;
<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;
(void --temp) ** 3;
(void temp--) ** 3;
(void 3) ** 4;
(void temp++) ** 4;
(void temp--) ** 4;
1 ** (void --temp) ** 3;
1 ** (void temp--) ** 3;
1 ** (void 3) ** 4;
1 ** (void temp++) ** 4;
1 ** (void temp--) ** 4;
(~ --temp) ** 3;
(~temp--) ** 3;
(~3) ** 4;
(~temp++) ** 4;
(~temp--) ** 4;
1 ** (~ --temp) ** 3;
1 ** (~temp--) ** 3;
1 ** (~3) ** 4;
1 ** (~temp++) ** 4;
1 ** (~temp--) ** 4;
//// [emitExponentiationOperator4ES7.js]
var temp;
--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;
(void temp++) ** 4;
(void temp--) ** 4;
1 ** (void --temp) ** 3;
1 ** (void temp--) ** 3;
1 ** (void 3) ** 4;
1 ** (void temp++) ** 4;
1 ** (void temp--) ** 4;
(~--temp) ** 3;
(~temp--) ** 3;
(~3) ** 4;
(~temp++) ** 4;
(~temp--) ** 4;
1 ** (~--temp) ** 3;
1 ** (~temp--) ** 3;
1 ** (~3) ** 4;
1 ** (~temp++) ** 4;
1 ** (~temp--) ** 4;

View File

@@ -0,0 +1,81 @@
=== tests/cases/conformance/es7/exponentiationOperator/emitExponentiationOperator4ES7.ts ===
var temp: any;
>temp : Symbol(temp, Decl(emitExponentiationOperator4ES7.ts, 0, 3))
<number>--temp ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator4ES7.ts, 0, 3))
<number>++temp ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator4ES7.ts, 0, 3))
<number>temp-- ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator4ES7.ts, 0, 3))
<number>temp++ ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator4ES7.ts, 0, 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))
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;
>temp : Symbol(temp, Decl(emitExponentiationOperator4ES7.ts, 0, 3))
(void temp--) ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator4ES7.ts, 0, 3))
(void 3) ** 4;
(void temp++) ** 4;
>temp : Symbol(temp, Decl(emitExponentiationOperator4ES7.ts, 0, 3))
(void temp--) ** 4;
>temp : Symbol(temp, Decl(emitExponentiationOperator4ES7.ts, 0, 3))
1 ** (void --temp) ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator4ES7.ts, 0, 3))
1 ** (void temp--) ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator4ES7.ts, 0, 3))
1 ** (void 3) ** 4;
1 ** (void temp++) ** 4;
>temp : Symbol(temp, Decl(emitExponentiationOperator4ES7.ts, 0, 3))
1 ** (void temp--) ** 4;
>temp : Symbol(temp, Decl(emitExponentiationOperator4ES7.ts, 0, 3))
(~ --temp) ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator4ES7.ts, 0, 3))
(~temp--) ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator4ES7.ts, 0, 3))
(~3) ** 4;
(~temp++) ** 4;
>temp : Symbol(temp, Decl(emitExponentiationOperator4ES7.ts, 0, 3))
(~temp--) ** 4;
>temp : Symbol(temp, Decl(emitExponentiationOperator4ES7.ts, 0, 3))
1 ** (~ --temp) ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator4ES7.ts, 0, 3))
1 ** (~temp--) ** 3;
>temp : Symbol(temp, Decl(emitExponentiationOperator4ES7.ts, 0, 3))
1 ** (~3) ** 4;
1 ** (~temp++) ** 4;
>temp : Symbol(temp, Decl(emitExponentiationOperator4ES7.ts, 0, 3))
1 ** (~temp--) ** 4;
>temp : Symbol(temp, Decl(emitExponentiationOperator4ES7.ts, 0, 3))

View File

@@ -0,0 +1,245 @@
=== tests/cases/conformance/es7/exponentiationOperator/emitExponentiationOperator4ES7.ts ===
var temp: any;
>temp : any
<number>--temp ** 3;
><number>--temp ** 3 : number
>--temp ** 3 : number
>--temp : number
>temp : any
>3 : number
<number>++temp ** 3;
><number>++temp ** 3 : number
>++temp ** 3 : number
>++temp : number
>temp : any
>3 : number
<number>temp-- ** 3;
><number>temp-- ** 3 : number
>temp-- ** 3 : number
>temp-- : number
>temp : any
>3 : number
<number>temp++ ** 3;
><number>temp++ ** 3 : number
>temp++ ** 3 : number
>temp++ : number
>temp : any
>3 : number
1 ** <number>--temp ** 3;
>1 ** <number>--temp ** 3 : number
>1 : number
><number>--temp ** 3 : number
>--temp ** 3 : number
>--temp : number
>temp : any
>3 : number
1 ** <number>++temp ** 3;
>1 ** <number>++temp ** 3 : number
>1 : number
><number>++temp ** 3 : number
>++temp ** 3 : number
>++temp : number
>temp : any
>3 : number
1 ** <number>temp-- ** 3;
>1 ** <number>temp-- ** 3 : number
>1 : number
><number>temp-- ** 3 : number
>temp-- ** 3 : number
>temp-- : number
>temp : any
>3 : number
1 ** <number>temp++ ** 3;
>1 ** <number>temp++ ** 3 : number
>1 : number
><number>temp++ ** 3 : number
>temp++ ** 3 : number
>temp++ : number
>temp : any
>3 : number
(void --temp) ** 3;
>(void --temp) ** 3 : number
>(void --temp) : undefined
>void --temp : undefined
>--temp : number
>temp : any
>3 : number
(void temp--) ** 3;
>(void temp--) ** 3 : number
>(void temp--) : undefined
>void temp-- : undefined
>temp-- : number
>temp : any
>3 : number
(void 3) ** 4;
>(void 3) ** 4 : number
>(void 3) : undefined
>void 3 : undefined
>3 : number
>4 : number
(void temp++) ** 4;
>(void temp++) ** 4 : number
>(void temp++) : undefined
>void temp++ : undefined
>temp++ : number
>temp : any
>4 : number
(void temp--) ** 4;
>(void temp--) ** 4 : number
>(void temp--) : undefined
>void temp-- : undefined
>temp-- : number
>temp : any
>4 : number
1 ** (void --temp) ** 3;
>1 ** (void --temp) ** 3 : number
>1 : number
>(void --temp) ** 3 : number
>(void --temp) : undefined
>void --temp : undefined
>--temp : number
>temp : any
>3 : number
1 ** (void temp--) ** 3;
>1 ** (void temp--) ** 3 : number
>1 : number
>(void temp--) ** 3 : number
>(void temp--) : undefined
>void temp-- : undefined
>temp-- : number
>temp : any
>3 : number
1 ** (void 3) ** 4;
>1 ** (void 3) ** 4 : number
>1 : number
>(void 3) ** 4 : number
>(void 3) : undefined
>void 3 : undefined
>3 : number
>4 : number
1 ** (void temp++) ** 4;
>1 ** (void temp++) ** 4 : number
>1 : number
>(void temp++) ** 4 : number
>(void temp++) : undefined
>void temp++ : undefined
>temp++ : number
>temp : any
>4 : number
1 ** (void temp--) ** 4;
>1 ** (void temp--) ** 4 : number
>1 : number
>(void temp--) ** 4 : number
>(void temp--) : undefined
>void temp-- : undefined
>temp-- : number
>temp : any
>4 : number
(~ --temp) ** 3;
>(~ --temp) ** 3 : number
>(~ --temp) : number
>~ --temp : number
>--temp : number
>temp : any
>3 : number
(~temp--) ** 3;
>(~temp--) ** 3 : number
>(~temp--) : number
>~temp-- : number
>temp-- : number
>temp : any
>3 : number
(~3) ** 4;
>(~3) ** 4 : number
>(~3) : number
>~3 : number
>3 : number
>4 : number
(~temp++) ** 4;
>(~temp++) ** 4 : number
>(~temp++) : number
>~temp++ : number
>temp++ : number
>temp : any
>4 : number
(~temp--) ** 4;
>(~temp--) ** 4 : number
>(~temp--) : number
>~temp-- : number
>temp-- : number
>temp : any
>4 : number
1 ** (~ --temp) ** 3;
>1 ** (~ --temp) ** 3 : number
>1 : number
>(~ --temp) ** 3 : number
>(~ --temp) : number
>~ --temp : number
>--temp : number
>temp : any
>3 : number
1 ** (~temp--) ** 3;
>1 ** (~temp--) ** 3 : number
>1 : number
>(~temp--) ** 3 : number
>(~temp--) : number
>~temp-- : number
>temp-- : number
>temp : any
>3 : number
1 ** (~3) ** 4;
>1 ** (~3) ** 4 : number
>1 : number
>(~3) ** 4 : number
>(~3) : number
>~3 : number
>3 : number
>4 : number
1 ** (~temp++) ** 4;
>1 ** (~temp++) ** 4 : number
>1 : number
>(~temp++) ** 4 : number
>(~temp++) : number
>~temp++ : number
>temp++ : number
>temp : any
>4 : number
1 ** (~temp--) ** 4;
>1 ** (~temp--) ** 4 : number
>1 : number
>(~temp--) ** 4 : number
>(~temp--) : number
>~temp-- : number
>temp-- : number
>temp : any
>4 : number