Address PR feedback, remove scriptTarget ES7

This commit is contained in:
Yui T
2015-10-08 17:12:22 -07:00
parent af5dc3e3b3
commit 5e921c1d8d
31 changed files with 16 additions and 2662 deletions
+1 -1
View File
@@ -204,7 +204,7 @@ namespace ts {
{
name: "target",
shortName: "t",
type: { "es3": ScriptTarget.ES3, "es5": ScriptTarget.ES5, "es6": ScriptTarget.ES6, "es7": ScriptTarget.ES7 },
type: { "es3": ScriptTarget.ES3, "es5": ScriptTarget.ES5, "es6": ScriptTarget.ES6 },
description: Diagnostics.Specify_ECMAScript_target_version_Colon_ES3_default_ES5_or_ES6_experimental,
paramType: Diagnostics.VERSION,
error: Diagnostics.Argument_for_target_option_must_be_ES3_ES5_or_ES6
@@ -619,6 +619,6 @@ namespace ts {
Cannot_use_JSX_unless_the_jsx_flag_is_provided: { code: 17004, category: DiagnosticCategory.Error, key: "Cannot use JSX unless the '--jsx' flag is provided." },
A_constructor_cannot_contain_a_super_call_when_its_class_extends_null: { code: 17005, category: DiagnosticCategory.Error, key: "A constructor cannot contain a 'super' call when its class extends 'null'" },
An_unary_expression_with_the_0_operator_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses: { code: 17006, category: DiagnosticCategory.Error, key: "An unary expression with the '{0}' operator is not allowed in the left-hand side of an exponentiation expression. Consider enclosing the expression in parentheses." },
A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses: { code: 17006, category: DiagnosticCategory.Error, key: "A type assertion expression is not allowed in the left-hand side of an exponentiation expression. Consider enclosing the expression in parentheses." },
A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses: { code: 17007, category: DiagnosticCategory.Error, key: "A type assertion expression is not allowed in the left-hand side of an exponentiation expression. Consider enclosing the expression in parentheses." },
};
}
+1 -1
View File
@@ -2473,6 +2473,6 @@
},
"A type assertion expression is not allowed in the left-hand side of an exponentiation expression. Consider enclosing the expression in parentheses.": {
"category": "Error",
"code": 17006
"code": 17007
}
}
+2 -3
View File
@@ -836,8 +836,6 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, Promi
}
}
let node = nodes[start + i];
let leadingComments = getLeadingCommentsToEmit(node);
let trailingComments = getTrailingCommentRanges(currentSourceFile.text, node.pos);
// This emitting is to make sure we emit following comment properly
// ...(x, /*comment1*/ y)...
// ^ => node.pos
@@ -2587,7 +2585,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, Promi
write(`", `);
}
if (languageVersion < ScriptTarget.ES7 && (node.operatorToken.kind === SyntaxKind.AsteriskAsteriskToken || node.operatorToken.kind === SyntaxKind.AsteriskAsteriskEqualsToken)) {
if (node.operatorToken.kind === SyntaxKind.AsteriskAsteriskToken || node.operatorToken.kind === SyntaxKind.AsteriskAsteriskEqualsToken) {
// Downleveled emit exponentiation operator using Math.pow
emitExponentiationOperator(node);
}
else {
-1
View File
@@ -2107,7 +2107,6 @@ namespace ts {
ES3 = 0,
ES5 = 1,
ES6 = 2,
ES7 = 3,
Latest = ES6,
}
+1 -10
View File
@@ -932,16 +932,7 @@ module Harness {
}
else {
if (fn === defaultLibFileName) {
switch (languageVersion) {
case ts.ScriptTarget.ES6:
case ts.ScriptTarget.ES7:
// TODO : Update to use ES7 specific lib file
return defaultES6LibSourceFile;
case ts.ScriptTarget.ES3:
case ts.ScriptTarget.ES5:
default:
return defaultLibSourceFile;
}
return languageVersion === ts.ScriptTarget.ES6 ? defaultES6LibSourceFile : defaultLibSourceFile;
}
// Don't throw here -- the compiler might be looking for a test that actually doesn't exist as part of the TC
return undefined;
@@ -1,43 +0,0 @@
//// [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);
@@ -1,83 +0,0 @@
=== 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))
@@ -1,171 +0,0 @@
=== 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
@@ -1,47 +0,0 @@
//// [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;
@@ -1,76 +0,0 @@
=== 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))
@@ -1,185 +0,0 @@
=== 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
@@ -1,62 +0,0 @@
//// [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;
@@ -1,34 +0,0 @@
=== 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.
@@ -1,207 +0,0 @@
=== 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
@@ -1,104 +0,0 @@
//// [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;
@@ -1,152 +0,0 @@
=== 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))
@@ -1,344 +0,0 @@
=== 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
@@ -1,78 +0,0 @@
//// [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;
@@ -1,107 +0,0 @@
=== 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))
@@ -1,314 +0,0 @@
=== 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
@@ -1,70 +0,0 @@
//// [emitExponentiationOperator4ES7.ts]
var temp: any;
(<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;
(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;
(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;
@@ -1,84 +0,0 @@
=== 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))
(<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))
@@ -1,260 +0,0 @@
=== tests/cases/conformance/es7/exponentiationOperator/emitExponentiationOperator4ES7.ts ===
var temp: any;
>temp : any
(<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
>(<number>++temp) : number
><number>++temp : 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
>(<number>temp++) : number
><number>temp++ : number
>temp++ : number
>temp : any
>3 : number
1 ** (<number>--temp) ** 3;
>1 ** (<number>--temp) ** 3 : number
>1 : 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
>(<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
>(<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
>(<number>temp++) ** 3 : number
>(<number>temp++) : number
><number>temp++ : 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
@@ -74,11 +74,11 @@ tests/cases/conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxE
tests/cases/conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts(61,6): error TS17006: An unary expression with the '!' operator is not allowed in the left-hand side of an exponentiation expression. Consider enclosing the expression in parentheses.
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,6): error TS17006: An unary expression with the '!' operator is not allowed in the left-hand side of an exponentiation expression. Consider enclosing the expression in parentheses.
tests/cases/conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts(64,1): error TS17006: A type assertion expression is not allowed in the left-hand side of an exponentiation expression. Consider enclosing the expression in parentheses.
tests/cases/conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts(65,1): error TS17006: A type assertion expression is not allowed in the left-hand side of an exponentiation expression. Consider enclosing the expression in parentheses.
tests/cases/conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts(66,1): error TS17006: A type assertion expression is not allowed in the left-hand side of an exponentiation expression. Consider enclosing the expression in parentheses.
tests/cases/conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts(67,1): error TS17006: A type assertion expression is not allowed in the left-hand side of an exponentiation expression. Consider enclosing the expression in parentheses.
tests/cases/conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts(68,1): error TS17006: A type assertion expression is not allowed in the left-hand side of an exponentiation expression. Consider enclosing the expression in parentheses.
tests/cases/conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts(64,1): error TS17007: A type assertion expression is not allowed in the left-hand side of an exponentiation expression. Consider enclosing the expression in parentheses.
tests/cases/conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts(65,1): error TS17007: A type assertion expression is not allowed in the left-hand side of an exponentiation expression. Consider enclosing the expression in parentheses.
tests/cases/conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts(66,1): error TS17007: A type assertion expression is not allowed in the left-hand side of an exponentiation expression. Consider enclosing the expression in parentheses.
tests/cases/conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts(67,1): error TS17007: A type assertion expression is not allowed in the left-hand side of an exponentiation expression. Consider enclosing the expression in parentheses.
tests/cases/conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts(68,1): error TS17007: A type assertion expression is not allowed in the left-hand side of an exponentiation expression. Consider enclosing the expression in parentheses.
==== tests/cases/conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxError2.ts (81 errors) ====
@@ -299,16 +299,16 @@ tests/cases/conformance/es7/exponentiationOperator/exponentiationOperatorSyntaxE
<number>temp ** 3;
~~~~~~~~~~~~
!!! error TS17006: A type assertion expression is not allowed in the left-hand side of an exponentiation expression. Consider enclosing the expression in parentheses.
!!! error TS17007: A type assertion expression is not allowed in the left-hand side of an exponentiation expression. Consider enclosing the expression in parentheses.
<number>++temp ** 3;
~~~~~~~~~~~~~~
!!! error TS17006: A type assertion expression is not allowed in the left-hand side of an exponentiation expression. Consider enclosing the expression in parentheses.
!!! error TS17007: A type assertion expression is not allowed in the left-hand side of an exponentiation expression. Consider enclosing the expression in parentheses.
<number>--temp ** 3;
~~~~~~~~~~~~~~
!!! error TS17006: A type assertion expression is not allowed in the left-hand side of an exponentiation expression. Consider enclosing the expression in parentheses.
!!! error TS17007: A type assertion expression is not allowed in the left-hand side of an exponentiation expression. Consider enclosing the expression in parentheses.
<number>temp++ ** 3;
~~~~~~~~~~~~~~
!!! error TS17006: A type assertion expression is not allowed in the left-hand side of an exponentiation expression. Consider enclosing the expression in parentheses.
!!! error TS17007: A type assertion expression is not allowed in the left-hand side of an exponentiation expression. Consider enclosing the expression in parentheses.
<number>temp-- ** 3;
~~~~~~~~~~~~~~
!!! error TS17006: A type assertion expression is not allowed in the left-hand side of an exponentiation expression. Consider enclosing the expression in parentheses.
!!! error TS17007: A type assertion expression is not allowed in the left-hand side of an exponentiation expression. Consider enclosing the expression in parentheses.
@@ -1,22 +0,0 @@
// @target: es7
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);
@@ -1,25 +0,0 @@
// @target:es7
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;
@@ -1,33 +0,0 @@
// @target: es7
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;
@@ -1,56 +0,0 @@
// @target:es7
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;
@@ -1,40 +0,0 @@
// @target:es7
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;
@@ -1,38 +0,0 @@
// @target: es7
var temp: any;
(<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;
(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;