diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 8521daf098c..14f2811b8f4 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -17301,7 +17301,9 @@ namespace ts { // Now even though we have extracted the iteratedType, we will have to validate that the type // passed in is actually an Iterable. if (errorNode && elementType) { - checkTypeAssignableTo(asyncIterable, createAsyncIterableType(elementType), errorNode); + const asyncIterableType = createAsyncIterableType(elementType); + const iterableType = createIterableType(elementType); + checkTypeAssignableTo(asyncIterable, getUnionType([asyncIterableType, iterableType], /*subtypeReduction*/ true), errorNode); } return elementType || anyType; diff --git a/tests/baselines/reference/FunctionDeclaration10_es6.js b/tests/baselines/reference/FunctionDeclaration10_es6.js index 479dd98a26c..aca7c00e58c 100644 --- a/tests/baselines/reference/FunctionDeclaration10_es6.js +++ b/tests/baselines/reference/FunctionDeclaration10_es6.js @@ -3,42 +3,7 @@ function * foo(a = yield => yield) { } //// [FunctionDeclaration10_es6.js] -var __generator = (this && this.__generator) || function (thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; - function verb(n) { return function (v) { return step([n, v]); }; } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (_) try { - if (f = 1, y && (t = y[op[0] & 2 ? "return" : op[0] ? "throw" : "next"]) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [0, t.value]; - switch (op[0]) { - case 0: case 1: t = op; break; - case 4: _.label++; return { value: op[1], done: false }; - case 5: _.label++; y = op[1]; op = [0]; continue; - case 7: op = _.ops.pop(); _.trys.pop(); continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } - if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } - if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } - if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } - if (t[2]) _.ops.pop(); - _.trys.pop(); continue; - } - op = body.call(thisArg, _); - } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } - if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; - } -}; -function foo(a) { - if (a === void 0) { a = _a.sent(); } - return __generator(this, function (_a) { - switch (_a.label) { - case 0: return [4 /*yield*/]; - case 1: return [2 /*return*/]; - } - }); -} +function* foo(a = yield) { } yield; { } diff --git a/tests/baselines/reference/FunctionDeclaration11_es6.js b/tests/baselines/reference/FunctionDeclaration11_es6.js index ef853dd4b16..d56eebd3bb5 100644 --- a/tests/baselines/reference/FunctionDeclaration11_es6.js +++ b/tests/baselines/reference/FunctionDeclaration11_es6.js @@ -3,35 +3,5 @@ function * yield() { } //// [FunctionDeclaration11_es6.js] -var __generator = (this && this.__generator) || function (thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; - function verb(n) { return function (v) { return step([n, v]); }; } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (_) try { - if (f = 1, y && (t = y[op[0] & 2 ? "return" : op[0] ? "throw" : "next"]) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [0, t.value]; - switch (op[0]) { - case 0: case 1: t = op; break; - case 4: _.label++; return { value: op[1], done: false }; - case 5: _.label++; y = op[1]; op = [0]; continue; - case 7: op = _.ops.pop(); _.trys.pop(); continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } - if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } - if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } - if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } - if (t[2]) _.ops.pop(); - _.trys.pop(); continue; - } - op = body.call(thisArg, _); - } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } - if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; - } -}; -function yield() { - return __generator(this, function (_a) { - return [2 /*return*/]; - }); +function* yield() { } diff --git a/tests/baselines/reference/FunctionDeclaration11_es6.types b/tests/baselines/reference/FunctionDeclaration11_es6.types index b774d42c164..0a312c2661c 100644 --- a/tests/baselines/reference/FunctionDeclaration11_es6.types +++ b/tests/baselines/reference/FunctionDeclaration11_es6.types @@ -1,4 +1,4 @@ === tests/cases/conformance/es6/functionDeclarations/FunctionDeclaration11_es6.ts === function * yield() { ->yield : () => PseudoIterableIterator +>yield : () => IterableIterator } diff --git a/tests/baselines/reference/FunctionDeclaration12_es6.js b/tests/baselines/reference/FunctionDeclaration12_es6.js index 4701c8d5f02..5d55d3231b0 100644 --- a/tests/baselines/reference/FunctionDeclaration12_es6.js +++ b/tests/baselines/reference/FunctionDeclaration12_es6.js @@ -2,33 +2,4 @@ var v = function * yield() { } //// [FunctionDeclaration12_es6.js] -var __generator = (this && this.__generator) || function (thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; - function verb(n) { return function (v) { return step([n, v]); }; } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (_) try { - if (f = 1, y && (t = y[op[0] & 2 ? "return" : op[0] ? "throw" : "next"]) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [0, t.value]; - switch (op[0]) { - case 0: case 1: t = op; break; - case 4: _.label++; return { value: op[1], done: false }; - case 5: _.label++; y = op[1]; op = [0]; continue; - case 7: op = _.ops.pop(); _.trys.pop(); continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } - if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } - if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } - if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } - if (t[2]) _.ops.pop(); - _.trys.pop(); continue; - } - op = body.call(thisArg, _); - } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } - if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; - } -}; -var v = function () { return __generator(this, function (_a) { - return [2 /*return*/]; -}); }, yield = function () { }; +var v = function* () { }, yield = () => { }; diff --git a/tests/baselines/reference/FunctionDeclaration13_es6.errors.txt b/tests/baselines/reference/FunctionDeclaration13_es6.errors.txt index 1471944ec61..1f921475fd3 100644 --- a/tests/baselines/reference/FunctionDeclaration13_es6.errors.txt +++ b/tests/baselines/reference/FunctionDeclaration13_es6.errors.txt @@ -1,8 +1,6 @@ -error TS2318: Cannot find global type 'IterableIterator'. tests/cases/conformance/es6/functionDeclarations/FunctionDeclaration13_es6.ts(3,11): error TS2304: Cannot find name 'yield'. -!!! error TS2318: Cannot find global type 'IterableIterator'. ==== tests/cases/conformance/es6/functionDeclarations/FunctionDeclaration13_es6.ts (1 errors) ==== function * foo() { // Legal to use 'yield' in a type context. diff --git a/tests/baselines/reference/FunctionDeclaration13_es6.js b/tests/baselines/reference/FunctionDeclaration13_es6.js index 2910736bdb2..b0527ee47ef 100644 --- a/tests/baselines/reference/FunctionDeclaration13_es6.js +++ b/tests/baselines/reference/FunctionDeclaration13_es6.js @@ -6,36 +6,7 @@ function * foo() { //// [FunctionDeclaration13_es6.js] -var __generator = (this && this.__generator) || function (thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; - function verb(n) { return function (v) { return step([n, v]); }; } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (_) try { - if (f = 1, y && (t = y[op[0] & 2 ? "return" : op[0] ? "throw" : "next"]) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [0, t.value]; - switch (op[0]) { - case 0: case 1: t = op; break; - case 4: _.label++; return { value: op[1], done: false }; - case 5: _.label++; y = op[1]; op = [0]; continue; - case 7: op = _.ops.pop(); _.trys.pop(); continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } - if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } - if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } - if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } - if (t[2]) _.ops.pop(); - _.trys.pop(); continue; - } - op = body.call(thisArg, _); - } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } - if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; - } -}; -function foo() { +function* foo() { + // Legal to use 'yield' in a type context. var v; - return __generator(this, function (_a) { - return [2 /*return*/]; - }); } diff --git a/tests/baselines/reference/FunctionDeclaration1_es6.js b/tests/baselines/reference/FunctionDeclaration1_es6.js index 0beaa8961ff..534a4c21cd7 100644 --- a/tests/baselines/reference/FunctionDeclaration1_es6.js +++ b/tests/baselines/reference/FunctionDeclaration1_es6.js @@ -3,35 +3,5 @@ function * foo() { } //// [FunctionDeclaration1_es6.js] -var __generator = (this && this.__generator) || function (thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; - function verb(n) { return function (v) { return step([n, v]); }; } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (_) try { - if (f = 1, y && (t = y[op[0] & 2 ? "return" : op[0] ? "throw" : "next"]) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [0, t.value]; - switch (op[0]) { - case 0: case 1: t = op; break; - case 4: _.label++; return { value: op[1], done: false }; - case 5: _.label++; y = op[1]; op = [0]; continue; - case 7: op = _.ops.pop(); _.trys.pop(); continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } - if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } - if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } - if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } - if (t[2]) _.ops.pop(); - _.trys.pop(); continue; - } - op = body.call(thisArg, _); - } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } - if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; - } -}; -function foo() { - return __generator(this, function (_a) { - return [2 /*return*/]; - }); +function* foo() { } diff --git a/tests/baselines/reference/FunctionDeclaration1_es6.types b/tests/baselines/reference/FunctionDeclaration1_es6.types index b8c84d9248a..548b1eb98d6 100644 --- a/tests/baselines/reference/FunctionDeclaration1_es6.types +++ b/tests/baselines/reference/FunctionDeclaration1_es6.types @@ -1,4 +1,4 @@ === tests/cases/conformance/es6/functionDeclarations/FunctionDeclaration1_es6.ts === function * foo() { ->foo : () => PseudoIterableIterator +>foo : () => IterableIterator } diff --git a/tests/baselines/reference/FunctionDeclaration3_es6.js b/tests/baselines/reference/FunctionDeclaration3_es6.js index e1df936dd21..eebce92f5b9 100644 --- a/tests/baselines/reference/FunctionDeclaration3_es6.js +++ b/tests/baselines/reference/FunctionDeclaration3_es6.js @@ -3,6 +3,5 @@ function f(yield = yield) { } //// [FunctionDeclaration3_es6.js] -function f(yield) { - if (yield === void 0) { yield = yield; } +function f(yield = yield) { } diff --git a/tests/baselines/reference/FunctionDeclaration5_es6.js b/tests/baselines/reference/FunctionDeclaration5_es6.js index 9c00ef36b71..645ee976ecd 100644 --- a/tests/baselines/reference/FunctionDeclaration5_es6.js +++ b/tests/baselines/reference/FunctionDeclaration5_es6.js @@ -3,36 +3,7 @@ function*foo(yield) { } //// [FunctionDeclaration5_es6.js] -var __generator = (this && this.__generator) || function (thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; - function verb(n) { return function (v) { return step([n, v]); }; } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (_) try { - if (f = 1, y && (t = y[op[0] & 2 ? "return" : op[0] ? "throw" : "next"]) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [0, t.value]; - switch (op[0]) { - case 0: case 1: t = op; break; - case 4: _.label++; return { value: op[1], done: false }; - case 5: _.label++; y = op[1]; op = [0]; continue; - case 7: op = _.ops.pop(); _.trys.pop(); continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } - if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } - if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } - if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } - if (t[2]) _.ops.pop(); - _.trys.pop(); continue; - } - op = body.call(thisArg, _); - } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } - if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; - } -}; -function foo() { return __generator(this, function (_a) { - return [2 /*return*/]; -}); } +function* foo() { } yield; { } diff --git a/tests/baselines/reference/FunctionDeclaration6_es6.errors.txt b/tests/baselines/reference/FunctionDeclaration6_es6.errors.txt index 4c6d9091ca2..04806c7aae9 100644 --- a/tests/baselines/reference/FunctionDeclaration6_es6.errors.txt +++ b/tests/baselines/reference/FunctionDeclaration6_es6.errors.txt @@ -1,8 +1,6 @@ -error TS2318: Cannot find global type 'IterableIterator'. tests/cases/conformance/es6/functionDeclarations/FunctionDeclaration6_es6.ts(1,18): error TS2523: 'yield' expressions cannot be used in a parameter initializer. -!!! error TS2318: Cannot find global type 'IterableIterator'. ==== tests/cases/conformance/es6/functionDeclarations/FunctionDeclaration6_es6.ts (1 errors) ==== function*foo(a = yield) { ~~~~~ diff --git a/tests/baselines/reference/FunctionDeclaration6_es6.js b/tests/baselines/reference/FunctionDeclaration6_es6.js index a39182775a6..bc8c3b030ae 100644 --- a/tests/baselines/reference/FunctionDeclaration6_es6.js +++ b/tests/baselines/reference/FunctionDeclaration6_es6.js @@ -3,39 +3,5 @@ function*foo(a = yield) { } //// [FunctionDeclaration6_es6.js] -var __generator = (this && this.__generator) || function (thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; - function verb(n) { return function (v) { return step([n, v]); }; } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (_) try { - if (f = 1, y && (t = y[op[0] & 2 ? "return" : op[0] ? "throw" : "next"]) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [0, t.value]; - switch (op[0]) { - case 0: case 1: t = op; break; - case 4: _.label++; return { value: op[1], done: false }; - case 5: _.label++; y = op[1]; op = [0]; continue; - case 7: op = _.ops.pop(); _.trys.pop(); continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } - if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } - if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } - if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } - if (t[2]) _.ops.pop(); - _.trys.pop(); continue; - } - op = body.call(thisArg, _); - } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } - if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; - } -}; -function foo(a) { - if (a === void 0) { a = _a.sent(); } - return __generator(this, function (_a) { - switch (_a.label) { - case 0: return [4 /*yield*/]; - case 1: return [2 /*return*/]; - } - }); +function* foo(a = yield) { } diff --git a/tests/baselines/reference/FunctionDeclaration7_es6.errors.txt b/tests/baselines/reference/FunctionDeclaration7_es6.errors.txt index 9065bdc8767..e0273c3bb44 100644 --- a/tests/baselines/reference/FunctionDeclaration7_es6.errors.txt +++ b/tests/baselines/reference/FunctionDeclaration7_es6.errors.txt @@ -1,8 +1,6 @@ -error TS2318: Cannot find global type 'IterableIterator'. tests/cases/conformance/es6/functionDeclarations/FunctionDeclaration7_es6.ts(3,20): error TS2523: 'yield' expressions cannot be used in a parameter initializer. -!!! error TS2318: Cannot find global type 'IterableIterator'. ==== tests/cases/conformance/es6/functionDeclarations/FunctionDeclaration7_es6.ts (1 errors) ==== function*bar() { // 'yield' here is an identifier, and not a yield expression. diff --git a/tests/baselines/reference/FunctionDeclaration7_es6.js b/tests/baselines/reference/FunctionDeclaration7_es6.js index 833505b821d..18256461aeb 100644 --- a/tests/baselines/reference/FunctionDeclaration7_es6.js +++ b/tests/baselines/reference/FunctionDeclaration7_es6.js @@ -6,45 +6,8 @@ function*bar() { } //// [FunctionDeclaration7_es6.js] -var __generator = (this && this.__generator) || function (thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; - function verb(n) { return function (v) { return step([n, v]); }; } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (_) try { - if (f = 1, y && (t = y[op[0] & 2 ? "return" : op[0] ? "throw" : "next"]) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [0, t.value]; - switch (op[0]) { - case 0: case 1: t = op; break; - case 4: _.label++; return { value: op[1], done: false }; - case 5: _.label++; y = op[1]; op = [0]; continue; - case 7: op = _.ops.pop(); _.trys.pop(); continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } - if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } - if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } - if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } - if (t[2]) _.ops.pop(); - _.trys.pop(); continue; - } - op = body.call(thisArg, _); - } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } - if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; - } -}; -function bar() { +function* bar() { // 'yield' here is an identifier, and not a yield expression. - function foo(a) { - if (a === void 0) { a = _a.sent(); } - return __generator(this, function (_a) { - switch (_a.label) { - case 0: return [4 /*yield*/]; - case 1: return [2 /*return*/]; - } - }); + function* foo(a = yield) { } - return __generator(this, function (_a) { - return [2 /*return*/]; - }); } diff --git a/tests/baselines/reference/FunctionDeclaration9_es6.js b/tests/baselines/reference/FunctionDeclaration9_es6.js index 1489d1c80d0..b5be11778ac 100644 --- a/tests/baselines/reference/FunctionDeclaration9_es6.js +++ b/tests/baselines/reference/FunctionDeclaration9_es6.js @@ -4,43 +4,6 @@ function * foo() { } //// [FunctionDeclaration9_es6.js] -var __generator = (this && this.__generator) || function (thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; - function verb(n) { return function (v) { return step([n, v]); }; } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (_) try { - if (f = 1, y && (t = y[op[0] & 2 ? "return" : op[0] ? "throw" : "next"]) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [0, t.value]; - switch (op[0]) { - case 0: case 1: t = op; break; - case 4: _.label++; return { value: op[1], done: false }; - case 5: _.label++; y = op[1]; op = [0]; continue; - case 7: op = _.ops.pop(); _.trys.pop(); continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } - if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } - if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } - if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } - if (t[2]) _.ops.pop(); - _.trys.pop(); continue; - } - op = body.call(thisArg, _); - } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } - if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; - } -}; -function foo() { - var v, _a; - return __generator(this, function (_b) { - switch (_b.label) { - case 0: - _a = {}; - return [4 /*yield*/]; - case 1: - v = (_a[_b.sent()] = foo, _a); - return [2 /*return*/]; - } - }); +function* foo() { + var v = { [yield]: foo }; } diff --git a/tests/baselines/reference/FunctionDeclaration9_es6.types b/tests/baselines/reference/FunctionDeclaration9_es6.types index f5ee90dc096..182b90b3f7a 100644 --- a/tests/baselines/reference/FunctionDeclaration9_es6.types +++ b/tests/baselines/reference/FunctionDeclaration9_es6.types @@ -1,10 +1,10 @@ === tests/cases/conformance/es6/functionDeclarations/FunctionDeclaration9_es6.ts === function * foo() { ->foo : () => PseudoIterableIterator +>foo : () => IterableIterator var v = { [yield]: foo } ->v : { [x: number]: () => PseudoIterableIterator; } ->{ [yield]: foo } : { [x: number]: () => PseudoIterableIterator; } +>v : { [x: number]: () => IterableIterator; } +>{ [yield]: foo } : { [x: number]: () => IterableIterator; } >yield : any ->foo : () => PseudoIterableIterator +>foo : () => IterableIterator } diff --git a/tests/baselines/reference/FunctionExpression1_es6.js b/tests/baselines/reference/FunctionExpression1_es6.js index 168bb6518f8..4d2f36843a9 100644 --- a/tests/baselines/reference/FunctionExpression1_es6.js +++ b/tests/baselines/reference/FunctionExpression1_es6.js @@ -2,33 +2,4 @@ var v = function * () { } //// [FunctionExpression1_es6.js] -var __generator = (this && this.__generator) || function (thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; - function verb(n) { return function (v) { return step([n, v]); }; } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (_) try { - if (f = 1, y && (t = y[op[0] & 2 ? "return" : op[0] ? "throw" : "next"]) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [0, t.value]; - switch (op[0]) { - case 0: case 1: t = op; break; - case 4: _.label++; return { value: op[1], done: false }; - case 5: _.label++; y = op[1]; op = [0]; continue; - case 7: op = _.ops.pop(); _.trys.pop(); continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } - if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } - if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } - if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } - if (t[2]) _.ops.pop(); - _.trys.pop(); continue; - } - op = body.call(thisArg, _); - } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } - if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; - } -}; -var v = function () { return __generator(this, function (_a) { - return [2 /*return*/]; -}); }; +var v = function* () { }; diff --git a/tests/baselines/reference/FunctionExpression1_es6.types b/tests/baselines/reference/FunctionExpression1_es6.types index 7beae3fb7f2..1bba41f11f2 100644 --- a/tests/baselines/reference/FunctionExpression1_es6.types +++ b/tests/baselines/reference/FunctionExpression1_es6.types @@ -1,5 +1,5 @@ === tests/cases/conformance/es6/functionExpressions/FunctionExpression1_es6.ts === var v = function * () { } ->v : () => PseudoIterableIterator ->function * () { } : () => PseudoIterableIterator +>v : () => IterableIterator +>function * () { } : () => IterableIterator diff --git a/tests/baselines/reference/FunctionExpression2_es6.js b/tests/baselines/reference/FunctionExpression2_es6.js index 4ff7621ab75..bd88efcc7ec 100644 --- a/tests/baselines/reference/FunctionExpression2_es6.js +++ b/tests/baselines/reference/FunctionExpression2_es6.js @@ -2,33 +2,4 @@ var v = function * foo() { } //// [FunctionExpression2_es6.js] -var __generator = (this && this.__generator) || function (thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; - function verb(n) { return function (v) { return step([n, v]); }; } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (_) try { - if (f = 1, y && (t = y[op[0] & 2 ? "return" : op[0] ? "throw" : "next"]) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [0, t.value]; - switch (op[0]) { - case 0: case 1: t = op; break; - case 4: _.label++; return { value: op[1], done: false }; - case 5: _.label++; y = op[1]; op = [0]; continue; - case 7: op = _.ops.pop(); _.trys.pop(); continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } - if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } - if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } - if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } - if (t[2]) _.ops.pop(); - _.trys.pop(); continue; - } - op = body.call(thisArg, _); - } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } - if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; - } -}; -var v = function foo() { return __generator(this, function (_a) { - return [2 /*return*/]; -}); }; +var v = function* foo() { }; diff --git a/tests/baselines/reference/FunctionExpression2_es6.types b/tests/baselines/reference/FunctionExpression2_es6.types index cb589223fc2..7a421dd1abf 100644 --- a/tests/baselines/reference/FunctionExpression2_es6.types +++ b/tests/baselines/reference/FunctionExpression2_es6.types @@ -1,6 +1,6 @@ === tests/cases/conformance/es6/functionExpressions/FunctionExpression2_es6.ts === var v = function * foo() { } ->v : () => PseudoIterableIterator ->function * foo() { } : () => PseudoIterableIterator ->foo : () => PseudoIterableIterator +>v : () => IterableIterator +>function * foo() { } : () => IterableIterator +>foo : () => IterableIterator diff --git a/tests/baselines/reference/FunctionPropertyAssignments1_es6.js b/tests/baselines/reference/FunctionPropertyAssignments1_es6.js index 67f86908160..be89637c5ea 100644 --- a/tests/baselines/reference/FunctionPropertyAssignments1_es6.js +++ b/tests/baselines/reference/FunctionPropertyAssignments1_es6.js @@ -2,33 +2,4 @@ var v = { *foo() { } } //// [FunctionPropertyAssignments1_es6.js] -var __generator = (this && this.__generator) || function (thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; - function verb(n) { return function (v) { return step([n, v]); }; } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (_) try { - if (f = 1, y && (t = y[op[0] & 2 ? "return" : op[0] ? "throw" : "next"]) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [0, t.value]; - switch (op[0]) { - case 0: case 1: t = op; break; - case 4: _.label++; return { value: op[1], done: false }; - case 5: _.label++; y = op[1]; op = [0]; continue; - case 7: op = _.ops.pop(); _.trys.pop(); continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } - if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } - if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } - if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } - if (t[2]) _.ops.pop(); - _.trys.pop(); continue; - } - op = body.call(thisArg, _); - } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } - if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; - } -}; -var v = { foo: function () { return __generator(this, function (_a) { - return [2 /*return*/]; - }); } }; +var v = { *foo() { } }; diff --git a/tests/baselines/reference/FunctionPropertyAssignments1_es6.types b/tests/baselines/reference/FunctionPropertyAssignments1_es6.types index bfd14604494..90b8615003e 100644 --- a/tests/baselines/reference/FunctionPropertyAssignments1_es6.types +++ b/tests/baselines/reference/FunctionPropertyAssignments1_es6.types @@ -1,6 +1,6 @@ === tests/cases/conformance/es6/functionPropertyAssignments/FunctionPropertyAssignments1_es6.ts === var v = { *foo() { } } ->v : { foo(): PseudoIterableIterator; } ->{ *foo() { } } : { foo(): PseudoIterableIterator; } ->foo : () => PseudoIterableIterator +>v : { foo(): IterableIterator; } +>{ *foo() { } } : { foo(): IterableIterator; } +>foo : () => IterableIterator diff --git a/tests/baselines/reference/FunctionPropertyAssignments2_es6.errors.txt b/tests/baselines/reference/FunctionPropertyAssignments2_es6.errors.txt index 44f294eb37b..f0287f12696 100644 --- a/tests/baselines/reference/FunctionPropertyAssignments2_es6.errors.txt +++ b/tests/baselines/reference/FunctionPropertyAssignments2_es6.errors.txt @@ -1,8 +1,6 @@ -error TS2318: Cannot find global type 'IterableIterator'. tests/cases/conformance/es6/functionPropertyAssignments/FunctionPropertyAssignments2_es6.ts(1,12): error TS1003: Identifier expected. -!!! error TS2318: Cannot find global type 'IterableIterator'. ==== tests/cases/conformance/es6/functionPropertyAssignments/FunctionPropertyAssignments2_es6.ts (1 errors) ==== var v = { *() { } } ~ diff --git a/tests/baselines/reference/FunctionPropertyAssignments2_es6.js b/tests/baselines/reference/FunctionPropertyAssignments2_es6.js index b54dd6be73f..b0f66e94c78 100644 --- a/tests/baselines/reference/FunctionPropertyAssignments2_es6.js +++ b/tests/baselines/reference/FunctionPropertyAssignments2_es6.js @@ -2,33 +2,4 @@ var v = { *() { } } //// [FunctionPropertyAssignments2_es6.js] -var __generator = (this && this.__generator) || function (thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; - function verb(n) { return function (v) { return step([n, v]); }; } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (_) try { - if (f = 1, y && (t = y[op[0] & 2 ? "return" : op[0] ? "throw" : "next"]) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [0, t.value]; - switch (op[0]) { - case 0: case 1: t = op; break; - case 4: _.label++; return { value: op[1], done: false }; - case 5: _.label++; y = op[1]; op = [0]; continue; - case 7: op = _.ops.pop(); _.trys.pop(); continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } - if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } - if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } - if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } - if (t[2]) _.ops.pop(); - _.trys.pop(); continue; - } - op = body.call(thisArg, _); - } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } - if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; - } -}; -var v = { : function () { return __generator(this, function (_a) { - return [2 /*return*/]; - }); } }; +var v = { *() { } }; diff --git a/tests/baselines/reference/FunctionPropertyAssignments3_es6.errors.txt b/tests/baselines/reference/FunctionPropertyAssignments3_es6.errors.txt index f1781a6168f..b5873e80796 100644 --- a/tests/baselines/reference/FunctionPropertyAssignments3_es6.errors.txt +++ b/tests/baselines/reference/FunctionPropertyAssignments3_es6.errors.txt @@ -1,8 +1,6 @@ -error TS2318: Cannot find global type 'IterableIterator'. tests/cases/conformance/es6/functionPropertyAssignments/FunctionPropertyAssignments3_es6.ts(1,12): error TS1003: Identifier expected. -!!! error TS2318: Cannot find global type 'IterableIterator'. ==== tests/cases/conformance/es6/functionPropertyAssignments/FunctionPropertyAssignments3_es6.ts (1 errors) ==== var v = { *{ } } ~ diff --git a/tests/baselines/reference/FunctionPropertyAssignments3_es6.js b/tests/baselines/reference/FunctionPropertyAssignments3_es6.js index 960e6d526a2..f13810af3ca 100644 --- a/tests/baselines/reference/FunctionPropertyAssignments3_es6.js +++ b/tests/baselines/reference/FunctionPropertyAssignments3_es6.js @@ -2,33 +2,4 @@ var v = { *{ } } //// [FunctionPropertyAssignments3_es6.js] -var __generator = (this && this.__generator) || function (thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; - function verb(n) { return function (v) { return step([n, v]); }; } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (_) try { - if (f = 1, y && (t = y[op[0] & 2 ? "return" : op[0] ? "throw" : "next"]) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [0, t.value]; - switch (op[0]) { - case 0: case 1: t = op; break; - case 4: _.label++; return { value: op[1], done: false }; - case 5: _.label++; y = op[1]; op = [0]; continue; - case 7: op = _.ops.pop(); _.trys.pop(); continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } - if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } - if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } - if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } - if (t[2]) _.ops.pop(); - _.trys.pop(); continue; - } - op = body.call(thisArg, _); - } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } - if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; - } -}; -var v = { : function () { return __generator(this, function (_a) { - return [2 /*return*/]; - }); } }; +var v = { *() { } }; diff --git a/tests/baselines/reference/FunctionPropertyAssignments5_es6.errors.txt b/tests/baselines/reference/FunctionPropertyAssignments5_es6.errors.txt index 940d4db4ac6..143b764c08c 100644 --- a/tests/baselines/reference/FunctionPropertyAssignments5_es6.errors.txt +++ b/tests/baselines/reference/FunctionPropertyAssignments5_es6.errors.txt @@ -1,8 +1,6 @@ -error TS2318: Cannot find global type 'IterableIterator'. tests/cases/conformance/es6/functionPropertyAssignments/FunctionPropertyAssignments5_es6.ts(1,13): error TS2304: Cannot find name 'foo'. -!!! error TS2318: Cannot find global type 'IterableIterator'. ==== tests/cases/conformance/es6/functionPropertyAssignments/FunctionPropertyAssignments5_es6.ts (1 errors) ==== var v = { *[foo()]() { } } ~~~ diff --git a/tests/baselines/reference/FunctionPropertyAssignments5_es6.js b/tests/baselines/reference/FunctionPropertyAssignments5_es6.js index ccc3fe6403c..027dc6fb41e 100644 --- a/tests/baselines/reference/FunctionPropertyAssignments5_es6.js +++ b/tests/baselines/reference/FunctionPropertyAssignments5_es6.js @@ -2,34 +2,4 @@ var v = { *[foo()]() { } } //// [FunctionPropertyAssignments5_es6.js] -var __generator = (this && this.__generator) || function (thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; - function verb(n) { return function (v) { return step([n, v]); }; } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (_) try { - if (f = 1, y && (t = y[op[0] & 2 ? "return" : op[0] ? "throw" : "next"]) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [0, t.value]; - switch (op[0]) { - case 0: case 1: t = op; break; - case 4: _.label++; return { value: op[1], done: false }; - case 5: _.label++; y = op[1]; op = [0]; continue; - case 7: op = _.ops.pop(); _.trys.pop(); continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } - if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } - if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } - if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } - if (t[2]) _.ops.pop(); - _.trys.pop(); continue; - } - op = body.call(thisArg, _); - } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } - if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; - } -}; -var v = (_a = {}, _a[foo()] = function () { return __generator(this, function (_a) { - return [2 /*return*/]; -}); }, _a); -var _a; +var v = { *[foo()]() { } }; diff --git a/tests/baselines/reference/FunctionPropertyAssignments6_es6.errors.txt b/tests/baselines/reference/FunctionPropertyAssignments6_es6.errors.txt index c15670b2598..a4e8450bd73 100644 --- a/tests/baselines/reference/FunctionPropertyAssignments6_es6.errors.txt +++ b/tests/baselines/reference/FunctionPropertyAssignments6_es6.errors.txt @@ -1,8 +1,6 @@ -error TS2318: Cannot find global type 'IterableIterator'. tests/cases/conformance/es6/functionPropertyAssignments/FunctionPropertyAssignments6_es6.ts(1,12): error TS1003: Identifier expected. -!!! error TS2318: Cannot find global type 'IterableIterator'. ==== tests/cases/conformance/es6/functionPropertyAssignments/FunctionPropertyAssignments6_es6.ts (1 errors) ==== var v = { *() { } } ~ diff --git a/tests/baselines/reference/FunctionPropertyAssignments6_es6.js b/tests/baselines/reference/FunctionPropertyAssignments6_es6.js index 23995016cae..e3f7b7e6332 100644 --- a/tests/baselines/reference/FunctionPropertyAssignments6_es6.js +++ b/tests/baselines/reference/FunctionPropertyAssignments6_es6.js @@ -2,33 +2,4 @@ var v = { *() { } } //// [FunctionPropertyAssignments6_es6.js] -var __generator = (this && this.__generator) || function (thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; - function verb(n) { return function (v) { return step([n, v]); }; } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (_) try { - if (f = 1, y && (t = y[op[0] & 2 ? "return" : op[0] ? "throw" : "next"]) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [0, t.value]; - switch (op[0]) { - case 0: case 1: t = op; break; - case 4: _.label++; return { value: op[1], done: false }; - case 5: _.label++; y = op[1]; op = [0]; continue; - case 7: op = _.ops.pop(); _.trys.pop(); continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } - if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } - if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } - if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } - if (t[2]) _.ops.pop(); - _.trys.pop(); continue; - } - op = body.call(thisArg, _); - } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } - if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; - } -}; -var v = { : function () { return __generator(this, function (_a) { - return [2 /*return*/]; - }); } }; +var v = { *() { } }; diff --git a/tests/baselines/reference/MemberFunctionDeclaration1_es6.js b/tests/baselines/reference/MemberFunctionDeclaration1_es6.js index 385bb7a0e57..3eec7c188cd 100644 --- a/tests/baselines/reference/MemberFunctionDeclaration1_es6.js +++ b/tests/baselines/reference/MemberFunctionDeclaration1_es6.js @@ -4,38 +4,6 @@ class C { } //// [MemberFunctionDeclaration1_es6.js] -var __generator = (this && this.__generator) || function (thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; - function verb(n) { return function (v) { return step([n, v]); }; } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (_) try { - if (f = 1, y && (t = y[op[0] & 2 ? "return" : op[0] ? "throw" : "next"]) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [0, t.value]; - switch (op[0]) { - case 0: case 1: t = op; break; - case 4: _.label++; return { value: op[1], done: false }; - case 5: _.label++; y = op[1]; op = [0]; continue; - case 7: op = _.ops.pop(); _.trys.pop(); continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } - if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } - if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } - if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } - if (t[2]) _.ops.pop(); - _.trys.pop(); continue; - } - op = body.call(thisArg, _); - } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } - if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; - } -}; -var C = (function () { - function C() { - } - C.prototype.foo = function () { return __generator(this, function (_a) { - return [2 /*return*/]; - }); }; - return C; -}()); +class C { + *foo() { } +} diff --git a/tests/baselines/reference/MemberFunctionDeclaration1_es6.types b/tests/baselines/reference/MemberFunctionDeclaration1_es6.types index 2de8eba432f..89eec59bb1c 100644 --- a/tests/baselines/reference/MemberFunctionDeclaration1_es6.types +++ b/tests/baselines/reference/MemberFunctionDeclaration1_es6.types @@ -3,5 +3,5 @@ class C { >C : C *foo() { } ->foo : () => PseudoIterableIterator +>foo : () => IterableIterator } diff --git a/tests/baselines/reference/MemberFunctionDeclaration2_es6.js b/tests/baselines/reference/MemberFunctionDeclaration2_es6.js index bd2e4ec4b0d..9dd6bbfb9f9 100644 --- a/tests/baselines/reference/MemberFunctionDeclaration2_es6.js +++ b/tests/baselines/reference/MemberFunctionDeclaration2_es6.js @@ -4,38 +4,6 @@ class C { } //// [MemberFunctionDeclaration2_es6.js] -var __generator = (this && this.__generator) || function (thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; - function verb(n) { return function (v) { return step([n, v]); }; } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (_) try { - if (f = 1, y && (t = y[op[0] & 2 ? "return" : op[0] ? "throw" : "next"]) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [0, t.value]; - switch (op[0]) { - case 0: case 1: t = op; break; - case 4: _.label++; return { value: op[1], done: false }; - case 5: _.label++; y = op[1]; op = [0]; continue; - case 7: op = _.ops.pop(); _.trys.pop(); continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } - if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } - if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } - if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } - if (t[2]) _.ops.pop(); - _.trys.pop(); continue; - } - op = body.call(thisArg, _); - } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } - if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; - } -}; -var C = (function () { - function C() { - } - C.prototype.foo = function () { return __generator(this, function (_a) { - return [2 /*return*/]; - }); }; - return C; -}()); +class C { + *foo() { } +} diff --git a/tests/baselines/reference/MemberFunctionDeclaration2_es6.types b/tests/baselines/reference/MemberFunctionDeclaration2_es6.types index d70f300ac13..bfc83ccfd27 100644 --- a/tests/baselines/reference/MemberFunctionDeclaration2_es6.types +++ b/tests/baselines/reference/MemberFunctionDeclaration2_es6.types @@ -3,5 +3,5 @@ class C { >C : C public * foo() { } ->foo : () => PseudoIterableIterator +>foo : () => IterableIterator } diff --git a/tests/baselines/reference/MemberFunctionDeclaration3_es6.errors.txt b/tests/baselines/reference/MemberFunctionDeclaration3_es6.errors.txt index e73fb3a847b..fdfe7425320 100644 --- a/tests/baselines/reference/MemberFunctionDeclaration3_es6.errors.txt +++ b/tests/baselines/reference/MemberFunctionDeclaration3_es6.errors.txt @@ -1,8 +1,6 @@ -error TS2318: Cannot find global type 'IterableIterator'. tests/cases/conformance/es6/memberFunctionDeclarations/MemberFunctionDeclaration3_es6.ts(2,6): error TS2304: Cannot find name 'foo'. -!!! error TS2318: Cannot find global type 'IterableIterator'. ==== tests/cases/conformance/es6/memberFunctionDeclarations/MemberFunctionDeclaration3_es6.ts (1 errors) ==== class C { *[foo]() { } diff --git a/tests/baselines/reference/MemberFunctionDeclaration3_es6.js b/tests/baselines/reference/MemberFunctionDeclaration3_es6.js index d02858e608e..0cfc1732c99 100644 --- a/tests/baselines/reference/MemberFunctionDeclaration3_es6.js +++ b/tests/baselines/reference/MemberFunctionDeclaration3_es6.js @@ -4,38 +4,6 @@ class C { } //// [MemberFunctionDeclaration3_es6.js] -var __generator = (this && this.__generator) || function (thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; - function verb(n) { return function (v) { return step([n, v]); }; } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (_) try { - if (f = 1, y && (t = y[op[0] & 2 ? "return" : op[0] ? "throw" : "next"]) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [0, t.value]; - switch (op[0]) { - case 0: case 1: t = op; break; - case 4: _.label++; return { value: op[1], done: false }; - case 5: _.label++; y = op[1]; op = [0]; continue; - case 7: op = _.ops.pop(); _.trys.pop(); continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } - if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } - if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } - if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } - if (t[2]) _.ops.pop(); - _.trys.pop(); continue; - } - op = body.call(thisArg, _); - } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } - if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; - } -}; -var C = (function () { - function C() { - } - C.prototype[foo] = function () { return __generator(this, function (_a) { - return [2 /*return*/]; - }); }; - return C; -}()); +class C { + *[foo]() { } +} diff --git a/tests/baselines/reference/MemberFunctionDeclaration4_es6.errors.txt b/tests/baselines/reference/MemberFunctionDeclaration4_es6.errors.txt index b3de4f1bec6..988527ccfd7 100644 --- a/tests/baselines/reference/MemberFunctionDeclaration4_es6.errors.txt +++ b/tests/baselines/reference/MemberFunctionDeclaration4_es6.errors.txt @@ -1,8 +1,6 @@ -error TS2318: Cannot find global type 'IterableIterator'. tests/cases/conformance/es6/memberFunctionDeclarations/MemberFunctionDeclaration4_es6.ts(2,5): error TS1003: Identifier expected. -!!! error TS2318: Cannot find global type 'IterableIterator'. ==== tests/cases/conformance/es6/memberFunctionDeclarations/MemberFunctionDeclaration4_es6.ts (1 errors) ==== class C { *() { } diff --git a/tests/baselines/reference/MemberFunctionDeclaration4_es6.js b/tests/baselines/reference/MemberFunctionDeclaration4_es6.js index 429b1995910..73b8f395a92 100644 --- a/tests/baselines/reference/MemberFunctionDeclaration4_es6.js +++ b/tests/baselines/reference/MemberFunctionDeclaration4_es6.js @@ -4,38 +4,6 @@ class C { } //// [MemberFunctionDeclaration4_es6.js] -var __generator = (this && this.__generator) || function (thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; - function verb(n) { return function (v) { return step([n, v]); }; } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (_) try { - if (f = 1, y && (t = y[op[0] & 2 ? "return" : op[0] ? "throw" : "next"]) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [0, t.value]; - switch (op[0]) { - case 0: case 1: t = op; break; - case 4: _.label++; return { value: op[1], done: false }; - case 5: _.label++; y = op[1]; op = [0]; continue; - case 7: op = _.ops.pop(); _.trys.pop(); continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } - if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } - if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } - if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } - if (t[2]) _.ops.pop(); - _.trys.pop(); continue; - } - op = body.call(thisArg, _); - } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } - if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; - } -}; -var C = (function () { - function C() { - } - C.prototype. = function () { return __generator(this, function (_a) { - return [2 /*return*/]; - }); }; - return C; -}()); +class C { + *() { } +} diff --git a/tests/baselines/reference/MemberFunctionDeclaration5_es6.js b/tests/baselines/reference/MemberFunctionDeclaration5_es6.js index 2303c5e0f62..bbba43eae05 100644 --- a/tests/baselines/reference/MemberFunctionDeclaration5_es6.js +++ b/tests/baselines/reference/MemberFunctionDeclaration5_es6.js @@ -4,8 +4,5 @@ class C { } //// [MemberFunctionDeclaration5_es6.js] -var C = (function () { - function C() { - } - return C; -}()); +class C { +} diff --git a/tests/baselines/reference/MemberFunctionDeclaration6_es6.js b/tests/baselines/reference/MemberFunctionDeclaration6_es6.js index b2a753d7ce0..370697051e6 100644 --- a/tests/baselines/reference/MemberFunctionDeclaration6_es6.js +++ b/tests/baselines/reference/MemberFunctionDeclaration6_es6.js @@ -4,8 +4,5 @@ class C { } //// [MemberFunctionDeclaration6_es6.js] -var C = (function () { - function C() { - } - return C; -}()); +class C { +} diff --git a/tests/baselines/reference/MemberFunctionDeclaration7_es6.js b/tests/baselines/reference/MemberFunctionDeclaration7_es6.js index 9f80fd58c6d..78bf55457f7 100644 --- a/tests/baselines/reference/MemberFunctionDeclaration7_es6.js +++ b/tests/baselines/reference/MemberFunctionDeclaration7_es6.js @@ -4,38 +4,6 @@ class C { } //// [MemberFunctionDeclaration7_es6.js] -var __generator = (this && this.__generator) || function (thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; - function verb(n) { return function (v) { return step([n, v]); }; } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (_) try { - if (f = 1, y && (t = y[op[0] & 2 ? "return" : op[0] ? "throw" : "next"]) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [0, t.value]; - switch (op[0]) { - case 0: case 1: t = op; break; - case 4: _.label++; return { value: op[1], done: false }; - case 5: _.label++; y = op[1]; op = [0]; continue; - case 7: op = _.ops.pop(); _.trys.pop(); continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } - if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } - if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } - if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } - if (t[2]) _.ops.pop(); - _.trys.pop(); continue; - } - op = body.call(thisArg, _); - } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } - if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; - } -}; -var C = (function () { - function C() { - } - C.prototype.foo = function () { return __generator(this, function (_a) { - return [2 /*return*/]; - }); }; - return C; -}()); +class C { + *foo() { } +} diff --git a/tests/baselines/reference/MemberFunctionDeclaration7_es6.types b/tests/baselines/reference/MemberFunctionDeclaration7_es6.types index 90244cb204f..b5e65110c68 100644 --- a/tests/baselines/reference/MemberFunctionDeclaration7_es6.types +++ b/tests/baselines/reference/MemberFunctionDeclaration7_es6.types @@ -3,6 +3,6 @@ class C { >C : C *foo() { } ->foo : () => PseudoIterableIterator +>foo : () => IterableIterator >T : T } diff --git a/tests/baselines/reference/MemberFunctionDeclaration8_es6.errors.txt b/tests/baselines/reference/MemberFunctionDeclaration8_es6.errors.txt index b21af664a69..94198b36c90 100644 --- a/tests/baselines/reference/MemberFunctionDeclaration8_es6.errors.txt +++ b/tests/baselines/reference/MemberFunctionDeclaration8_es6.errors.txt @@ -18,7 +18,7 @@ tests/cases/conformance/es6/memberFunctionDeclarations/MemberFunctionDeclaration !!! error TS1109: Expression expected. ~~~ !!! error TS2304: Cannot find name 'bar'. - return bar; + return bar; ~~~ !!! error TS2304: Cannot find name 'bar'. } diff --git a/tests/baselines/reference/MemberFunctionDeclaration8_es6.js b/tests/baselines/reference/MemberFunctionDeclaration8_es6.js index 8000a2d5c42..853310e5a3e 100644 --- a/tests/baselines/reference/MemberFunctionDeclaration8_es6.js +++ b/tests/baselines/reference/MemberFunctionDeclaration8_es6.js @@ -3,20 +3,17 @@ class C { foo() { // Make sure we don't think of *bar as the start of a generator method. if (a) # * bar; - return bar; + return bar; } } //// [MemberFunctionDeclaration8_es6.js] -var C = (function () { - function C() { - } - C.prototype.foo = function () { +class C { + foo() { // Make sure we don't think of *bar as the start of a generator method. if (a) ; * bar; return bar; - }; - return C; -}()); + } +} diff --git a/tests/baselines/reference/YieldExpression10_es6.errors.txt b/tests/baselines/reference/YieldExpression10_es6.errors.txt index bc1e717051b..9e48fefc10a 100644 --- a/tests/baselines/reference/YieldExpression10_es6.errors.txt +++ b/tests/baselines/reference/YieldExpression10_es6.errors.txt @@ -1,8 +1,6 @@ -error TS2318: Cannot find global type 'IterableIterator'. tests/cases/conformance/es6/yieldExpressions/YieldExpression10_es6.ts(2,11): error TS2304: Cannot find name 'foo'. -!!! error TS2318: Cannot find global type 'IterableIterator'. ==== tests/cases/conformance/es6/yieldExpressions/YieldExpression10_es6.ts (1 errors) ==== var v = { * foo() { yield(foo); diff --git a/tests/baselines/reference/YieldExpression10_es6.js b/tests/baselines/reference/YieldExpression10_es6.js index dd8d756339d..f32dd1decf7 100644 --- a/tests/baselines/reference/YieldExpression10_es6.js +++ b/tests/baselines/reference/YieldExpression10_es6.js @@ -6,41 +6,7 @@ var v = { * foo() { //// [YieldExpression10_es6.js] -var __generator = (this && this.__generator) || function (thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; - function verb(n) { return function (v) { return step([n, v]); }; } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (_) try { - if (f = 1, y && (t = y[op[0] & 2 ? "return" : op[0] ? "throw" : "next"]) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [0, t.value]; - switch (op[0]) { - case 0: case 1: t = op; break; - case 4: _.label++; return { value: op[1], done: false }; - case 5: _.label++; y = op[1]; op = [0]; continue; - case 7: op = _.ops.pop(); _.trys.pop(); continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } - if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } - if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } - if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } - if (t[2]) _.ops.pop(); - _.trys.pop(); continue; - } - op = body.call(thisArg, _); - } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } - if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; - } -}; -var v = { foo: function () { - return __generator(this, function (_a) { - switch (_a.label) { - case 0: return [4 /*yield*/, (foo)]; - case 1: - _a.sent(); - return [2 /*return*/]; - } - }); +var v = { *foo() { + yield (foo); } }; diff --git a/tests/baselines/reference/YieldExpression11_es6.errors.txt b/tests/baselines/reference/YieldExpression11_es6.errors.txt index 44c8fcb9730..223389e4e39 100644 --- a/tests/baselines/reference/YieldExpression11_es6.errors.txt +++ b/tests/baselines/reference/YieldExpression11_es6.errors.txt @@ -1,8 +1,6 @@ -error TS2318: Cannot find global type 'IterableIterator'. tests/cases/conformance/es6/yieldExpressions/YieldExpression11_es6.ts(3,11): error TS2663: Cannot find name 'foo'. Did you mean the instance member 'this.foo'? -!!! error TS2318: Cannot find global type 'IterableIterator'. ==== tests/cases/conformance/es6/yieldExpressions/YieldExpression11_es6.ts (1 errors) ==== class C { *foo() { diff --git a/tests/baselines/reference/YieldExpression11_es6.js b/tests/baselines/reference/YieldExpression11_es6.js index b7e5011a1c8..46adf673634 100644 --- a/tests/baselines/reference/YieldExpression11_es6.js +++ b/tests/baselines/reference/YieldExpression11_es6.js @@ -6,45 +6,8 @@ class C { } //// [YieldExpression11_es6.js] -var __generator = (this && this.__generator) || function (thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; - function verb(n) { return function (v) { return step([n, v]); }; } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (_) try { - if (f = 1, y && (t = y[op[0] & 2 ? "return" : op[0] ? "throw" : "next"]) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [0, t.value]; - switch (op[0]) { - case 0: case 1: t = op; break; - case 4: _.label++; return { value: op[1], done: false }; - case 5: _.label++; y = op[1]; op = [0]; continue; - case 7: op = _.ops.pop(); _.trys.pop(); continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } - if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } - if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } - if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } - if (t[2]) _.ops.pop(); - _.trys.pop(); continue; - } - op = body.call(thisArg, _); - } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } - if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; +class C { + *foo() { + yield (foo); } -}; -var C = (function () { - function C() { - } - C.prototype.foo = function () { - return __generator(this, function (_a) { - switch (_a.label) { - case 0: return [4 /*yield*/, (foo)]; - case 1: - _a.sent(); - return [2 /*return*/]; - } - }); - }; - return C; -}()); +} diff --git a/tests/baselines/reference/YieldExpression12_es6.js b/tests/baselines/reference/YieldExpression12_es6.js index 7211d41cb86..d0ff7e9d6b8 100644 --- a/tests/baselines/reference/YieldExpression12_es6.js +++ b/tests/baselines/reference/YieldExpression12_es6.js @@ -6,9 +6,8 @@ class C { } //// [YieldExpression12_es6.js] -var C = (function () { - function C() { +class C { + constructor() { yield foo; } - return C; -}()); +} diff --git a/tests/baselines/reference/YieldExpression13_es6.js b/tests/baselines/reference/YieldExpression13_es6.js index 43eb02f1826..c75e964675a 100644 --- a/tests/baselines/reference/YieldExpression13_es6.js +++ b/tests/baselines/reference/YieldExpression13_es6.js @@ -2,38 +2,4 @@ function* foo() { yield } //// [YieldExpression13_es6.js] -var __generator = (this && this.__generator) || function (thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; - function verb(n) { return function (v) { return step([n, v]); }; } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (_) try { - if (f = 1, y && (t = y[op[0] & 2 ? "return" : op[0] ? "throw" : "next"]) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [0, t.value]; - switch (op[0]) { - case 0: case 1: t = op; break; - case 4: _.label++; return { value: op[1], done: false }; - case 5: _.label++; y = op[1]; op = [0]; continue; - case 7: op = _.ops.pop(); _.trys.pop(); continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } - if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } - if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } - if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } - if (t[2]) _.ops.pop(); - _.trys.pop(); continue; - } - op = body.call(thisArg, _); - } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } - if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; - } -}; -function foo() { return __generator(this, function (_a) { - switch (_a.label) { - case 0: return [4 /*yield*/]; - case 1: - _a.sent(); - return [2 /*return*/]; - } -}); } +function* foo() { yield; } diff --git a/tests/baselines/reference/YieldExpression13_es6.types b/tests/baselines/reference/YieldExpression13_es6.types index ede146bf990..011ac1e09e8 100644 --- a/tests/baselines/reference/YieldExpression13_es6.types +++ b/tests/baselines/reference/YieldExpression13_es6.types @@ -1,5 +1,5 @@ === tests/cases/conformance/es6/yieldExpressions/YieldExpression13_es6.ts === function* foo() { yield } ->foo : () => PseudoIterableIterator +>foo : () => IterableIterator >yield : any diff --git a/tests/baselines/reference/YieldExpression14_es6.js b/tests/baselines/reference/YieldExpression14_es6.js index e8c33c2085e..e25a29e606f 100644 --- a/tests/baselines/reference/YieldExpression14_es6.js +++ b/tests/baselines/reference/YieldExpression14_es6.js @@ -6,11 +6,8 @@ class C { } //// [YieldExpression14_es6.js] -var C = (function () { - function C() { - } - C.prototype.foo = function () { +class C { + foo() { yield foo; - }; - return C; -}()); + } +} diff --git a/tests/baselines/reference/YieldExpression15_es6.js b/tests/baselines/reference/YieldExpression15_es6.js index 1e4431d6168..d03699922f6 100644 --- a/tests/baselines/reference/YieldExpression15_es6.js +++ b/tests/baselines/reference/YieldExpression15_es6.js @@ -4,6 +4,6 @@ var v = () => { } //// [YieldExpression15_es6.js] -var v = function () { +var v = () => { yield foo; }; diff --git a/tests/baselines/reference/YieldExpression16_es6.errors.txt b/tests/baselines/reference/YieldExpression16_es6.errors.txt index 208a6e25185..94e082f4c27 100644 --- a/tests/baselines/reference/YieldExpression16_es6.errors.txt +++ b/tests/baselines/reference/YieldExpression16_es6.errors.txt @@ -1,8 +1,6 @@ -error TS2318: Cannot find global type 'IterableIterator'. tests/cases/conformance/es6/yieldExpressions/YieldExpression16_es6.ts(3,5): error TS1163: A 'yield' expression is only allowed in a generator body. -!!! error TS2318: Cannot find global type 'IterableIterator'. ==== tests/cases/conformance/es6/yieldExpressions/YieldExpression16_es6.ts (1 errors) ==== function* foo() { function bar() { diff --git a/tests/baselines/reference/YieldExpression16_es6.js b/tests/baselines/reference/YieldExpression16_es6.js index 54d59c6b081..0937cfedcb9 100644 --- a/tests/baselines/reference/YieldExpression16_es6.js +++ b/tests/baselines/reference/YieldExpression16_es6.js @@ -6,38 +6,8 @@ function* foo() { } //// [YieldExpression16_es6.js] -var __generator = (this && this.__generator) || function (thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; - function verb(n) { return function (v) { return step([n, v]); }; } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (_) try { - if (f = 1, y && (t = y[op[0] & 2 ? "return" : op[0] ? "throw" : "next"]) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [0, t.value]; - switch (op[0]) { - case 0: case 1: t = op; break; - case 4: _.label++; return { value: op[1], done: false }; - case 5: _.label++; y = op[1]; op = [0]; continue; - case 7: op = _.ops.pop(); _.trys.pop(); continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } - if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } - if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } - if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } - if (t[2]) _.ops.pop(); - _.trys.pop(); continue; - } - op = body.call(thisArg, _); - } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } - if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; - } -}; -function foo() { +function* foo() { function bar() { yield foo; } - return __generator(this, function (_a) { - return [2 /*return*/]; - }); } diff --git a/tests/baselines/reference/YieldExpression17_es6.errors.txt b/tests/baselines/reference/YieldExpression17_es6.errors.txt index f987517371f..540b1a889f0 100644 --- a/tests/baselines/reference/YieldExpression17_es6.errors.txt +++ b/tests/baselines/reference/YieldExpression17_es6.errors.txt @@ -1,13 +1,10 @@ -tests/cases/conformance/es6/yieldExpressions/YieldExpression17_es6.ts(1,15): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. tests/cases/conformance/es6/yieldExpressions/YieldExpression17_es6.ts(1,15): error TS2378: A 'get' accessor must return a value. tests/cases/conformance/es6/yieldExpressions/YieldExpression17_es6.ts(1,23): error TS1163: A 'yield' expression is only allowed in a generator body. -==== tests/cases/conformance/es6/yieldExpressions/YieldExpression17_es6.ts (3 errors) ==== +==== tests/cases/conformance/es6/yieldExpressions/YieldExpression17_es6.ts (2 errors) ==== var v = { get foo() { yield foo; } } ~~~ -!!! error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. - ~~~ !!! error TS2378: A 'get' accessor must return a value. ~~~~~ !!! error TS1163: A 'yield' expression is only allowed in a generator body. \ No newline at end of file diff --git a/tests/baselines/reference/YieldExpression19_es6.js b/tests/baselines/reference/YieldExpression19_es6.js index b6e1cd6c71c..444c7af7be1 100644 --- a/tests/baselines/reference/YieldExpression19_es6.js +++ b/tests/baselines/reference/YieldExpression19_es6.js @@ -8,47 +8,10 @@ function*foo() { } //// [YieldExpression19_es6.js] -var __generator = (this && this.__generator) || function (thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; - function verb(n) { return function (v) { return step([n, v]); }; } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (_) try { - if (f = 1, y && (t = y[op[0] & 2 ? "return" : op[0] ? "throw" : "next"]) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [0, t.value]; - switch (op[0]) { - case 0: case 1: t = op; break; - case 4: _.label++; return { value: op[1], done: false }; - case 5: _.label++; y = op[1]; op = [0]; continue; - case 7: op = _.ops.pop(); _.trys.pop(); continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } - if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } - if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } - if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } - if (t[2]) _.ops.pop(); - _.trys.pop(); continue; - } - op = body.call(thisArg, _); - } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } - if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; - } -}; -function foo() { +function* foo() { function bar() { - function quux() { - return __generator(this, function (_a) { - switch (_a.label) { - case 0: return [4 /*yield*/, (foo)]; - case 1: - _a.sent(); - return [2 /*return*/]; - } - }); + function* quux() { + yield (foo); } } - return __generator(this, function (_a) { - return [2 /*return*/]; - }); } diff --git a/tests/baselines/reference/YieldExpression19_es6.types b/tests/baselines/reference/YieldExpression19_es6.types index b50eb474034..f57b175d53c 100644 --- a/tests/baselines/reference/YieldExpression19_es6.types +++ b/tests/baselines/reference/YieldExpression19_es6.types @@ -1,17 +1,17 @@ === tests/cases/conformance/es6/yieldExpressions/YieldExpression19_es6.ts === function*foo() { ->foo : () => PseudoIterableIterator +>foo : () => IterableIterator function bar() { >bar : () => void function* quux() { ->quux : () => PseudoIterableIterator<() => PseudoIterableIterator> +>quux : () => IterableIterator<() => IterableIterator> yield(foo); >yield(foo) : any ->(foo) : () => PseudoIterableIterator ->foo : () => PseudoIterableIterator +>(foo) : () => IterableIterator +>foo : () => IterableIterator } } } diff --git a/tests/baselines/reference/YieldExpression3_es6.js b/tests/baselines/reference/YieldExpression3_es6.js index 7fc9bc8fe5b..737b3534886 100644 --- a/tests/baselines/reference/YieldExpression3_es6.js +++ b/tests/baselines/reference/YieldExpression3_es6.js @@ -5,43 +5,7 @@ function* foo() { } //// [YieldExpression3_es6.js] -var __generator = (this && this.__generator) || function (thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; - function verb(n) { return function (v) { return step([n, v]); }; } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (_) try { - if (f = 1, y && (t = y[op[0] & 2 ? "return" : op[0] ? "throw" : "next"]) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [0, t.value]; - switch (op[0]) { - case 0: case 1: t = op; break; - case 4: _.label++; return { value: op[1], done: false }; - case 5: _.label++; y = op[1]; op = [0]; continue; - case 7: op = _.ops.pop(); _.trys.pop(); continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } - if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } - if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } - if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } - if (t[2]) _.ops.pop(); - _.trys.pop(); continue; - } - op = body.call(thisArg, _); - } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } - if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; - } -}; -function foo() { - return __generator(this, function (_a) { - switch (_a.label) { - case 0: return [4 /*yield*/]; - case 1: - _a.sent(); - return [4 /*yield*/]; - case 2: - _a.sent(); - return [2 /*return*/]; - } - }); +function* foo() { + yield; + yield; } diff --git a/tests/baselines/reference/YieldExpression3_es6.types b/tests/baselines/reference/YieldExpression3_es6.types index 2ce992b7753..9e2f810d911 100644 --- a/tests/baselines/reference/YieldExpression3_es6.types +++ b/tests/baselines/reference/YieldExpression3_es6.types @@ -1,6 +1,6 @@ === tests/cases/conformance/es6/yieldExpressions/YieldExpression3_es6.ts === function* foo() { ->foo : () => PseudoIterableIterator +>foo : () => IterableIterator yield >yield : any diff --git a/tests/baselines/reference/YieldExpression4_es6.js b/tests/baselines/reference/YieldExpression4_es6.js index 8ce4648ed1d..c97a7949b2b 100644 --- a/tests/baselines/reference/YieldExpression4_es6.js +++ b/tests/baselines/reference/YieldExpression4_es6.js @@ -5,43 +5,7 @@ function* foo() { } //// [YieldExpression4_es6.js] -var __generator = (this && this.__generator) || function (thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; - function verb(n) { return function (v) { return step([n, v]); }; } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (_) try { - if (f = 1, y && (t = y[op[0] & 2 ? "return" : op[0] ? "throw" : "next"]) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [0, t.value]; - switch (op[0]) { - case 0: case 1: t = op; break; - case 4: _.label++; return { value: op[1], done: false }; - case 5: _.label++; y = op[1]; op = [0]; continue; - case 7: op = _.ops.pop(); _.trys.pop(); continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } - if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } - if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } - if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } - if (t[2]) _.ops.pop(); - _.trys.pop(); continue; - } - op = body.call(thisArg, _); - } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } - if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; - } -}; -function foo() { - return __generator(this, function (_a) { - switch (_a.label) { - case 0: return [4 /*yield*/]; - case 1: - _a.sent(); - return [4 /*yield*/]; - case 2: - _a.sent(); - return [2 /*return*/]; - } - }); +function* foo() { + yield; + yield; } diff --git a/tests/baselines/reference/YieldExpression4_es6.types b/tests/baselines/reference/YieldExpression4_es6.types index cc8f4a7316e..929bef38edd 100644 --- a/tests/baselines/reference/YieldExpression4_es6.types +++ b/tests/baselines/reference/YieldExpression4_es6.types @@ -1,6 +1,6 @@ === tests/cases/conformance/es6/yieldExpressions/YieldExpression4_es6.ts === function* foo() { ->foo : () => PseudoIterableIterator +>foo : () => IterableIterator yield; >yield : any diff --git a/tests/baselines/reference/YieldExpression5_es6.errors.txt b/tests/baselines/reference/YieldExpression5_es6.errors.txt index e86440a6127..3ce8f20c985 100644 --- a/tests/baselines/reference/YieldExpression5_es6.errors.txt +++ b/tests/baselines/reference/YieldExpression5_es6.errors.txt @@ -1,8 +1,6 @@ -error TS2318: Cannot find global type 'IterableIterator'. tests/cases/conformance/es6/yieldExpressions/YieldExpression5_es6.ts(3,1): error TS1109: Expression expected. -!!! error TS2318: Cannot find global type 'IterableIterator'. ==== tests/cases/conformance/es6/yieldExpressions/YieldExpression5_es6.ts (1 errors) ==== function* foo() { yield* diff --git a/tests/baselines/reference/YieldExpression5_es6.js b/tests/baselines/reference/YieldExpression5_es6.js index fde2954068f..8599cfdb6bb 100644 --- a/tests/baselines/reference/YieldExpression5_es6.js +++ b/tests/baselines/reference/YieldExpression5_es6.js @@ -4,41 +4,6 @@ function* foo() { } //// [YieldExpression5_es6.js] -var __generator = (this && this.__generator) || function (thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; - function verb(n) { return function (v) { return step([n, v]); }; } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (_) try { - if (f = 1, y && (t = y[op[0] & 2 ? "return" : op[0] ? "throw" : "next"]) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [0, t.value]; - switch (op[0]) { - case 0: case 1: t = op; break; - case 4: _.label++; return { value: op[1], done: false }; - case 5: _.label++; y = op[1]; op = [0]; continue; - case 7: op = _.ops.pop(); _.trys.pop(); continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } - if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } - if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } - if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } - if (t[2]) _.ops.pop(); - _.trys.pop(); continue; - } - op = body.call(thisArg, _); - } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } - if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; - } -}; -var __values = (this && this.__values) || function (o) { return (i = typeof Symbol === "function" && o[Symbol.iterator] || 0) ? i.call(o) : { next: function () { return { done: d = d || i >= o.length, value: d ? void 0 : o[i++] }; } }; var i, d; }; -function foo() { - return __generator(this, function (_a) { - switch (_a.label) { - case 0: return [5 /*yield**/, __values()]; - case 1: - _a.sent(); - return [2 /*return*/]; - } - }); +function* foo() { + yield* ; } diff --git a/tests/baselines/reference/YieldExpression6_es6.errors.txt b/tests/baselines/reference/YieldExpression6_es6.errors.txt index 3654cedcda6..b8c0967864c 100644 --- a/tests/baselines/reference/YieldExpression6_es6.errors.txt +++ b/tests/baselines/reference/YieldExpression6_es6.errors.txt @@ -1,11 +1,9 @@ -error TS2318: Cannot find global type 'IterableIterator'. -tests/cases/conformance/es6/yieldExpressions/YieldExpression6_es6.ts(2,9): error TS2544: Type '() => any' is not an array type or does not have a '[Symbol.iterator]()' method that returns an iterator. +tests/cases/conformance/es6/yieldExpressions/YieldExpression6_es6.ts(2,9): error TS2488: Type must have a '[Symbol.iterator]()' method that returns an iterator. -!!! error TS2318: Cannot find global type 'IterableIterator'. ==== tests/cases/conformance/es6/yieldExpressions/YieldExpression6_es6.ts (1 errors) ==== function* foo() { yield*foo ~~~ -!!! error TS2544: Type '() => any' is not an array type or does not have a '[Symbol.iterator]()' method that returns an iterator. +!!! error TS2488: Type must have a '[Symbol.iterator]()' method that returns an iterator. } \ No newline at end of file diff --git a/tests/baselines/reference/YieldExpression6_es6.js b/tests/baselines/reference/YieldExpression6_es6.js index bd62429e326..c511daec989 100644 --- a/tests/baselines/reference/YieldExpression6_es6.js +++ b/tests/baselines/reference/YieldExpression6_es6.js @@ -4,41 +4,6 @@ function* foo() { } //// [YieldExpression6_es6.js] -var __generator = (this && this.__generator) || function (thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; - function verb(n) { return function (v) { return step([n, v]); }; } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (_) try { - if (f = 1, y && (t = y[op[0] & 2 ? "return" : op[0] ? "throw" : "next"]) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [0, t.value]; - switch (op[0]) { - case 0: case 1: t = op; break; - case 4: _.label++; return { value: op[1], done: false }; - case 5: _.label++; y = op[1]; op = [0]; continue; - case 7: op = _.ops.pop(); _.trys.pop(); continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } - if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } - if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } - if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } - if (t[2]) _.ops.pop(); - _.trys.pop(); continue; - } - op = body.call(thisArg, _); - } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } - if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; - } -}; -var __values = (this && this.__values) || function (o) { return (i = typeof Symbol === "function" && o[Symbol.iterator] || 0) ? i.call(o) : { next: function () { return { done: d = d || i >= o.length, value: d ? void 0 : o[i++] }; } }; var i, d; }; -function foo() { - return __generator(this, function (_a) { - switch (_a.label) { - case 0: return [5 /*yield**/, __values(foo)]; - case 1: - _a.sent(); - return [2 /*return*/]; - } - }); +function* foo() { + yield* foo; } diff --git a/tests/baselines/reference/YieldExpression7_es6.js b/tests/baselines/reference/YieldExpression7_es6.js index 42460ef3f11..8055b96ec73 100644 --- a/tests/baselines/reference/YieldExpression7_es6.js +++ b/tests/baselines/reference/YieldExpression7_es6.js @@ -4,40 +4,6 @@ function* foo() { } //// [YieldExpression7_es6.js] -var __generator = (this && this.__generator) || function (thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; - function verb(n) { return function (v) { return step([n, v]); }; } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (_) try { - if (f = 1, y && (t = y[op[0] & 2 ? "return" : op[0] ? "throw" : "next"]) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [0, t.value]; - switch (op[0]) { - case 0: case 1: t = op; break; - case 4: _.label++; return { value: op[1], done: false }; - case 5: _.label++; y = op[1]; op = [0]; continue; - case 7: op = _.ops.pop(); _.trys.pop(); continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } - if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } - if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } - if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } - if (t[2]) _.ops.pop(); - _.trys.pop(); continue; - } - op = body.call(thisArg, _); - } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } - if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; - } -}; -function foo() { - return __generator(this, function (_a) { - switch (_a.label) { - case 0: return [4 /*yield*/, foo]; - case 1: - _a.sent(); - return [2 /*return*/]; - } - }); +function* foo() { + yield foo; } diff --git a/tests/baselines/reference/YieldExpression7_es6.types b/tests/baselines/reference/YieldExpression7_es6.types index f5b5aecf99f..44dcc196c3b 100644 --- a/tests/baselines/reference/YieldExpression7_es6.types +++ b/tests/baselines/reference/YieldExpression7_es6.types @@ -1,8 +1,8 @@ === tests/cases/conformance/es6/yieldExpressions/YieldExpression7_es6.ts === function* foo() { ->foo : () => PseudoIterableIterator +>foo : () => IterableIterator yield foo >yield foo : any ->foo : () => PseudoIterableIterator +>foo : () => IterableIterator } diff --git a/tests/baselines/reference/YieldExpression8_es6.errors.txt b/tests/baselines/reference/YieldExpression8_es6.errors.txt index 80c94d0b42c..f4dd30b1a19 100644 --- a/tests/baselines/reference/YieldExpression8_es6.errors.txt +++ b/tests/baselines/reference/YieldExpression8_es6.errors.txt @@ -1,8 +1,6 @@ -error TS2318: Cannot find global type 'IterableIterator'. tests/cases/conformance/es6/yieldExpressions/YieldExpression8_es6.ts(1,1): error TS2304: Cannot find name 'yield'. -!!! error TS2318: Cannot find global type 'IterableIterator'. ==== tests/cases/conformance/es6/yieldExpressions/YieldExpression8_es6.ts (1 errors) ==== yield(foo); ~~~~~ diff --git a/tests/baselines/reference/YieldExpression8_es6.js b/tests/baselines/reference/YieldExpression8_es6.js index a961acb4990..cc92b79c722 100644 --- a/tests/baselines/reference/YieldExpression8_es6.js +++ b/tests/baselines/reference/YieldExpression8_es6.js @@ -5,41 +5,7 @@ function* foo() { } //// [YieldExpression8_es6.js] -var __generator = (this && this.__generator) || function (thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; - function verb(n) { return function (v) { return step([n, v]); }; } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (_) try { - if (f = 1, y && (t = y[op[0] & 2 ? "return" : op[0] ? "throw" : "next"]) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [0, t.value]; - switch (op[0]) { - case 0: case 1: t = op; break; - case 4: _.label++; return { value: op[1], done: false }; - case 5: _.label++; y = op[1]; op = [0]; continue; - case 7: op = _.ops.pop(); _.trys.pop(); continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } - if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } - if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } - if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } - if (t[2]) _.ops.pop(); - _.trys.pop(); continue; - } - op = body.call(thisArg, _); - } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } - if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; - } -}; yield(foo); -function foo() { - return __generator(this, function (_a) { - switch (_a.label) { - case 0: return [4 /*yield*/, (foo)]; - case 1: - _a.sent(); - return [2 /*return*/]; - } - }); +function* foo() { + yield (foo); } diff --git a/tests/baselines/reference/YieldExpression9_es6.errors.txt b/tests/baselines/reference/YieldExpression9_es6.errors.txt index 6a095e4b235..1241e615f79 100644 --- a/tests/baselines/reference/YieldExpression9_es6.errors.txt +++ b/tests/baselines/reference/YieldExpression9_es6.errors.txt @@ -1,8 +1,6 @@ -error TS2318: Cannot find global type 'IterableIterator'. tests/cases/conformance/es6/yieldExpressions/YieldExpression9_es6.ts(2,9): error TS2304: Cannot find name 'foo'. -!!! error TS2318: Cannot find global type 'IterableIterator'. ==== tests/cases/conformance/es6/yieldExpressions/YieldExpression9_es6.ts (1 errors) ==== var v = function*() { yield(foo); diff --git a/tests/baselines/reference/YieldExpression9_es6.js b/tests/baselines/reference/YieldExpression9_es6.js index 368487e1284..a2ffa0fa01b 100644 --- a/tests/baselines/reference/YieldExpression9_es6.js +++ b/tests/baselines/reference/YieldExpression9_es6.js @@ -4,40 +4,6 @@ var v = function*() { } //// [YieldExpression9_es6.js] -var __generator = (this && this.__generator) || function (thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; - function verb(n) { return function (v) { return step([n, v]); }; } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (_) try { - if (f = 1, y && (t = y[op[0] & 2 ? "return" : op[0] ? "throw" : "next"]) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [0, t.value]; - switch (op[0]) { - case 0: case 1: t = op; break; - case 4: _.label++; return { value: op[1], done: false }; - case 5: _.label++; y = op[1]; op = [0]; continue; - case 7: op = _.ops.pop(); _.trys.pop(); continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } - if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } - if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } - if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } - if (t[2]) _.ops.pop(); - _.trys.pop(); continue; - } - op = body.call(thisArg, _); - } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } - if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; - } -}; -var v = function () { - return __generator(this, function (_a) { - switch (_a.label) { - case 0: return [4 /*yield*/, (foo)]; - case 1: - _a.sent(); - return [2 /*return*/]; - } - }); +var v = function* () { + yield (foo); }; diff --git a/tests/baselines/reference/YieldStarExpression3_es6.errors.txt b/tests/baselines/reference/YieldStarExpression3_es6.errors.txt index fefc31d4e6a..25cecc80444 100644 --- a/tests/baselines/reference/YieldStarExpression3_es6.errors.txt +++ b/tests/baselines/reference/YieldStarExpression3_es6.errors.txt @@ -1,8 +1,6 @@ -error TS2318: Cannot find global type 'IterableIterator'. tests/cases/conformance/es6/yieldExpressions/YieldStarExpression3_es6.ts(2,12): error TS1109: Expression expected. -!!! error TS2318: Cannot find global type 'IterableIterator'. ==== tests/cases/conformance/es6/yieldExpressions/YieldStarExpression3_es6.ts (1 errors) ==== function *g() { yield *; diff --git a/tests/baselines/reference/YieldStarExpression3_es6.js b/tests/baselines/reference/YieldStarExpression3_es6.js index 15077d0628e..e64306dc4cf 100644 --- a/tests/baselines/reference/YieldStarExpression3_es6.js +++ b/tests/baselines/reference/YieldStarExpression3_es6.js @@ -4,41 +4,6 @@ function *g() { } //// [YieldStarExpression3_es6.js] -var __generator = (this && this.__generator) || function (thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; - function verb(n) { return function (v) { return step([n, v]); }; } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (_) try { - if (f = 1, y && (t = y[op[0] & 2 ? "return" : op[0] ? "throw" : "next"]) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [0, t.value]; - switch (op[0]) { - case 0: case 1: t = op; break; - case 4: _.label++; return { value: op[1], done: false }; - case 5: _.label++; y = op[1]; op = [0]; continue; - case 7: op = _.ops.pop(); _.trys.pop(); continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } - if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } - if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } - if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } - if (t[2]) _.ops.pop(); - _.trys.pop(); continue; - } - op = body.call(thisArg, _); - } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } - if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; - } -}; -var __values = (this && this.__values) || function (o) { return (i = typeof Symbol === "function" && o[Symbol.iterator] || 0) ? i.call(o) : { next: function () { return { done: d = d || i >= o.length, value: d ? void 0 : o[i++] }; } }; var i, d; }; -function g() { - return __generator(this, function (_a) { - switch (_a.label) { - case 0: return [5 /*yield**/, __values()]; - case 1: - _a.sent(); - return [2 /*return*/]; - } - }); +function* g() { + yield* ; } diff --git a/tests/baselines/reference/YieldStarExpression4_es6.js b/tests/baselines/reference/YieldStarExpression4_es6.js index d181883555c..8ec5fa0c933 100644 --- a/tests/baselines/reference/YieldStarExpression4_es6.js +++ b/tests/baselines/reference/YieldStarExpression4_es6.js @@ -4,41 +4,6 @@ function *g() { } //// [YieldStarExpression4_es6.js] -var __generator = (this && this.__generator) || function (thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; - function verb(n) { return function (v) { return step([n, v]); }; } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (_) try { - if (f = 1, y && (t = y[op[0] & 2 ? "return" : op[0] ? "throw" : "next"]) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [0, t.value]; - switch (op[0]) { - case 0: case 1: t = op; break; - case 4: _.label++; return { value: op[1], done: false }; - case 5: _.label++; y = op[1]; op = [0]; continue; - case 7: op = _.ops.pop(); _.trys.pop(); continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } - if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } - if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } - if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } - if (t[2]) _.ops.pop(); - _.trys.pop(); continue; - } - op = body.call(thisArg, _); - } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } - if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; - } -}; -var __values = (this && this.__values) || function (o) { return (i = typeof Symbol === "function" && o[Symbol.iterator] || 0) ? i.call(o) : { next: function () { return { done: d = d || i >= o.length, value: d ? void 0 : o[i++] }; } }; var i, d; }; -function g() { - return __generator(this, function (_a) { - switch (_a.label) { - case 0: return [5 /*yield**/, __values([])]; - case 1: - _a.sent(); - return [2 /*return*/]; - } - }); +function* g() { + yield* []; } diff --git a/tests/baselines/reference/YieldStarExpression4_es6.types b/tests/baselines/reference/YieldStarExpression4_es6.types index 8f5a209f085..1d72e6dc506 100644 --- a/tests/baselines/reference/YieldStarExpression4_es6.types +++ b/tests/baselines/reference/YieldStarExpression4_es6.types @@ -1,6 +1,6 @@ === tests/cases/conformance/es6/yieldExpressions/YieldStarExpression4_es6.ts === function *g() { ->g : () => PseudoIterableIterator +>g : () => IterableIterator yield * []; >yield * [] : any diff --git a/tests/baselines/reference/asyncGenerators.classMethod.1.es2017.js b/tests/baselines/reference/asyncGenerators.classMethod.1.es2017.js new file mode 100644 index 00000000000..7723d2b1432 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.classMethod.1.es2017.js @@ -0,0 +1,10 @@ +//// [asyncGenerators.classMethod.1.es2017.ts] +class C { + async * f() {} +} + + +//// [asyncGenerators.classMethod.1.es2017.js] +class C { + async *f() { } +} diff --git a/tests/baselines/reference/asyncGenerators.classMethod.1.es2017.symbols b/tests/baselines/reference/asyncGenerators.classMethod.1.es2017.symbols new file mode 100644 index 00000000000..e87b7730a53 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.classMethod.1.es2017.symbols @@ -0,0 +1,8 @@ +=== tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.1.es2017.ts === +class C { +>C : Symbol(C, Decl(asyncGenerators.classMethod.1.es2017.ts, 0, 0)) + + async * f() {} +>f : Symbol(C.f, Decl(asyncGenerators.classMethod.1.es2017.ts, 0, 9)) +} + diff --git a/tests/baselines/reference/asyncGenerators.classMethod.1.es2017.types b/tests/baselines/reference/asyncGenerators.classMethod.1.es2017.types new file mode 100644 index 00000000000..7e271c18c65 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.classMethod.1.es2017.types @@ -0,0 +1,8 @@ +=== tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.1.es2017.ts === +class C { +>C : C + + async * f() {} +>f : () => AsyncIterableIterator +} + diff --git a/tests/baselines/reference/asyncGenerators.classMethod.10.es2017.errors.txt b/tests/baselines/reference/asyncGenerators.classMethod.10.es2017.errors.txt new file mode 100644 index 00000000000..1c11912d33e --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.classMethod.10.es2017.errors.txt @@ -0,0 +1,18 @@ +tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.10.es2017.ts(3,26): error TS1003: Identifier expected. +tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.10.es2017.ts(3,32): error TS1109: Expression expected. +tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.10.es2017.ts(3,34): error TS1005: ';' expected. + + +==== tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.10.es2017.ts (3 errors) ==== + class C { + async * f() { + async function * await() { + ~~~~~ +!!! error TS1003: Identifier expected. + ~ +!!! error TS1109: Expression expected. + ~ +!!! error TS1005: ';' expected. + } + } + } \ No newline at end of file diff --git a/tests/baselines/reference/asyncGenerators.classMethod.10.es2017.js b/tests/baselines/reference/asyncGenerators.classMethod.10.es2017.js new file mode 100644 index 00000000000..edb7a28474e --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.classMethod.10.es2017.js @@ -0,0 +1,17 @@ +//// [asyncGenerators.classMethod.10.es2017.ts] +class C { + async * f() { + async function * await() { + } + } +} + +//// [asyncGenerators.classMethod.10.es2017.js] +class C { + async *f() { + async function* () { } + await (); + { + } + } +} diff --git a/tests/baselines/reference/asyncGenerators.classMethod.11.es2017.js b/tests/baselines/reference/asyncGenerators.classMethod.11.es2017.js new file mode 100644 index 00000000000..308d2718ec6 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.classMethod.11.es2017.js @@ -0,0 +1,13 @@ +//// [asyncGenerators.classMethod.11.es2017.ts] +class C { + async * f() { + yield; + } +} + +//// [asyncGenerators.classMethod.11.es2017.js] +class C { + async *f() { + yield; + } +} diff --git a/tests/baselines/reference/asyncGenerators.classMethod.11.es2017.symbols b/tests/baselines/reference/asyncGenerators.classMethod.11.es2017.symbols new file mode 100644 index 00000000000..c6906b46411 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.classMethod.11.es2017.symbols @@ -0,0 +1,10 @@ +=== tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.11.es2017.ts === +class C { +>C : Symbol(C, Decl(asyncGenerators.classMethod.11.es2017.ts, 0, 0)) + + async * f() { +>f : Symbol(C.f, Decl(asyncGenerators.classMethod.11.es2017.ts, 0, 9)) + + yield; + } +} diff --git a/tests/baselines/reference/asyncGenerators.classMethod.11.es2017.types b/tests/baselines/reference/asyncGenerators.classMethod.11.es2017.types new file mode 100644 index 00000000000..2d91da207e7 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.classMethod.11.es2017.types @@ -0,0 +1,11 @@ +=== tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.11.es2017.ts === +class C { +>C : C + + async * f() { +>f : () => AsyncIterableIterator + + yield; +>yield : any + } +} diff --git a/tests/baselines/reference/asyncGenerators.classMethod.12.es2017.js b/tests/baselines/reference/asyncGenerators.classMethod.12.es2017.js new file mode 100644 index 00000000000..eda01d3a635 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.classMethod.12.es2017.js @@ -0,0 +1,13 @@ +//// [asyncGenerators.classMethod.12.es2017.ts] +class C { + async * f() { + yield 1; + } +} + +//// [asyncGenerators.classMethod.12.es2017.js] +class C { + async *f() { + yield 1; + } +} diff --git a/tests/baselines/reference/asyncGenerators.classMethod.12.es2017.symbols b/tests/baselines/reference/asyncGenerators.classMethod.12.es2017.symbols new file mode 100644 index 00000000000..2730f83d488 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.classMethod.12.es2017.symbols @@ -0,0 +1,10 @@ +=== tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.12.es2017.ts === +class C { +>C : Symbol(C, Decl(asyncGenerators.classMethod.12.es2017.ts, 0, 0)) + + async * f() { +>f : Symbol(C.f, Decl(asyncGenerators.classMethod.12.es2017.ts, 0, 9)) + + yield 1; + } +} diff --git a/tests/baselines/reference/asyncGenerators.classMethod.12.es2017.types b/tests/baselines/reference/asyncGenerators.classMethod.12.es2017.types new file mode 100644 index 00000000000..8d8f95111cb --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.classMethod.12.es2017.types @@ -0,0 +1,12 @@ +=== tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.12.es2017.ts === +class C { +>C : C + + async * f() { +>f : () => AsyncIterableIterator<1> + + yield 1; +>yield 1 : any +>1 : 1 + } +} diff --git a/tests/baselines/reference/asyncGenerators.classMethod.13.es2017.js b/tests/baselines/reference/asyncGenerators.classMethod.13.es2017.js new file mode 100644 index 00000000000..04d144ca1f9 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.classMethod.13.es2017.js @@ -0,0 +1,13 @@ +//// [asyncGenerators.classMethod.13.es2017.ts] +class C { + async * f() { + yield * []; + } +} + +//// [asyncGenerators.classMethod.13.es2017.js] +class C { + async *f() { + yield* []; + } +} diff --git a/tests/baselines/reference/asyncGenerators.classMethod.13.es2017.symbols b/tests/baselines/reference/asyncGenerators.classMethod.13.es2017.symbols new file mode 100644 index 00000000000..4b5cae562c6 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.classMethod.13.es2017.symbols @@ -0,0 +1,10 @@ +=== tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.13.es2017.ts === +class C { +>C : Symbol(C, Decl(asyncGenerators.classMethod.13.es2017.ts, 0, 0)) + + async * f() { +>f : Symbol(C.f, Decl(asyncGenerators.classMethod.13.es2017.ts, 0, 9)) + + yield * []; + } +} diff --git a/tests/baselines/reference/asyncGenerators.classMethod.13.es2017.types b/tests/baselines/reference/asyncGenerators.classMethod.13.es2017.types new file mode 100644 index 00000000000..707156301da --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.classMethod.13.es2017.types @@ -0,0 +1,12 @@ +=== tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.13.es2017.ts === +class C { +>C : C + + async * f() { +>f : () => AsyncIterableIterator + + yield * []; +>yield * [] : any +>[] : undefined[] + } +} diff --git a/tests/baselines/reference/asyncGenerators.classMethod.14.es2017.js b/tests/baselines/reference/asyncGenerators.classMethod.14.es2017.js new file mode 100644 index 00000000000..6804077739a --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.classMethod.14.es2017.js @@ -0,0 +1,14 @@ +//// [asyncGenerators.classMethod.14.es2017.ts] +declare const ai: AsyncIterable; +class C { + async * f() { + yield * ai; + } +} + +//// [asyncGenerators.classMethod.14.es2017.js] +class C { + async *f() { + yield* ai; + } +} diff --git a/tests/baselines/reference/asyncGenerators.classMethod.14.es2017.symbols b/tests/baselines/reference/asyncGenerators.classMethod.14.es2017.symbols new file mode 100644 index 00000000000..06fb6549016 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.classMethod.14.es2017.symbols @@ -0,0 +1,15 @@ +=== tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.14.es2017.ts === +declare const ai: AsyncIterable; +>ai : Symbol(ai, Decl(asyncGenerators.classMethod.14.es2017.ts, 0, 13)) +>AsyncIterable : Symbol(AsyncIterable, Decl(lib.es2017.asynciterable.d.ts, --, --)) + +class C { +>C : Symbol(C, Decl(asyncGenerators.classMethod.14.es2017.ts, 0, 40)) + + async * f() { +>f : Symbol(C.f, Decl(asyncGenerators.classMethod.14.es2017.ts, 1, 9)) + + yield * ai; +>ai : Symbol(ai, Decl(asyncGenerators.classMethod.14.es2017.ts, 0, 13)) + } +} diff --git a/tests/baselines/reference/asyncGenerators.classMethod.14.es2017.types b/tests/baselines/reference/asyncGenerators.classMethod.14.es2017.types new file mode 100644 index 00000000000..13c3dcc61c8 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.classMethod.14.es2017.types @@ -0,0 +1,16 @@ +=== tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.14.es2017.ts === +declare const ai: AsyncIterable; +>ai : AsyncIterable +>AsyncIterable : AsyncIterable + +class C { +>C : C + + async * f() { +>f : () => AsyncIterableIterator + + yield * ai; +>yield * ai : any +>ai : AsyncIterable + } +} diff --git a/tests/baselines/reference/asyncGenerators.classMethod.15.es2017.js b/tests/baselines/reference/asyncGenerators.classMethod.15.es2017.js new file mode 100644 index 00000000000..1dc681afd3c --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.classMethod.15.es2017.js @@ -0,0 +1,13 @@ +//// [asyncGenerators.classMethod.15.es2017.ts] +class C { + async * f() { + await 1; + } +} + +//// [asyncGenerators.classMethod.15.es2017.js] +class C { + async *f() { + await 1; + } +} diff --git a/tests/baselines/reference/asyncGenerators.classMethod.15.es2017.symbols b/tests/baselines/reference/asyncGenerators.classMethod.15.es2017.symbols new file mode 100644 index 00000000000..6215a70bab4 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.classMethod.15.es2017.symbols @@ -0,0 +1,10 @@ +=== tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.15.es2017.ts === +class C { +>C : Symbol(C, Decl(asyncGenerators.classMethod.15.es2017.ts, 0, 0)) + + async * f() { +>f : Symbol(C.f, Decl(asyncGenerators.classMethod.15.es2017.ts, 0, 9)) + + await 1; + } +} diff --git a/tests/baselines/reference/asyncGenerators.classMethod.15.es2017.types b/tests/baselines/reference/asyncGenerators.classMethod.15.es2017.types new file mode 100644 index 00000000000..3904ca66018 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.classMethod.15.es2017.types @@ -0,0 +1,12 @@ +=== tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.15.es2017.ts === +class C { +>C : C + + async * f() { +>f : () => AsyncIterableIterator + + await 1; +>await 1 : 1 +>1 : 1 + } +} diff --git a/tests/baselines/reference/asyncGenerators.classMethod.16.es2017.errors.txt b/tests/baselines/reference/asyncGenerators.classMethod.16.es2017.errors.txt new file mode 100644 index 00000000000..207d9fe525d --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.classMethod.16.es2017.errors.txt @@ -0,0 +1,11 @@ +tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.16.es2017.ts(3,14): error TS1109: Expression expected. + + +==== tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.16.es2017.ts (1 errors) ==== + class C { + async * f() { + await; + ~ +!!! error TS1109: Expression expected. + } + } \ No newline at end of file diff --git a/tests/baselines/reference/asyncGenerators.classMethod.16.es2017.js b/tests/baselines/reference/asyncGenerators.classMethod.16.es2017.js new file mode 100644 index 00000000000..189946fc7c5 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.classMethod.16.es2017.js @@ -0,0 +1,13 @@ +//// [asyncGenerators.classMethod.16.es2017.ts] +class C { + async * f() { + await; + } +} + +//// [asyncGenerators.classMethod.16.es2017.js] +class C { + async *f() { + await ; + } +} diff --git a/tests/baselines/reference/asyncGenerators.classMethod.17.es2017.errors.txt b/tests/baselines/reference/asyncGenerators.classMethod.17.es2017.errors.txt new file mode 100644 index 00000000000..6833b47ec8d --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.classMethod.17.es2017.errors.txt @@ -0,0 +1,11 @@ +tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.17.es2017.ts(3,16): error TS2304: Cannot find name 'await'. + + +==== tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.17.es2017.ts (1 errors) ==== + class C { + async * f() { + var x: await; + ~~~~~ +!!! error TS2304: Cannot find name 'await'. + } + } \ No newline at end of file diff --git a/tests/baselines/reference/asyncGenerators.classMethod.17.es2017.js b/tests/baselines/reference/asyncGenerators.classMethod.17.es2017.js new file mode 100644 index 00000000000..f550443ae35 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.classMethod.17.es2017.js @@ -0,0 +1,13 @@ +//// [asyncGenerators.classMethod.17.es2017.ts] +class C { + async * f() { + var x: await; + } +} + +//// [asyncGenerators.classMethod.17.es2017.js] +class C { + async *f() { + var x; + } +} diff --git a/tests/baselines/reference/asyncGenerators.classMethod.18.es2017.errors.txt b/tests/baselines/reference/asyncGenerators.classMethod.18.es2017.errors.txt new file mode 100644 index 00000000000..53559f0c6a2 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.classMethod.18.es2017.errors.txt @@ -0,0 +1,14 @@ +tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.18.es2017.ts(3,16): error TS1213: Identifier expected. 'yield' is a reserved word in strict mode. Class definitions are automatically in strict mode. +tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.18.es2017.ts(3,16): error TS2304: Cannot find name 'yield'. + + +==== tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.18.es2017.ts (2 errors) ==== + class C { + async * f() { + var x: yield; + ~~~~~ +!!! error TS1213: Identifier expected. 'yield' is a reserved word in strict mode. Class definitions are automatically in strict mode. + ~~~~~ +!!! error TS2304: Cannot find name 'yield'. + } + } \ No newline at end of file diff --git a/tests/baselines/reference/asyncGenerators.classMethod.18.es2017.js b/tests/baselines/reference/asyncGenerators.classMethod.18.es2017.js new file mode 100644 index 00000000000..8c40a85f7ae --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.classMethod.18.es2017.js @@ -0,0 +1,13 @@ +//// [asyncGenerators.classMethod.18.es2017.ts] +class C { + async * f() { + var x: yield; + } +} + +//// [asyncGenerators.classMethod.18.es2017.js] +class C { + async *f() { + var x; + } +} diff --git a/tests/baselines/reference/asyncGenerators.classMethod.19.es2017.js b/tests/baselines/reference/asyncGenerators.classMethod.19.es2017.js new file mode 100644 index 00000000000..06a59a06ff5 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.classMethod.19.es2017.js @@ -0,0 +1,13 @@ +//// [asyncGenerators.classMethod.19.es2017.ts] +class C { + async * f() { + var x = { [yield]: 1 }; + } +} + +//// [asyncGenerators.classMethod.19.es2017.js] +class C { + async *f() { + var x = { [yield]: 1 }; + } +} diff --git a/tests/baselines/reference/asyncGenerators.classMethod.19.es2017.symbols b/tests/baselines/reference/asyncGenerators.classMethod.19.es2017.symbols new file mode 100644 index 00000000000..4fa48e5d0f9 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.classMethod.19.es2017.symbols @@ -0,0 +1,11 @@ +=== tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.19.es2017.ts === +class C { +>C : Symbol(C, Decl(asyncGenerators.classMethod.19.es2017.ts, 0, 0)) + + async * f() { +>f : Symbol(C.f, Decl(asyncGenerators.classMethod.19.es2017.ts, 0, 9)) + + var x = { [yield]: 1 }; +>x : Symbol(x, Decl(asyncGenerators.classMethod.19.es2017.ts, 2, 11)) + } +} diff --git a/tests/baselines/reference/asyncGenerators.classMethod.19.es2017.types b/tests/baselines/reference/asyncGenerators.classMethod.19.es2017.types new file mode 100644 index 00000000000..de2a0e0b7fc --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.classMethod.19.es2017.types @@ -0,0 +1,14 @@ +=== tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.19.es2017.ts === +class C { +>C : C + + async * f() { +>f : () => AsyncIterableIterator + + var x = { [yield]: 1 }; +>x : { [x: number]: number; } +>{ [yield]: 1 } : { [x: number]: number; } +>yield : any +>1 : 1 + } +} diff --git a/tests/baselines/reference/asyncGenerators.classMethod.2.es2017.js b/tests/baselines/reference/asyncGenerators.classMethod.2.es2017.js new file mode 100644 index 00000000000..3447964750f --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.classMethod.2.es2017.js @@ -0,0 +1,9 @@ +//// [asyncGenerators.classMethod.2.es2017.ts] +class C { + async * await() {} +} + +//// [asyncGenerators.classMethod.2.es2017.js] +class C { + async *await() { } +} diff --git a/tests/baselines/reference/asyncGenerators.classMethod.2.es2017.symbols b/tests/baselines/reference/asyncGenerators.classMethod.2.es2017.symbols new file mode 100644 index 00000000000..fd9c1693710 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.classMethod.2.es2017.symbols @@ -0,0 +1,7 @@ +=== tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.2.es2017.ts === +class C { +>C : Symbol(C, Decl(asyncGenerators.classMethod.2.es2017.ts, 0, 0)) + + async * await() {} +>await : Symbol(C.await, Decl(asyncGenerators.classMethod.2.es2017.ts, 0, 9)) +} diff --git a/tests/baselines/reference/asyncGenerators.classMethod.2.es2017.types b/tests/baselines/reference/asyncGenerators.classMethod.2.es2017.types new file mode 100644 index 00000000000..a98511dafa5 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.classMethod.2.es2017.types @@ -0,0 +1,7 @@ +=== tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.2.es2017.ts === +class C { +>C : C + + async * await() {} +>await : () => AsyncIterableIterator +} diff --git a/tests/baselines/reference/asyncGenerators.classMethod.20.es2017.errors.txt b/tests/baselines/reference/asyncGenerators.classMethod.20.es2017.errors.txt new file mode 100644 index 00000000000..b518dec6348 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.classMethod.20.es2017.errors.txt @@ -0,0 +1,14 @@ +tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.20.es2017.ts(3,16): error TS1213: Identifier expected. 'yield' is a reserved word in strict mode. Class definitions are automatically in strict mode. +tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.20.es2017.ts(3,16): error TS2304: Cannot find name 'yield'. + + +==== tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.20.es2017.ts (2 errors) ==== + class C { + async * f() { + var x: yield; + ~~~~~ +!!! error TS1213: Identifier expected. 'yield' is a reserved word in strict mode. Class definitions are automatically in strict mode. + ~~~~~ +!!! error TS2304: Cannot find name 'yield'. + } + } \ No newline at end of file diff --git a/tests/baselines/reference/asyncGenerators.classMethod.20.es2017.js b/tests/baselines/reference/asyncGenerators.classMethod.20.es2017.js new file mode 100644 index 00000000000..4c47c847d44 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.classMethod.20.es2017.js @@ -0,0 +1,13 @@ +//// [asyncGenerators.classMethod.20.es2017.ts] +class C { + async * f() { + var x: yield; + } +} + +//// [asyncGenerators.classMethod.20.es2017.js] +class C { + async *f() { + var x; + } +} diff --git a/tests/baselines/reference/asyncGenerators.classMethod.21.es2017.errors.txt b/tests/baselines/reference/asyncGenerators.classMethod.21.es2017.errors.txt new file mode 100644 index 00000000000..eaf0cccb3f8 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.classMethod.21.es2017.errors.txt @@ -0,0 +1,13 @@ +tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.21.es2017.ts(2,14): error TS1213: Identifier expected. 'yield' is a reserved word in strict mode. Class definitions are automatically in strict mode. +tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.21.es2017.ts(2,14): error TS2304: Cannot find name 'yield'. + + +==== tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.21.es2017.ts (2 errors) ==== + class C { + async * [yield]() { + ~~~~~ +!!! error TS1213: Identifier expected. 'yield' is a reserved word in strict mode. Class definitions are automatically in strict mode. + ~~~~~ +!!! error TS2304: Cannot find name 'yield'. + } + } \ No newline at end of file diff --git a/tests/baselines/reference/asyncGenerators.classMethod.21.es2017.js b/tests/baselines/reference/asyncGenerators.classMethod.21.es2017.js new file mode 100644 index 00000000000..cb1a249fad2 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.classMethod.21.es2017.js @@ -0,0 +1,11 @@ +//// [asyncGenerators.classMethod.21.es2017.ts] +class C { + async * [yield]() { + } +} + +//// [asyncGenerators.classMethod.21.es2017.js] +class C { + async *[yield]() { + } +} diff --git a/tests/baselines/reference/asyncGenerators.classMethod.22.es2017.errors.txt b/tests/baselines/reference/asyncGenerators.classMethod.22.es2017.errors.txt new file mode 100644 index 00000000000..fe303859714 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.classMethod.22.es2017.errors.txt @@ -0,0 +1,10 @@ +tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.22.es2017.ts(2,14): error TS2304: Cannot find name 'await'. + + +==== tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.22.es2017.ts (1 errors) ==== + class C { + async * [await]() { + ~~~~~ +!!! error TS2304: Cannot find name 'await'. + } + } \ No newline at end of file diff --git a/tests/baselines/reference/asyncGenerators.classMethod.22.es2017.js b/tests/baselines/reference/asyncGenerators.classMethod.22.es2017.js new file mode 100644 index 00000000000..ffa625b12aa --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.classMethod.22.es2017.js @@ -0,0 +1,11 @@ +//// [asyncGenerators.classMethod.22.es2017.ts] +class C { + async * [await]() { + } +} + +//// [asyncGenerators.classMethod.22.es2017.js] +class C { + async *[await]() { + } +} diff --git a/tests/baselines/reference/asyncGenerators.classMethod.3.es2017.js b/tests/baselines/reference/asyncGenerators.classMethod.3.es2017.js new file mode 100644 index 00000000000..4f61cfdbb10 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.classMethod.3.es2017.js @@ -0,0 +1,9 @@ +//// [asyncGenerators.classMethod.3.es2017.ts] +class C { + async * yield() {} +} + +//// [asyncGenerators.classMethod.3.es2017.js] +class C { + async *yield() { } +} diff --git a/tests/baselines/reference/asyncGenerators.classMethod.3.es2017.symbols b/tests/baselines/reference/asyncGenerators.classMethod.3.es2017.symbols new file mode 100644 index 00000000000..9e685695e7f --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.classMethod.3.es2017.symbols @@ -0,0 +1,7 @@ +=== tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.3.es2017.ts === +class C { +>C : Symbol(C, Decl(asyncGenerators.classMethod.3.es2017.ts, 0, 0)) + + async * yield() {} +>yield : Symbol(C.yield, Decl(asyncGenerators.classMethod.3.es2017.ts, 0, 9)) +} diff --git a/tests/baselines/reference/asyncGenerators.classMethod.3.es2017.types b/tests/baselines/reference/asyncGenerators.classMethod.3.es2017.types new file mode 100644 index 00000000000..8ff2eb751f2 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.classMethod.3.es2017.types @@ -0,0 +1,7 @@ +=== tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.3.es2017.ts === +class C { +>C : C + + async * yield() {} +>yield : () => AsyncIterableIterator +} diff --git a/tests/baselines/reference/asyncGenerators.classMethod.4.es2017.errors.txt b/tests/baselines/reference/asyncGenerators.classMethod.4.es2017.errors.txt new file mode 100644 index 00000000000..cb0ab24fdff --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.classMethod.4.es2017.errors.txt @@ -0,0 +1,18 @@ +tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.4.es2017.ts(2,15): error TS1138: Parameter declaration expected. +tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.4.es2017.ts(2,15): error TS2304: Cannot find name 'await'. +tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.4.es2017.ts(2,20): error TS1005: ';' expected. +tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.4.es2017.ts(3,1): error TS1128: Declaration or statement expected. + + +==== tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.4.es2017.ts (4 errors) ==== + class C { + async * f(await) {} + ~~~~~ +!!! error TS1138: Parameter declaration expected. + ~~~~~ +!!! error TS2304: Cannot find name 'await'. + ~ +!!! error TS1005: ';' expected. + } + ~ +!!! error TS1128: Declaration or statement expected. \ No newline at end of file diff --git a/tests/baselines/reference/asyncGenerators.classMethod.4.es2017.js b/tests/baselines/reference/asyncGenerators.classMethod.4.es2017.js new file mode 100644 index 00000000000..04e63419113 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.classMethod.4.es2017.js @@ -0,0 +1,11 @@ +//// [asyncGenerators.classMethod.4.es2017.ts] +class C { + async * f(await) {} +} + +//// [asyncGenerators.classMethod.4.es2017.js] +class C { + async *f() { } +} +await; +{ } diff --git a/tests/baselines/reference/asyncGenerators.classMethod.5.es2017.errors.txt b/tests/baselines/reference/asyncGenerators.classMethod.5.es2017.errors.txt new file mode 100644 index 00000000000..2e674a6e473 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.classMethod.5.es2017.errors.txt @@ -0,0 +1,18 @@ +tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.5.es2017.ts(2,15): error TS1138: Parameter declaration expected. +tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.5.es2017.ts(2,15): error TS2304: Cannot find name 'yield'. +tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.5.es2017.ts(2,20): error TS1005: ';' expected. +tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.5.es2017.ts(3,1): error TS1128: Declaration or statement expected. + + +==== tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.5.es2017.ts (4 errors) ==== + class C { + async * f(yield) {} + ~~~~~ +!!! error TS1138: Parameter declaration expected. + ~~~~~ +!!! error TS2304: Cannot find name 'yield'. + ~ +!!! error TS1005: ';' expected. + } + ~ +!!! error TS1128: Declaration or statement expected. \ No newline at end of file diff --git a/tests/baselines/reference/asyncGenerators.classMethod.5.es2017.js b/tests/baselines/reference/asyncGenerators.classMethod.5.es2017.js new file mode 100644 index 00000000000..596f63ef06b --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.classMethod.5.es2017.js @@ -0,0 +1,11 @@ +//// [asyncGenerators.classMethod.5.es2017.ts] +class C { + async * f(yield) {} +} + +//// [asyncGenerators.classMethod.5.es2017.js] +class C { + async *f() { } +} +yield; +{ } diff --git a/tests/baselines/reference/asyncGenerators.classMethod.6.es2017.errors.txt b/tests/baselines/reference/asyncGenerators.classMethod.6.es2017.errors.txt new file mode 100644 index 00000000000..edfcbbe4aa1 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.classMethod.6.es2017.errors.txt @@ -0,0 +1,9 @@ +tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.6.es2017.ts(2,19): error TS2524: 'await' expressions cannot be used in a parameter initializer. + + +==== tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.6.es2017.ts (1 errors) ==== + class C { + async * f(a = await 1) {} + ~~~~~~~ +!!! error TS2524: 'await' expressions cannot be used in a parameter initializer. + } \ No newline at end of file diff --git a/tests/baselines/reference/asyncGenerators.classMethod.6.es2017.js b/tests/baselines/reference/asyncGenerators.classMethod.6.es2017.js new file mode 100644 index 00000000000..9e6d23a840b --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.classMethod.6.es2017.js @@ -0,0 +1,9 @@ +//// [asyncGenerators.classMethod.6.es2017.ts] +class C { + async * f(a = await 1) {} +} + +//// [asyncGenerators.classMethod.6.es2017.js] +class C { + async *f(a = await 1) { } +} diff --git a/tests/baselines/reference/asyncGenerators.classMethod.7.es2017.errors.txt b/tests/baselines/reference/asyncGenerators.classMethod.7.es2017.errors.txt new file mode 100644 index 00000000000..7df282ba2e6 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.classMethod.7.es2017.errors.txt @@ -0,0 +1,12 @@ +tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.7.es2017.ts(2,19): error TS1163: A 'yield' expression is only allowed in a generator body. +tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.7.es2017.ts(2,19): error TS2523: 'yield' expressions cannot be used in a parameter initializer. + + +==== tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.7.es2017.ts (2 errors) ==== + class C { + async * f(a = yield) {} + ~~~~~ +!!! error TS1163: A 'yield' expression is only allowed in a generator body. + ~~~~~ +!!! error TS2523: 'yield' expressions cannot be used in a parameter initializer. + } \ No newline at end of file diff --git a/tests/baselines/reference/asyncGenerators.classMethod.7.es2017.js b/tests/baselines/reference/asyncGenerators.classMethod.7.es2017.js new file mode 100644 index 00000000000..979cb17727c --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.classMethod.7.es2017.js @@ -0,0 +1,9 @@ +//// [asyncGenerators.classMethod.7.es2017.ts] +class C { + async * f(a = yield) {} +} + +//// [asyncGenerators.classMethod.7.es2017.js] +class C { + async *f(a = yield) { } +} diff --git a/tests/baselines/reference/asyncGenerators.classMethod.8.es2017.js b/tests/baselines/reference/asyncGenerators.classMethod.8.es2017.js new file mode 100644 index 00000000000..9ff01b66fcf --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.classMethod.8.es2017.js @@ -0,0 +1,15 @@ +//// [asyncGenerators.classMethod.8.es2017.ts] +class C { + async * f() { + async function * g() { + } + } +} + +//// [asyncGenerators.classMethod.8.es2017.js] +class C { + async *f() { + async function* g() { + } + } +} diff --git a/tests/baselines/reference/asyncGenerators.classMethod.8.es2017.symbols b/tests/baselines/reference/asyncGenerators.classMethod.8.es2017.symbols new file mode 100644 index 00000000000..7fb5f049fa6 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.classMethod.8.es2017.symbols @@ -0,0 +1,12 @@ +=== tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.8.es2017.ts === +class C { +>C : Symbol(C, Decl(asyncGenerators.classMethod.8.es2017.ts, 0, 0)) + + async * f() { +>f : Symbol(C.f, Decl(asyncGenerators.classMethod.8.es2017.ts, 0, 9)) + + async function * g() { +>g : Symbol(g, Decl(asyncGenerators.classMethod.8.es2017.ts, 1, 17)) + } + } +} diff --git a/tests/baselines/reference/asyncGenerators.classMethod.8.es2017.types b/tests/baselines/reference/asyncGenerators.classMethod.8.es2017.types new file mode 100644 index 00000000000..44a9d7587cf --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.classMethod.8.es2017.types @@ -0,0 +1,12 @@ +=== tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.8.es2017.ts === +class C { +>C : C + + async * f() { +>f : () => AsyncIterableIterator + + async function * g() { +>g : () => AsyncIterableIterator + } + } +} diff --git a/tests/baselines/reference/asyncGenerators.classMethod.9.es2017.errors.txt b/tests/baselines/reference/asyncGenerators.classMethod.9.es2017.errors.txt new file mode 100644 index 00000000000..9b30590a9d9 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.classMethod.9.es2017.errors.txt @@ -0,0 +1,15 @@ +tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.9.es2017.ts(3,26): error TS1003: Identifier expected. +tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.9.es2017.ts(3,34): error TS1005: '=>' expected. + + +==== tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.9.es2017.ts (2 errors) ==== + class C { + async * f() { + async function * yield() { + ~~~~~ +!!! error TS1003: Identifier expected. + ~ +!!! error TS1005: '=>' expected. + } + } + } \ No newline at end of file diff --git a/tests/baselines/reference/asyncGenerators.classMethod.9.es2017.js b/tests/baselines/reference/asyncGenerators.classMethod.9.es2017.js new file mode 100644 index 00000000000..28f8622611e --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.classMethod.9.es2017.js @@ -0,0 +1,16 @@ +//// [asyncGenerators.classMethod.9.es2017.ts] +class C { + async * f() { + async function * yield() { + } + } +} + +//// [asyncGenerators.classMethod.9.es2017.js] +class C { + async *f() { + async function* () { } + yield () => { + }; + } +} diff --git a/tests/baselines/reference/asyncGenerators.functionDeclaration.1.es2017.js b/tests/baselines/reference/asyncGenerators.functionDeclaration.1.es2017.js new file mode 100644 index 00000000000..a3feac32c2b --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionDeclaration.1.es2017.js @@ -0,0 +1,5 @@ +//// [asyncGenerators.functionDeclaration.1.es2017.ts] +async function * f() {} + +//// [asyncGenerators.functionDeclaration.1.es2017.js] +async function* f() { } diff --git a/tests/baselines/reference/asyncGenerators.functionDeclaration.1.es2017.symbols b/tests/baselines/reference/asyncGenerators.functionDeclaration.1.es2017.symbols new file mode 100644 index 00000000000..a84b47badcc --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionDeclaration.1.es2017.symbols @@ -0,0 +1,4 @@ +=== tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.1.es2017.ts === +async function * f() {} +>f : Symbol(f, Decl(asyncGenerators.functionDeclaration.1.es2017.ts, 0, 0)) + diff --git a/tests/baselines/reference/asyncGenerators.functionDeclaration.1.es2017.types b/tests/baselines/reference/asyncGenerators.functionDeclaration.1.es2017.types new file mode 100644 index 00000000000..b0ce9d34599 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionDeclaration.1.es2017.types @@ -0,0 +1,4 @@ +=== tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.1.es2017.ts === +async function * f() {} +>f : () => AsyncIterableIterator + diff --git a/tests/baselines/reference/asyncGenerators.functionDeclaration.10.es2017.errors.txt b/tests/baselines/reference/asyncGenerators.functionDeclaration.10.es2017.errors.txt new file mode 100644 index 00000000000..9ebcd970a78 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionDeclaration.10.es2017.errors.txt @@ -0,0 +1,16 @@ +tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.10.es2017.ts(2,22): error TS1003: Identifier expected. +tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.10.es2017.ts(2,28): error TS1109: Expression expected. +tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.10.es2017.ts(2,30): error TS1005: ';' expected. + + +==== tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.10.es2017.ts (3 errors) ==== + async function * f() { + async function * await() { + ~~~~~ +!!! error TS1003: Identifier expected. + ~ +!!! error TS1109: Expression expected. + ~ +!!! error TS1005: ';' expected. + } + } \ No newline at end of file diff --git a/tests/baselines/reference/asyncGenerators.functionDeclaration.10.es2017.js b/tests/baselines/reference/asyncGenerators.functionDeclaration.10.es2017.js new file mode 100644 index 00000000000..28d2a11d0d1 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionDeclaration.10.es2017.js @@ -0,0 +1,13 @@ +//// [asyncGenerators.functionDeclaration.10.es2017.ts] +async function * f() { + async function * await() { + } +} + +//// [asyncGenerators.functionDeclaration.10.es2017.js] +async function* f() { + async function* () { } + await (); + { + } +} diff --git a/tests/baselines/reference/asyncGenerators.functionDeclaration.11.es2017.js b/tests/baselines/reference/asyncGenerators.functionDeclaration.11.es2017.js new file mode 100644 index 00000000000..512313550f3 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionDeclaration.11.es2017.js @@ -0,0 +1,9 @@ +//// [asyncGenerators.functionDeclaration.11.es2017.ts] +async function * f() { + yield; +} + +//// [asyncGenerators.functionDeclaration.11.es2017.js] +async function* f() { + yield; +} diff --git a/tests/baselines/reference/asyncGenerators.functionDeclaration.11.es2017.symbols b/tests/baselines/reference/asyncGenerators.functionDeclaration.11.es2017.symbols new file mode 100644 index 00000000000..4e22dbf3ff1 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionDeclaration.11.es2017.symbols @@ -0,0 +1,6 @@ +=== tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.11.es2017.ts === +async function * f() { +>f : Symbol(f, Decl(asyncGenerators.functionDeclaration.11.es2017.ts, 0, 0)) + + yield; +} diff --git a/tests/baselines/reference/asyncGenerators.functionDeclaration.11.es2017.types b/tests/baselines/reference/asyncGenerators.functionDeclaration.11.es2017.types new file mode 100644 index 00000000000..2ba0c330e0a --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionDeclaration.11.es2017.types @@ -0,0 +1,7 @@ +=== tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.11.es2017.ts === +async function * f() { +>f : () => AsyncIterableIterator + + yield; +>yield : any +} diff --git a/tests/baselines/reference/asyncGenerators.functionDeclaration.12.es2017.js b/tests/baselines/reference/asyncGenerators.functionDeclaration.12.es2017.js new file mode 100644 index 00000000000..2d6ff6c363f --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionDeclaration.12.es2017.js @@ -0,0 +1,9 @@ +//// [asyncGenerators.functionDeclaration.12.es2017.ts] +async function * f() { + yield 1; +} + +//// [asyncGenerators.functionDeclaration.12.es2017.js] +async function* f() { + yield 1; +} diff --git a/tests/baselines/reference/asyncGenerators.functionDeclaration.12.es2017.symbols b/tests/baselines/reference/asyncGenerators.functionDeclaration.12.es2017.symbols new file mode 100644 index 00000000000..2ee2633cbca --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionDeclaration.12.es2017.symbols @@ -0,0 +1,6 @@ +=== tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.12.es2017.ts === +async function * f() { +>f : Symbol(f, Decl(asyncGenerators.functionDeclaration.12.es2017.ts, 0, 0)) + + yield 1; +} diff --git a/tests/baselines/reference/asyncGenerators.functionDeclaration.12.es2017.types b/tests/baselines/reference/asyncGenerators.functionDeclaration.12.es2017.types new file mode 100644 index 00000000000..58ff3030b55 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionDeclaration.12.es2017.types @@ -0,0 +1,8 @@ +=== tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.12.es2017.ts === +async function * f() { +>f : () => AsyncIterableIterator<1> + + yield 1; +>yield 1 : any +>1 : 1 +} diff --git a/tests/baselines/reference/asyncGenerators.functionDeclaration.13.es2017.js b/tests/baselines/reference/asyncGenerators.functionDeclaration.13.es2017.js new file mode 100644 index 00000000000..4b4b0a208f3 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionDeclaration.13.es2017.js @@ -0,0 +1,9 @@ +//// [asyncGenerators.functionDeclaration.13.es2017.ts] +async function * f() { + yield * []; +} + +//// [asyncGenerators.functionDeclaration.13.es2017.js] +async function* f() { + yield* []; +} diff --git a/tests/baselines/reference/asyncGenerators.functionDeclaration.13.es2017.symbols b/tests/baselines/reference/asyncGenerators.functionDeclaration.13.es2017.symbols new file mode 100644 index 00000000000..482dac85c2e --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionDeclaration.13.es2017.symbols @@ -0,0 +1,6 @@ +=== tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.13.es2017.ts === +async function * f() { +>f : Symbol(f, Decl(asyncGenerators.functionDeclaration.13.es2017.ts, 0, 0)) + + yield * []; +} diff --git a/tests/baselines/reference/asyncGenerators.functionDeclaration.13.es2017.types b/tests/baselines/reference/asyncGenerators.functionDeclaration.13.es2017.types new file mode 100644 index 00000000000..28ce45ae031 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionDeclaration.13.es2017.types @@ -0,0 +1,8 @@ +=== tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.13.es2017.ts === +async function * f() { +>f : () => AsyncIterableIterator + + yield * []; +>yield * [] : any +>[] : undefined[] +} diff --git a/tests/baselines/reference/asyncGenerators.functionDeclaration.14.es2017.js b/tests/baselines/reference/asyncGenerators.functionDeclaration.14.es2017.js new file mode 100644 index 00000000000..430a1dd133b --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionDeclaration.14.es2017.js @@ -0,0 +1,9 @@ +//// [asyncGenerators.functionDeclaration.14.es2017.ts] +async function * f() { + yield * f(); +} + +//// [asyncGenerators.functionDeclaration.14.es2017.js] +async function* f() { + yield* f(); +} diff --git a/tests/baselines/reference/asyncGenerators.functionDeclaration.14.es2017.symbols b/tests/baselines/reference/asyncGenerators.functionDeclaration.14.es2017.symbols new file mode 100644 index 00000000000..83ca34b15d8 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionDeclaration.14.es2017.symbols @@ -0,0 +1,7 @@ +=== tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.14.es2017.ts === +async function * f() { +>f : Symbol(f, Decl(asyncGenerators.functionDeclaration.14.es2017.ts, 0, 0)) + + yield * f(); +>f : Symbol(f, Decl(asyncGenerators.functionDeclaration.14.es2017.ts, 0, 0)) +} diff --git a/tests/baselines/reference/asyncGenerators.functionDeclaration.14.es2017.types b/tests/baselines/reference/asyncGenerators.functionDeclaration.14.es2017.types new file mode 100644 index 00000000000..e078d4d4a51 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionDeclaration.14.es2017.types @@ -0,0 +1,9 @@ +=== tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.14.es2017.ts === +async function * f() { +>f : () => any + + yield * f(); +>yield * f() : any +>f() : any +>f : () => any +} diff --git a/tests/baselines/reference/asyncGenerators.functionDeclaration.15.es2017.js b/tests/baselines/reference/asyncGenerators.functionDeclaration.15.es2017.js new file mode 100644 index 00000000000..5c1fa802538 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionDeclaration.15.es2017.js @@ -0,0 +1,9 @@ +//// [asyncGenerators.functionDeclaration.15.es2017.ts] +async function * f() { + await 1; +} + +//// [asyncGenerators.functionDeclaration.15.es2017.js] +async function* f() { + await 1; +} diff --git a/tests/baselines/reference/asyncGenerators.functionDeclaration.15.es2017.symbols b/tests/baselines/reference/asyncGenerators.functionDeclaration.15.es2017.symbols new file mode 100644 index 00000000000..a70c6e63a2a --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionDeclaration.15.es2017.symbols @@ -0,0 +1,6 @@ +=== tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.15.es2017.ts === +async function * f() { +>f : Symbol(f, Decl(asyncGenerators.functionDeclaration.15.es2017.ts, 0, 0)) + + await 1; +} diff --git a/tests/baselines/reference/asyncGenerators.functionDeclaration.15.es2017.types b/tests/baselines/reference/asyncGenerators.functionDeclaration.15.es2017.types new file mode 100644 index 00000000000..d4207454382 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionDeclaration.15.es2017.types @@ -0,0 +1,8 @@ +=== tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.15.es2017.ts === +async function * f() { +>f : () => AsyncIterableIterator + + await 1; +>await 1 : 1 +>1 : 1 +} diff --git a/tests/baselines/reference/asyncGenerators.functionDeclaration.16.es2017.errors.txt b/tests/baselines/reference/asyncGenerators.functionDeclaration.16.es2017.errors.txt new file mode 100644 index 00000000000..de34d3ee976 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionDeclaration.16.es2017.errors.txt @@ -0,0 +1,9 @@ +tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.16.es2017.ts(2,10): error TS1109: Expression expected. + + +==== tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.16.es2017.ts (1 errors) ==== + async function * f() { + await; + ~ +!!! error TS1109: Expression expected. + } \ No newline at end of file diff --git a/tests/baselines/reference/asyncGenerators.functionDeclaration.16.es2017.js b/tests/baselines/reference/asyncGenerators.functionDeclaration.16.es2017.js new file mode 100644 index 00000000000..ca2c432824e --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionDeclaration.16.es2017.js @@ -0,0 +1,9 @@ +//// [asyncGenerators.functionDeclaration.16.es2017.ts] +async function * f() { + await; +} + +//// [asyncGenerators.functionDeclaration.16.es2017.js] +async function* f() { + await ; +} diff --git a/tests/baselines/reference/asyncGenerators.functionDeclaration.17.es2017.errors.txt b/tests/baselines/reference/asyncGenerators.functionDeclaration.17.es2017.errors.txt new file mode 100644 index 00000000000..067d0159c0b --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionDeclaration.17.es2017.errors.txt @@ -0,0 +1,9 @@ +tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.17.es2017.ts(2,12): error TS2304: Cannot find name 'await'. + + +==== tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.17.es2017.ts (1 errors) ==== + async function * f() { + var x: await; + ~~~~~ +!!! error TS2304: Cannot find name 'await'. + } \ No newline at end of file diff --git a/tests/baselines/reference/asyncGenerators.functionDeclaration.17.es2017.js b/tests/baselines/reference/asyncGenerators.functionDeclaration.17.es2017.js new file mode 100644 index 00000000000..e5b563805d0 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionDeclaration.17.es2017.js @@ -0,0 +1,9 @@ +//// [asyncGenerators.functionDeclaration.17.es2017.ts] +async function * f() { + var x: await; +} + +//// [asyncGenerators.functionDeclaration.17.es2017.js] +async function* f() { + var x; +} diff --git a/tests/baselines/reference/asyncGenerators.functionDeclaration.18.es2017.errors.txt b/tests/baselines/reference/asyncGenerators.functionDeclaration.18.es2017.errors.txt new file mode 100644 index 00000000000..242c2bdd28a --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionDeclaration.18.es2017.errors.txt @@ -0,0 +1,9 @@ +tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.18.es2017.ts(2,12): error TS2304: Cannot find name 'yield'. + + +==== tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.18.es2017.ts (1 errors) ==== + async function * f() { + var x: yield; + ~~~~~ +!!! error TS2304: Cannot find name 'yield'. + } \ No newline at end of file diff --git a/tests/baselines/reference/asyncGenerators.functionDeclaration.18.es2017.js b/tests/baselines/reference/asyncGenerators.functionDeclaration.18.es2017.js new file mode 100644 index 00000000000..f2be35bedd2 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionDeclaration.18.es2017.js @@ -0,0 +1,9 @@ +//// [asyncGenerators.functionDeclaration.18.es2017.ts] +async function * f() { + var x: yield; +} + +//// [asyncGenerators.functionDeclaration.18.es2017.js] +async function* f() { + var x; +} diff --git a/tests/baselines/reference/asyncGenerators.functionDeclaration.19.es2017.js b/tests/baselines/reference/asyncGenerators.functionDeclaration.19.es2017.js new file mode 100644 index 00000000000..c9d46e6797a --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionDeclaration.19.es2017.js @@ -0,0 +1,9 @@ +//// [asyncGenerators.functionDeclaration.19.es2017.ts] +async function * f() { + var x = { [yield]: 1 }; +} + +//// [asyncGenerators.functionDeclaration.19.es2017.js] +async function* f() { + var x = { [yield]: 1 }; +} diff --git a/tests/baselines/reference/asyncGenerators.functionDeclaration.19.es2017.symbols b/tests/baselines/reference/asyncGenerators.functionDeclaration.19.es2017.symbols new file mode 100644 index 00000000000..b0b723a5827 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionDeclaration.19.es2017.symbols @@ -0,0 +1,7 @@ +=== tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.19.es2017.ts === +async function * f() { +>f : Symbol(f, Decl(asyncGenerators.functionDeclaration.19.es2017.ts, 0, 0)) + + var x = { [yield]: 1 }; +>x : Symbol(x, Decl(asyncGenerators.functionDeclaration.19.es2017.ts, 1, 7)) +} diff --git a/tests/baselines/reference/asyncGenerators.functionDeclaration.19.es2017.types b/tests/baselines/reference/asyncGenerators.functionDeclaration.19.es2017.types new file mode 100644 index 00000000000..54a91902b31 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionDeclaration.19.es2017.types @@ -0,0 +1,10 @@ +=== tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.19.es2017.ts === +async function * f() { +>f : () => AsyncIterableIterator + + var x = { [yield]: 1 }; +>x : { [x: number]: number; } +>{ [yield]: 1 } : { [x: number]: number; } +>yield : any +>1 : 1 +} diff --git a/tests/baselines/reference/asyncGenerators.functionDeclaration.2.es2017.js b/tests/baselines/reference/asyncGenerators.functionDeclaration.2.es2017.js new file mode 100644 index 00000000000..4ebfc26b841 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionDeclaration.2.es2017.js @@ -0,0 +1,5 @@ +//// [asyncGenerators.functionDeclaration.2.es2017.ts] +async function * await() {} + +//// [asyncGenerators.functionDeclaration.2.es2017.js] +async function* await() { } diff --git a/tests/baselines/reference/asyncGenerators.functionDeclaration.2.es2017.symbols b/tests/baselines/reference/asyncGenerators.functionDeclaration.2.es2017.symbols new file mode 100644 index 00000000000..014bab97a87 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionDeclaration.2.es2017.symbols @@ -0,0 +1,4 @@ +=== tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.2.es2017.ts === +async function * await() {} +>await : Symbol(await, Decl(asyncGenerators.functionDeclaration.2.es2017.ts, 0, 0)) + diff --git a/tests/baselines/reference/asyncGenerators.functionDeclaration.2.es2017.types b/tests/baselines/reference/asyncGenerators.functionDeclaration.2.es2017.types new file mode 100644 index 00000000000..0bd0757cf2a --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionDeclaration.2.es2017.types @@ -0,0 +1,4 @@ +=== tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.2.es2017.ts === +async function * await() {} +>await : () => AsyncIterableIterator + diff --git a/tests/baselines/reference/asyncGenerators.functionDeclaration.20.es2017.errors.txt b/tests/baselines/reference/asyncGenerators.functionDeclaration.20.es2017.errors.txt new file mode 100644 index 00000000000..b1f87b64ec6 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionDeclaration.20.es2017.errors.txt @@ -0,0 +1,9 @@ +tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.20.es2017.ts(2,12): error TS2304: Cannot find name 'yield'. + + +==== tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.20.es2017.ts (1 errors) ==== + async function * f() { + var x: yield; + ~~~~~ +!!! error TS2304: Cannot find name 'yield'. + } \ No newline at end of file diff --git a/tests/baselines/reference/asyncGenerators.functionDeclaration.20.es2017.js b/tests/baselines/reference/asyncGenerators.functionDeclaration.20.es2017.js new file mode 100644 index 00000000000..33186e396a5 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionDeclaration.20.es2017.js @@ -0,0 +1,9 @@ +//// [asyncGenerators.functionDeclaration.20.es2017.ts] +async function * f() { + var x: yield; +} + +//// [asyncGenerators.functionDeclaration.20.es2017.js] +async function* f() { + var x; +} diff --git a/tests/baselines/reference/asyncGenerators.functionDeclaration.3.es2017.js b/tests/baselines/reference/asyncGenerators.functionDeclaration.3.es2017.js new file mode 100644 index 00000000000..d4e4e995e82 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionDeclaration.3.es2017.js @@ -0,0 +1,5 @@ +//// [asyncGenerators.functionDeclaration.3.es2017.ts] +async function * yield() {} + +//// [asyncGenerators.functionDeclaration.3.es2017.js] +async function* yield() { } diff --git a/tests/baselines/reference/asyncGenerators.functionDeclaration.3.es2017.symbols b/tests/baselines/reference/asyncGenerators.functionDeclaration.3.es2017.symbols new file mode 100644 index 00000000000..fb0d9e9514b --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionDeclaration.3.es2017.symbols @@ -0,0 +1,4 @@ +=== tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.3.es2017.ts === +async function * yield() {} +>yield : Symbol(yield, Decl(asyncGenerators.functionDeclaration.3.es2017.ts, 0, 0)) + diff --git a/tests/baselines/reference/asyncGenerators.functionDeclaration.3.es2017.types b/tests/baselines/reference/asyncGenerators.functionDeclaration.3.es2017.types new file mode 100644 index 00000000000..d200ea073eb --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionDeclaration.3.es2017.types @@ -0,0 +1,4 @@ +=== tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.3.es2017.ts === +async function * yield() {} +>yield : () => AsyncIterableIterator + diff --git a/tests/baselines/reference/asyncGenerators.functionDeclaration.4.es2017.errors.txt b/tests/baselines/reference/asyncGenerators.functionDeclaration.4.es2017.errors.txt new file mode 100644 index 00000000000..829c8cec489 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionDeclaration.4.es2017.errors.txt @@ -0,0 +1,13 @@ +tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.4.es2017.ts(1,20): error TS1138: Parameter declaration expected. +tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.4.es2017.ts(1,20): error TS2304: Cannot find name 'await'. +tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.4.es2017.ts(1,25): error TS1005: ';' expected. + + +==== tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.4.es2017.ts (3 errors) ==== + async function * f(await) {} + ~~~~~ +!!! error TS1138: Parameter declaration expected. + ~~~~~ +!!! error TS2304: Cannot find name 'await'. + ~ +!!! error TS1005: ';' expected. \ No newline at end of file diff --git a/tests/baselines/reference/asyncGenerators.functionDeclaration.4.es2017.js b/tests/baselines/reference/asyncGenerators.functionDeclaration.4.es2017.js new file mode 100644 index 00000000000..0c2d188e932 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionDeclaration.4.es2017.js @@ -0,0 +1,7 @@ +//// [asyncGenerators.functionDeclaration.4.es2017.ts] +async function * f(await) {} + +//// [asyncGenerators.functionDeclaration.4.es2017.js] +async function* f() { } +await; +{ } diff --git a/tests/baselines/reference/asyncGenerators.functionDeclaration.5.es2017.errors.txt b/tests/baselines/reference/asyncGenerators.functionDeclaration.5.es2017.errors.txt new file mode 100644 index 00000000000..f717d8a9987 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionDeclaration.5.es2017.errors.txt @@ -0,0 +1,13 @@ +tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.5.es2017.ts(1,20): error TS1138: Parameter declaration expected. +tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.5.es2017.ts(1,20): error TS2304: Cannot find name 'yield'. +tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.5.es2017.ts(1,25): error TS1005: ';' expected. + + +==== tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.5.es2017.ts (3 errors) ==== + async function * f(yield) {} + ~~~~~ +!!! error TS1138: Parameter declaration expected. + ~~~~~ +!!! error TS2304: Cannot find name 'yield'. + ~ +!!! error TS1005: ';' expected. \ No newline at end of file diff --git a/tests/baselines/reference/asyncGenerators.functionDeclaration.5.es2017.js b/tests/baselines/reference/asyncGenerators.functionDeclaration.5.es2017.js new file mode 100644 index 00000000000..33e7ae40235 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionDeclaration.5.es2017.js @@ -0,0 +1,7 @@ +//// [asyncGenerators.functionDeclaration.5.es2017.ts] +async function * f(yield) {} + +//// [asyncGenerators.functionDeclaration.5.es2017.js] +async function* f() { } +yield; +{ } diff --git a/tests/baselines/reference/asyncGenerators.functionDeclaration.6.es2017.errors.txt b/tests/baselines/reference/asyncGenerators.functionDeclaration.6.es2017.errors.txt new file mode 100644 index 00000000000..06a7bf717e4 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionDeclaration.6.es2017.errors.txt @@ -0,0 +1,7 @@ +tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.6.es2017.ts(1,24): error TS2524: 'await' expressions cannot be used in a parameter initializer. + + +==== tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.6.es2017.ts (1 errors) ==== + async function * f(a = await 1) {} + ~~~~~~~ +!!! error TS2524: 'await' expressions cannot be used in a parameter initializer. \ No newline at end of file diff --git a/tests/baselines/reference/asyncGenerators.functionDeclaration.6.es2017.js b/tests/baselines/reference/asyncGenerators.functionDeclaration.6.es2017.js new file mode 100644 index 00000000000..986eef137c3 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionDeclaration.6.es2017.js @@ -0,0 +1,5 @@ +//// [asyncGenerators.functionDeclaration.6.es2017.ts] +async function * f(a = await 1) {} + +//// [asyncGenerators.functionDeclaration.6.es2017.js] +async function* f(a = await 1) { } diff --git a/tests/baselines/reference/asyncGenerators.functionDeclaration.7.es2017.errors.txt b/tests/baselines/reference/asyncGenerators.functionDeclaration.7.es2017.errors.txt new file mode 100644 index 00000000000..78a8195afc7 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionDeclaration.7.es2017.errors.txt @@ -0,0 +1,7 @@ +tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.7.es2017.ts(1,24): error TS2523: 'yield' expressions cannot be used in a parameter initializer. + + +==== tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.7.es2017.ts (1 errors) ==== + async function * f(a = yield) {} + ~~~~~ +!!! error TS2523: 'yield' expressions cannot be used in a parameter initializer. \ No newline at end of file diff --git a/tests/baselines/reference/asyncGenerators.functionDeclaration.7.es2017.js b/tests/baselines/reference/asyncGenerators.functionDeclaration.7.es2017.js new file mode 100644 index 00000000000..ee43eac55ba --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionDeclaration.7.es2017.js @@ -0,0 +1,5 @@ +//// [asyncGenerators.functionDeclaration.7.es2017.ts] +async function * f(a = yield) {} + +//// [asyncGenerators.functionDeclaration.7.es2017.js] +async function* f(a = yield) { } diff --git a/tests/baselines/reference/asyncGenerators.functionDeclaration.8.es2017.js b/tests/baselines/reference/asyncGenerators.functionDeclaration.8.es2017.js new file mode 100644 index 00000000000..752506d723a --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionDeclaration.8.es2017.js @@ -0,0 +1,11 @@ +//// [asyncGenerators.functionDeclaration.8.es2017.ts] +async function * f() { + async function * g() { + } +} + +//// [asyncGenerators.functionDeclaration.8.es2017.js] +async function* f() { + async function* g() { + } +} diff --git a/tests/baselines/reference/asyncGenerators.functionDeclaration.8.es2017.symbols b/tests/baselines/reference/asyncGenerators.functionDeclaration.8.es2017.symbols new file mode 100644 index 00000000000..0522d3e6045 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionDeclaration.8.es2017.symbols @@ -0,0 +1,8 @@ +=== tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.8.es2017.ts === +async function * f() { +>f : Symbol(f, Decl(asyncGenerators.functionDeclaration.8.es2017.ts, 0, 0)) + + async function * g() { +>g : Symbol(g, Decl(asyncGenerators.functionDeclaration.8.es2017.ts, 0, 22)) + } +} diff --git a/tests/baselines/reference/asyncGenerators.functionDeclaration.8.es2017.types b/tests/baselines/reference/asyncGenerators.functionDeclaration.8.es2017.types new file mode 100644 index 00000000000..b3e3a2bddd5 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionDeclaration.8.es2017.types @@ -0,0 +1,8 @@ +=== tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.8.es2017.ts === +async function * f() { +>f : () => AsyncIterableIterator + + async function * g() { +>g : () => AsyncIterableIterator + } +} diff --git a/tests/baselines/reference/asyncGenerators.functionDeclaration.9.es2017.errors.txt b/tests/baselines/reference/asyncGenerators.functionDeclaration.9.es2017.errors.txt new file mode 100644 index 00000000000..23da7409505 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionDeclaration.9.es2017.errors.txt @@ -0,0 +1,13 @@ +tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.9.es2017.ts(2,22): error TS1003: Identifier expected. +tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.9.es2017.ts(2,30): error TS1005: '=>' expected. + + +==== tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.9.es2017.ts (2 errors) ==== + async function * f() { + async function * yield() { + ~~~~~ +!!! error TS1003: Identifier expected. + ~ +!!! error TS1005: '=>' expected. + } + } \ No newline at end of file diff --git a/tests/baselines/reference/asyncGenerators.functionDeclaration.9.es2017.js b/tests/baselines/reference/asyncGenerators.functionDeclaration.9.es2017.js new file mode 100644 index 00000000000..940e2ba6443 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionDeclaration.9.es2017.js @@ -0,0 +1,12 @@ +//// [asyncGenerators.functionDeclaration.9.es2017.ts] +async function * f() { + async function * yield() { + } +} + +//// [asyncGenerators.functionDeclaration.9.es2017.js] +async function* f() { + async function* () { } + yield () => { + }; +} diff --git a/tests/baselines/reference/asyncGenerators.functionExpression.1.es2017.js b/tests/baselines/reference/asyncGenerators.functionExpression.1.es2017.js new file mode 100644 index 00000000000..6cbaf30fc0b --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionExpression.1.es2017.js @@ -0,0 +1,5 @@ +//// [asyncGenerators.functionExpression.1.es2017.ts] +const f = async function * () {} + +//// [asyncGenerators.functionExpression.1.es2017.js] +const f = async function* () { }; diff --git a/tests/baselines/reference/asyncGenerators.functionExpression.1.es2017.symbols b/tests/baselines/reference/asyncGenerators.functionExpression.1.es2017.symbols new file mode 100644 index 00000000000..7274f4f7f37 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionExpression.1.es2017.symbols @@ -0,0 +1,4 @@ +=== tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.1.es2017.ts === +const f = async function * () {} +>f : Symbol(f, Decl(asyncGenerators.functionExpression.1.es2017.ts, 0, 5)) + diff --git a/tests/baselines/reference/asyncGenerators.functionExpression.1.es2017.types b/tests/baselines/reference/asyncGenerators.functionExpression.1.es2017.types new file mode 100644 index 00000000000..e657910f037 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionExpression.1.es2017.types @@ -0,0 +1,5 @@ +=== tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.1.es2017.ts === +const f = async function * () {} +>f : () => AsyncIterableIterator +>async function * () {} : () => AsyncIterableIterator + diff --git a/tests/baselines/reference/asyncGenerators.functionExpression.10.es2017.errors.txt b/tests/baselines/reference/asyncGenerators.functionExpression.10.es2017.errors.txt new file mode 100644 index 00000000000..6e90d3edbce --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionExpression.10.es2017.errors.txt @@ -0,0 +1,16 @@ +tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.10.es2017.ts(2,22): error TS1003: Identifier expected. +tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.10.es2017.ts(2,28): error TS1109: Expression expected. +tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.10.es2017.ts(2,30): error TS1005: ';' expected. + + +==== tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.10.es2017.ts (3 errors) ==== + const f = async function * () { + async function * await() { + ~~~~~ +!!! error TS1003: Identifier expected. + ~ +!!! error TS1109: Expression expected. + ~ +!!! error TS1005: ';' expected. + } + } \ No newline at end of file diff --git a/tests/baselines/reference/asyncGenerators.functionExpression.10.es2017.js b/tests/baselines/reference/asyncGenerators.functionExpression.10.es2017.js new file mode 100644 index 00000000000..a3b74122f9c --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionExpression.10.es2017.js @@ -0,0 +1,13 @@ +//// [asyncGenerators.functionExpression.10.es2017.ts] +const f = async function * () { + async function * await() { + } +} + +//// [asyncGenerators.functionExpression.10.es2017.js] +const f = async function* () { + async function* () { } + await (); + { + } +}; diff --git a/tests/baselines/reference/asyncGenerators.functionExpression.11.es2017.js b/tests/baselines/reference/asyncGenerators.functionExpression.11.es2017.js new file mode 100644 index 00000000000..66d7202f6fd --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionExpression.11.es2017.js @@ -0,0 +1,9 @@ +//// [asyncGenerators.functionExpression.11.es2017.ts] +const f = async function * () { + yield; +} + +//// [asyncGenerators.functionExpression.11.es2017.js] +const f = async function* () { + yield; +}; diff --git a/tests/baselines/reference/asyncGenerators.functionExpression.11.es2017.symbols b/tests/baselines/reference/asyncGenerators.functionExpression.11.es2017.symbols new file mode 100644 index 00000000000..fa13f057b64 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionExpression.11.es2017.symbols @@ -0,0 +1,6 @@ +=== tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.11.es2017.ts === +const f = async function * () { +>f : Symbol(f, Decl(asyncGenerators.functionExpression.11.es2017.ts, 0, 5)) + + yield; +} diff --git a/tests/baselines/reference/asyncGenerators.functionExpression.11.es2017.types b/tests/baselines/reference/asyncGenerators.functionExpression.11.es2017.types new file mode 100644 index 00000000000..af570bae77d --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionExpression.11.es2017.types @@ -0,0 +1,8 @@ +=== tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.11.es2017.ts === +const f = async function * () { +>f : () => AsyncIterableIterator +>async function * () { yield;} : () => AsyncIterableIterator + + yield; +>yield : any +} diff --git a/tests/baselines/reference/asyncGenerators.functionExpression.12.es2017.js b/tests/baselines/reference/asyncGenerators.functionExpression.12.es2017.js new file mode 100644 index 00000000000..e4d8ca2d2b7 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionExpression.12.es2017.js @@ -0,0 +1,9 @@ +//// [asyncGenerators.functionExpression.12.es2017.ts] +const f = async function * () { + yield 1; +} + +//// [asyncGenerators.functionExpression.12.es2017.js] +const f = async function* () { + yield 1; +}; diff --git a/tests/baselines/reference/asyncGenerators.functionExpression.12.es2017.symbols b/tests/baselines/reference/asyncGenerators.functionExpression.12.es2017.symbols new file mode 100644 index 00000000000..2352e2b7c4c --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionExpression.12.es2017.symbols @@ -0,0 +1,6 @@ +=== tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.12.es2017.ts === +const f = async function * () { +>f : Symbol(f, Decl(asyncGenerators.functionExpression.12.es2017.ts, 0, 5)) + + yield 1; +} diff --git a/tests/baselines/reference/asyncGenerators.functionExpression.12.es2017.types b/tests/baselines/reference/asyncGenerators.functionExpression.12.es2017.types new file mode 100644 index 00000000000..efd74dacefc --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionExpression.12.es2017.types @@ -0,0 +1,9 @@ +=== tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.12.es2017.ts === +const f = async function * () { +>f : () => AsyncIterableIterator<1> +>async function * () { yield 1;} : () => AsyncIterableIterator<1> + + yield 1; +>yield 1 : any +>1 : 1 +} diff --git a/tests/baselines/reference/asyncGenerators.functionExpression.13.es2017.js b/tests/baselines/reference/asyncGenerators.functionExpression.13.es2017.js new file mode 100644 index 00000000000..aadda6df731 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionExpression.13.es2017.js @@ -0,0 +1,9 @@ +//// [asyncGenerators.functionExpression.13.es2017.ts] +const f = async function * () { + yield * []; +} + +//// [asyncGenerators.functionExpression.13.es2017.js] +const f = async function* () { + yield* []; +}; diff --git a/tests/baselines/reference/asyncGenerators.functionExpression.13.es2017.symbols b/tests/baselines/reference/asyncGenerators.functionExpression.13.es2017.symbols new file mode 100644 index 00000000000..577d0b0e6ad --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionExpression.13.es2017.symbols @@ -0,0 +1,6 @@ +=== tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.13.es2017.ts === +const f = async function * () { +>f : Symbol(f, Decl(asyncGenerators.functionExpression.13.es2017.ts, 0, 5)) + + yield * []; +} diff --git a/tests/baselines/reference/asyncGenerators.functionExpression.13.es2017.types b/tests/baselines/reference/asyncGenerators.functionExpression.13.es2017.types new file mode 100644 index 00000000000..6c806dcf572 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionExpression.13.es2017.types @@ -0,0 +1,9 @@ +=== tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.13.es2017.ts === +const f = async function * () { +>f : () => AsyncIterableIterator +>async function * () { yield * [];} : () => AsyncIterableIterator + + yield * []; +>yield * [] : any +>[] : undefined[] +} diff --git a/tests/baselines/reference/asyncGenerators.functionExpression.14.es2017.js b/tests/baselines/reference/asyncGenerators.functionExpression.14.es2017.js new file mode 100644 index 00000000000..034b69410af --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionExpression.14.es2017.js @@ -0,0 +1,9 @@ +//// [asyncGenerators.functionExpression.14.es2017.ts] +const f = async function * () { + yield * f(); +} + +//// [asyncGenerators.functionExpression.14.es2017.js] +const f = async function* () { + yield* f(); +}; diff --git a/tests/baselines/reference/asyncGenerators.functionExpression.14.es2017.symbols b/tests/baselines/reference/asyncGenerators.functionExpression.14.es2017.symbols new file mode 100644 index 00000000000..5e33b41d675 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionExpression.14.es2017.symbols @@ -0,0 +1,7 @@ +=== tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.14.es2017.ts === +const f = async function * () { +>f : Symbol(f, Decl(asyncGenerators.functionExpression.14.es2017.ts, 0, 5)) + + yield * f(); +>f : Symbol(f, Decl(asyncGenerators.functionExpression.14.es2017.ts, 0, 5)) +} diff --git a/tests/baselines/reference/asyncGenerators.functionExpression.14.es2017.types b/tests/baselines/reference/asyncGenerators.functionExpression.14.es2017.types new file mode 100644 index 00000000000..e6b1ffc63e1 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionExpression.14.es2017.types @@ -0,0 +1,10 @@ +=== tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.14.es2017.ts === +const f = async function * () { +>f : () => any +>async function * () { yield * f();} : () => any + + yield * f(); +>yield * f() : any +>f() : any +>f : () => any +} diff --git a/tests/baselines/reference/asyncGenerators.functionExpression.15.es2017.js b/tests/baselines/reference/asyncGenerators.functionExpression.15.es2017.js new file mode 100644 index 00000000000..1bc42f479a2 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionExpression.15.es2017.js @@ -0,0 +1,9 @@ +//// [asyncGenerators.functionExpression.15.es2017.ts] +const f = async function * () { + await 1; +} + +//// [asyncGenerators.functionExpression.15.es2017.js] +const f = async function* () { + await 1; +}; diff --git a/tests/baselines/reference/asyncGenerators.functionExpression.15.es2017.symbols b/tests/baselines/reference/asyncGenerators.functionExpression.15.es2017.symbols new file mode 100644 index 00000000000..a237e16112e --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionExpression.15.es2017.symbols @@ -0,0 +1,6 @@ +=== tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.15.es2017.ts === +const f = async function * () { +>f : Symbol(f, Decl(asyncGenerators.functionExpression.15.es2017.ts, 0, 5)) + + await 1; +} diff --git a/tests/baselines/reference/asyncGenerators.functionExpression.15.es2017.types b/tests/baselines/reference/asyncGenerators.functionExpression.15.es2017.types new file mode 100644 index 00000000000..caa809b7dae --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionExpression.15.es2017.types @@ -0,0 +1,9 @@ +=== tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.15.es2017.ts === +const f = async function * () { +>f : () => AsyncIterableIterator +>async function * () { await 1;} : () => AsyncIterableIterator + + await 1; +>await 1 : 1 +>1 : 1 +} diff --git a/tests/baselines/reference/asyncGenerators.functionExpression.16.es2017.errors.txt b/tests/baselines/reference/asyncGenerators.functionExpression.16.es2017.errors.txt new file mode 100644 index 00000000000..87ad6287d19 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionExpression.16.es2017.errors.txt @@ -0,0 +1,9 @@ +tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.16.es2017.ts(2,10): error TS1109: Expression expected. + + +==== tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.16.es2017.ts (1 errors) ==== + const f = async function * () { + await; + ~ +!!! error TS1109: Expression expected. + } \ No newline at end of file diff --git a/tests/baselines/reference/asyncGenerators.functionExpression.16.es2017.js b/tests/baselines/reference/asyncGenerators.functionExpression.16.es2017.js new file mode 100644 index 00000000000..de7deebfa3d --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionExpression.16.es2017.js @@ -0,0 +1,9 @@ +//// [asyncGenerators.functionExpression.16.es2017.ts] +const f = async function * () { + await; +} + +//// [asyncGenerators.functionExpression.16.es2017.js] +const f = async function* () { + await ; +}; diff --git a/tests/baselines/reference/asyncGenerators.functionExpression.17.es2017.errors.txt b/tests/baselines/reference/asyncGenerators.functionExpression.17.es2017.errors.txt new file mode 100644 index 00000000000..9b3493b4d91 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionExpression.17.es2017.errors.txt @@ -0,0 +1,9 @@ +tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.17.es2017.ts(2,12): error TS2304: Cannot find name 'await'. + + +==== tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.17.es2017.ts (1 errors) ==== + const f = async function * () { + var x: await; + ~~~~~ +!!! error TS2304: Cannot find name 'await'. + } \ No newline at end of file diff --git a/tests/baselines/reference/asyncGenerators.functionExpression.17.es2017.js b/tests/baselines/reference/asyncGenerators.functionExpression.17.es2017.js new file mode 100644 index 00000000000..a31c3a489a5 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionExpression.17.es2017.js @@ -0,0 +1,9 @@ +//// [asyncGenerators.functionExpression.17.es2017.ts] +const f = async function * () { + var x: await; +} + +//// [asyncGenerators.functionExpression.17.es2017.js] +const f = async function* () { + var x; +}; diff --git a/tests/baselines/reference/asyncGenerators.functionExpression.18.es2017.errors.txt b/tests/baselines/reference/asyncGenerators.functionExpression.18.es2017.errors.txt new file mode 100644 index 00000000000..271d16e60ae --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionExpression.18.es2017.errors.txt @@ -0,0 +1,9 @@ +tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.18.es2017.ts(2,12): error TS2304: Cannot find name 'yield'. + + +==== tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.18.es2017.ts (1 errors) ==== + const f = async function * () { + var x: yield; + ~~~~~ +!!! error TS2304: Cannot find name 'yield'. + } \ No newline at end of file diff --git a/tests/baselines/reference/asyncGenerators.functionExpression.18.es2017.js b/tests/baselines/reference/asyncGenerators.functionExpression.18.es2017.js new file mode 100644 index 00000000000..102e16abe5e --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionExpression.18.es2017.js @@ -0,0 +1,9 @@ +//// [asyncGenerators.functionExpression.18.es2017.ts] +const f = async function * () { + var x: yield; +} + +//// [asyncGenerators.functionExpression.18.es2017.js] +const f = async function* () { + var x; +}; diff --git a/tests/baselines/reference/asyncGenerators.functionExpression.19.es2017.js b/tests/baselines/reference/asyncGenerators.functionExpression.19.es2017.js new file mode 100644 index 00000000000..bab2e810f51 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionExpression.19.es2017.js @@ -0,0 +1,9 @@ +//// [asyncGenerators.functionExpression.19.es2017.ts] +const f = async function *() { + var x = { [yield]: 1 }; +} + +//// [asyncGenerators.functionExpression.19.es2017.js] +const f = async function* () { + var x = { [yield]: 1 }; +}; diff --git a/tests/baselines/reference/asyncGenerators.functionExpression.19.es2017.symbols b/tests/baselines/reference/asyncGenerators.functionExpression.19.es2017.symbols new file mode 100644 index 00000000000..1350a255e89 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionExpression.19.es2017.symbols @@ -0,0 +1,7 @@ +=== tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.19.es2017.ts === +const f = async function *() { +>f : Symbol(f, Decl(asyncGenerators.functionExpression.19.es2017.ts, 0, 5)) + + var x = { [yield]: 1 }; +>x : Symbol(x, Decl(asyncGenerators.functionExpression.19.es2017.ts, 1, 7)) +} diff --git a/tests/baselines/reference/asyncGenerators.functionExpression.19.es2017.types b/tests/baselines/reference/asyncGenerators.functionExpression.19.es2017.types new file mode 100644 index 00000000000..374cca640ab --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionExpression.19.es2017.types @@ -0,0 +1,11 @@ +=== tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.19.es2017.ts === +const f = async function *() { +>f : () => AsyncIterableIterator +>async function *() { var x = { [yield]: 1 };} : () => AsyncIterableIterator + + var x = { [yield]: 1 }; +>x : { [x: number]: number; } +>{ [yield]: 1 } : { [x: number]: number; } +>yield : any +>1 : 1 +} diff --git a/tests/baselines/reference/asyncGenerators.functionExpression.2.es2017.js b/tests/baselines/reference/asyncGenerators.functionExpression.2.es2017.js new file mode 100644 index 00000000000..ea656051205 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionExpression.2.es2017.js @@ -0,0 +1,5 @@ +//// [asyncGenerators.functionExpression.2.es2017.ts] +const await = async function * () {} + +//// [asyncGenerators.functionExpression.2.es2017.js] +const await = async function* () { }; diff --git a/tests/baselines/reference/asyncGenerators.functionExpression.2.es2017.symbols b/tests/baselines/reference/asyncGenerators.functionExpression.2.es2017.symbols new file mode 100644 index 00000000000..4eb3dfe0045 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionExpression.2.es2017.symbols @@ -0,0 +1,4 @@ +=== tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.2.es2017.ts === +const await = async function * () {} +>await : Symbol(await, Decl(asyncGenerators.functionExpression.2.es2017.ts, 0, 5)) + diff --git a/tests/baselines/reference/asyncGenerators.functionExpression.2.es2017.types b/tests/baselines/reference/asyncGenerators.functionExpression.2.es2017.types new file mode 100644 index 00000000000..7e3d28e7a97 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionExpression.2.es2017.types @@ -0,0 +1,5 @@ +=== tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.2.es2017.ts === +const await = async function * () {} +>await : () => AsyncIterableIterator +>async function * () {} : () => AsyncIterableIterator + diff --git a/tests/baselines/reference/asyncGenerators.functionExpression.3.es2017.js b/tests/baselines/reference/asyncGenerators.functionExpression.3.es2017.js new file mode 100644 index 00000000000..253b235ea67 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionExpression.3.es2017.js @@ -0,0 +1,5 @@ +//// [asyncGenerators.functionExpression.3.es2017.ts] +const yield = async function * () {} + +//// [asyncGenerators.functionExpression.3.es2017.js] +const yield = async function* () { }; diff --git a/tests/baselines/reference/asyncGenerators.functionExpression.3.es2017.symbols b/tests/baselines/reference/asyncGenerators.functionExpression.3.es2017.symbols new file mode 100644 index 00000000000..0d88a5cbb2a --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionExpression.3.es2017.symbols @@ -0,0 +1,4 @@ +=== tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.3.es2017.ts === +const yield = async function * () {} +>yield : Symbol(yield, Decl(asyncGenerators.functionExpression.3.es2017.ts, 0, 5)) + diff --git a/tests/baselines/reference/asyncGenerators.functionExpression.3.es2017.types b/tests/baselines/reference/asyncGenerators.functionExpression.3.es2017.types new file mode 100644 index 00000000000..fa5b264c28e --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionExpression.3.es2017.types @@ -0,0 +1,5 @@ +=== tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.3.es2017.ts === +const yield = async function * () {} +>yield : () => AsyncIterableIterator +>async function * () {} : () => AsyncIterableIterator + diff --git a/tests/baselines/reference/asyncGenerators.functionExpression.4.es2017.errors.txt b/tests/baselines/reference/asyncGenerators.functionExpression.4.es2017.errors.txt new file mode 100644 index 00000000000..dc16a23ce73 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionExpression.4.es2017.errors.txt @@ -0,0 +1,10 @@ +tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.4.es2017.ts(1,29): error TS1138: Parameter declaration expected. +tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.4.es2017.ts(1,34): error TS1005: ',' expected. + + +==== tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.4.es2017.ts (2 errors) ==== + const f = async function * (await) {} + ~~~~~ +!!! error TS1138: Parameter declaration expected. + ~ +!!! error TS1005: ',' expected. \ No newline at end of file diff --git a/tests/baselines/reference/asyncGenerators.functionExpression.4.es2017.js b/tests/baselines/reference/asyncGenerators.functionExpression.4.es2017.js new file mode 100644 index 00000000000..d71ad6947ca --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionExpression.4.es2017.js @@ -0,0 +1,5 @@ +//// [asyncGenerators.functionExpression.4.es2017.ts] +const f = async function * (await) {} + +//// [asyncGenerators.functionExpression.4.es2017.js] +const f = async function* () { }, await, {}; diff --git a/tests/baselines/reference/asyncGenerators.functionExpression.5.es2017.errors.txt b/tests/baselines/reference/asyncGenerators.functionExpression.5.es2017.errors.txt new file mode 100644 index 00000000000..80fae12b570 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionExpression.5.es2017.errors.txt @@ -0,0 +1,10 @@ +tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.5.es2017.ts(1,29): error TS1138: Parameter declaration expected. +tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.5.es2017.ts(1,34): error TS1005: ',' expected. + + +==== tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.5.es2017.ts (2 errors) ==== + const f = async function * (yield) {} + ~~~~~ +!!! error TS1138: Parameter declaration expected. + ~ +!!! error TS1005: ',' expected. \ No newline at end of file diff --git a/tests/baselines/reference/asyncGenerators.functionExpression.5.es2017.js b/tests/baselines/reference/asyncGenerators.functionExpression.5.es2017.js new file mode 100644 index 00000000000..642627e3d51 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionExpression.5.es2017.js @@ -0,0 +1,5 @@ +//// [asyncGenerators.functionExpression.5.es2017.ts] +const f = async function * (yield) {} + +//// [asyncGenerators.functionExpression.5.es2017.js] +const f = async function* () { }, yield, {}; diff --git a/tests/baselines/reference/asyncGenerators.functionExpression.6.es2017.errors.txt b/tests/baselines/reference/asyncGenerators.functionExpression.6.es2017.errors.txt new file mode 100644 index 00000000000..250b3556d3c --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionExpression.6.es2017.errors.txt @@ -0,0 +1,7 @@ +tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.6.es2017.ts(1,33): error TS2524: 'await' expressions cannot be used in a parameter initializer. + + +==== tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.6.es2017.ts (1 errors) ==== + const f = async function * (a = await 1) {} + ~~~~~~~ +!!! error TS2524: 'await' expressions cannot be used in a parameter initializer. \ No newline at end of file diff --git a/tests/baselines/reference/asyncGenerators.functionExpression.6.es2017.js b/tests/baselines/reference/asyncGenerators.functionExpression.6.es2017.js new file mode 100644 index 00000000000..3a7ec23b4d3 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionExpression.6.es2017.js @@ -0,0 +1,5 @@ +//// [asyncGenerators.functionExpression.6.es2017.ts] +const f = async function * (a = await 1) {} + +//// [asyncGenerators.functionExpression.6.es2017.js] +const f = async function* (a = await 1) { }; diff --git a/tests/baselines/reference/asyncGenerators.functionExpression.7.es2017.errors.txt b/tests/baselines/reference/asyncGenerators.functionExpression.7.es2017.errors.txt new file mode 100644 index 00000000000..2002dafbd5f --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionExpression.7.es2017.errors.txt @@ -0,0 +1,7 @@ +tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.7.es2017.ts(1,33): error TS2523: 'yield' expressions cannot be used in a parameter initializer. + + +==== tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.7.es2017.ts (1 errors) ==== + const f = async function * (a = yield) {} + ~~~~~ +!!! error TS2523: 'yield' expressions cannot be used in a parameter initializer. \ No newline at end of file diff --git a/tests/baselines/reference/asyncGenerators.functionExpression.7.es2017.js b/tests/baselines/reference/asyncGenerators.functionExpression.7.es2017.js new file mode 100644 index 00000000000..b9368085223 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionExpression.7.es2017.js @@ -0,0 +1,5 @@ +//// [asyncGenerators.functionExpression.7.es2017.ts] +const f = async function * (a = yield) {} + +//// [asyncGenerators.functionExpression.7.es2017.js] +const f = async function* (a = yield) { }; diff --git a/tests/baselines/reference/asyncGenerators.functionExpression.8.es2017.js b/tests/baselines/reference/asyncGenerators.functionExpression.8.es2017.js new file mode 100644 index 00000000000..16f02bb56bd --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionExpression.8.es2017.js @@ -0,0 +1,11 @@ +//// [asyncGenerators.functionExpression.8.es2017.ts] +const f = async function * () { + async function * g() { + } +} + +//// [asyncGenerators.functionExpression.8.es2017.js] +const f = async function* () { + async function* g() { + } +}; diff --git a/tests/baselines/reference/asyncGenerators.functionExpression.8.es2017.symbols b/tests/baselines/reference/asyncGenerators.functionExpression.8.es2017.symbols new file mode 100644 index 00000000000..576c72a51c8 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionExpression.8.es2017.symbols @@ -0,0 +1,8 @@ +=== tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.8.es2017.ts === +const f = async function * () { +>f : Symbol(f, Decl(asyncGenerators.functionExpression.8.es2017.ts, 0, 5)) + + async function * g() { +>g : Symbol(g, Decl(asyncGenerators.functionExpression.8.es2017.ts, 0, 31)) + } +} diff --git a/tests/baselines/reference/asyncGenerators.functionExpression.8.es2017.types b/tests/baselines/reference/asyncGenerators.functionExpression.8.es2017.types new file mode 100644 index 00000000000..c3d560168fd --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionExpression.8.es2017.types @@ -0,0 +1,9 @@ +=== tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.8.es2017.ts === +const f = async function * () { +>f : () => AsyncIterableIterator +>async function * () { async function * g() { }} : () => AsyncIterableIterator + + async function * g() { +>g : () => AsyncIterableIterator + } +} diff --git a/tests/baselines/reference/asyncGenerators.functionExpression.9.es2017.errors.txt b/tests/baselines/reference/asyncGenerators.functionExpression.9.es2017.errors.txt new file mode 100644 index 00000000000..f9773bed24e --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionExpression.9.es2017.errors.txt @@ -0,0 +1,13 @@ +tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.9.es2017.ts(2,22): error TS1003: Identifier expected. +tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.9.es2017.ts(2,30): error TS1005: '=>' expected. + + +==== tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.9.es2017.ts (2 errors) ==== + const f = async function * () { + async function * yield() { + ~~~~~ +!!! error TS1003: Identifier expected. + ~ +!!! error TS1005: '=>' expected. + } + } \ No newline at end of file diff --git a/tests/baselines/reference/asyncGenerators.functionExpression.9.es2017.js b/tests/baselines/reference/asyncGenerators.functionExpression.9.es2017.js new file mode 100644 index 00000000000..69d1c07cba3 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.functionExpression.9.es2017.js @@ -0,0 +1,12 @@ +//// [asyncGenerators.functionExpression.9.es2017.ts] +const f = async function * () { + async function * yield() { + } +} + +//// [asyncGenerators.functionExpression.9.es2017.js] +const f = async function* () { + async function* () { } + yield () => { + }; +}; diff --git a/tests/baselines/reference/asyncGenerators.objectLiteralMethod.1.es2017.js b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.1.es2017.js new file mode 100644 index 00000000000..db4835e2b88 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.1.es2017.js @@ -0,0 +1,10 @@ +//// [asyncGenerators.objectLiteralMethod.1.es2017.ts] +const x = { + async * f() {} +} + + +//// [asyncGenerators.objectLiteralMethod.1.es2017.js] +const x = { + async *f() { } +}; diff --git a/tests/baselines/reference/asyncGenerators.objectLiteralMethod.1.es2017.symbols b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.1.es2017.symbols new file mode 100644 index 00000000000..103948e3fbf --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.1.es2017.symbols @@ -0,0 +1,8 @@ +=== tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.1.es2017.ts === +const x = { +>x : Symbol(x, Decl(asyncGenerators.objectLiteralMethod.1.es2017.ts, 0, 5)) + + async * f() {} +>f : Symbol(f, Decl(asyncGenerators.objectLiteralMethod.1.es2017.ts, 0, 11)) +} + diff --git a/tests/baselines/reference/asyncGenerators.objectLiteralMethod.1.es2017.types b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.1.es2017.types new file mode 100644 index 00000000000..faa915d851a --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.1.es2017.types @@ -0,0 +1,9 @@ +=== tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.1.es2017.ts === +const x = { +>x : { f(): AsyncIterableIterator; } +>{ async * f() {}} : { f(): AsyncIterableIterator; } + + async * f() {} +>f : () => AsyncIterableIterator +} + diff --git a/tests/baselines/reference/asyncGenerators.objectLiteralMethod.10.es2017.errors.txt b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.10.es2017.errors.txt new file mode 100644 index 00000000000..1ebdd9f12f3 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.10.es2017.errors.txt @@ -0,0 +1,18 @@ +tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.10.es2017.ts(3,26): error TS1003: Identifier expected. +tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.10.es2017.ts(3,32): error TS1109: Expression expected. +tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.10.es2017.ts(3,34): error TS1005: ';' expected. + + +==== tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.10.es2017.ts (3 errors) ==== + const x = { + async * f() { + async function * await() { + ~~~~~ +!!! error TS1003: Identifier expected. + ~ +!!! error TS1109: Expression expected. + ~ +!!! error TS1005: ';' expected. + } + } + } \ No newline at end of file diff --git a/tests/baselines/reference/asyncGenerators.objectLiteralMethod.10.es2017.js b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.10.es2017.js new file mode 100644 index 00000000000..d6ce72f4dc8 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.10.es2017.js @@ -0,0 +1,17 @@ +//// [asyncGenerators.objectLiteralMethod.10.es2017.ts] +const x = { + async * f() { + async function * await() { + } + } +} + +//// [asyncGenerators.objectLiteralMethod.10.es2017.js] +const x = { + async *f() { + async function* () { } + await (); + { + } + } +}; diff --git a/tests/baselines/reference/asyncGenerators.objectLiteralMethod.11.es2017.js b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.11.es2017.js new file mode 100644 index 00000000000..7ea8f8093ed --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.11.es2017.js @@ -0,0 +1,13 @@ +//// [asyncGenerators.objectLiteralMethod.11.es2017.ts] +const x = { + async * f() { + yield; + } +} + +//// [asyncGenerators.objectLiteralMethod.11.es2017.js] +const x = { + async *f() { + yield; + } +}; diff --git a/tests/baselines/reference/asyncGenerators.objectLiteralMethod.11.es2017.symbols b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.11.es2017.symbols new file mode 100644 index 00000000000..698349f45b3 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.11.es2017.symbols @@ -0,0 +1,10 @@ +=== tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.11.es2017.ts === +const x = { +>x : Symbol(x, Decl(asyncGenerators.objectLiteralMethod.11.es2017.ts, 0, 5)) + + async * f() { +>f : Symbol(f, Decl(asyncGenerators.objectLiteralMethod.11.es2017.ts, 0, 11)) + + yield; + } +} diff --git a/tests/baselines/reference/asyncGenerators.objectLiteralMethod.11.es2017.types b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.11.es2017.types new file mode 100644 index 00000000000..9d0b707b2da --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.11.es2017.types @@ -0,0 +1,12 @@ +=== tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.11.es2017.ts === +const x = { +>x : { f(): AsyncIterableIterator; } +>{ async * f() { yield; }} : { f(): AsyncIterableIterator; } + + async * f() { +>f : () => AsyncIterableIterator + + yield; +>yield : any + } +} diff --git a/tests/baselines/reference/asyncGenerators.objectLiteralMethod.12.es2017.js b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.12.es2017.js new file mode 100644 index 00000000000..0a9d7c5fe29 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.12.es2017.js @@ -0,0 +1,13 @@ +//// [asyncGenerators.objectLiteralMethod.12.es2017.ts] +const x = { + async * f() { + yield 1; + } +} + +//// [asyncGenerators.objectLiteralMethod.12.es2017.js] +const x = { + async *f() { + yield 1; + } +}; diff --git a/tests/baselines/reference/asyncGenerators.objectLiteralMethod.12.es2017.symbols b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.12.es2017.symbols new file mode 100644 index 00000000000..6fbc1a99873 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.12.es2017.symbols @@ -0,0 +1,10 @@ +=== tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.12.es2017.ts === +const x = { +>x : Symbol(x, Decl(asyncGenerators.objectLiteralMethod.12.es2017.ts, 0, 5)) + + async * f() { +>f : Symbol(f, Decl(asyncGenerators.objectLiteralMethod.12.es2017.ts, 0, 11)) + + yield 1; + } +} diff --git a/tests/baselines/reference/asyncGenerators.objectLiteralMethod.12.es2017.types b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.12.es2017.types new file mode 100644 index 00000000000..315dc21e599 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.12.es2017.types @@ -0,0 +1,13 @@ +=== tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.12.es2017.ts === +const x = { +>x : { f(): AsyncIterableIterator<1>; } +>{ async * f() { yield 1; }} : { f(): AsyncIterableIterator<1>; } + + async * f() { +>f : () => AsyncIterableIterator<1> + + yield 1; +>yield 1 : any +>1 : 1 + } +} diff --git a/tests/baselines/reference/asyncGenerators.objectLiteralMethod.13.es2017.js b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.13.es2017.js new file mode 100644 index 00000000000..f7e3a87c06c --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.13.es2017.js @@ -0,0 +1,13 @@ +//// [asyncGenerators.objectLiteralMethod.13.es2017.ts] +const x = { + async * f() { + yield * []; + } +} + +//// [asyncGenerators.objectLiteralMethod.13.es2017.js] +const x = { + async *f() { + yield* []; + } +}; diff --git a/tests/baselines/reference/asyncGenerators.objectLiteralMethod.13.es2017.symbols b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.13.es2017.symbols new file mode 100644 index 00000000000..af7e7fcdf91 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.13.es2017.symbols @@ -0,0 +1,10 @@ +=== tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.13.es2017.ts === +const x = { +>x : Symbol(x, Decl(asyncGenerators.objectLiteralMethod.13.es2017.ts, 0, 5)) + + async * f() { +>f : Symbol(f, Decl(asyncGenerators.objectLiteralMethod.13.es2017.ts, 0, 11)) + + yield * []; + } +} diff --git a/tests/baselines/reference/asyncGenerators.objectLiteralMethod.13.es2017.types b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.13.es2017.types new file mode 100644 index 00000000000..e0486d62f25 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.13.es2017.types @@ -0,0 +1,13 @@ +=== tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.13.es2017.ts === +const x = { +>x : { f(): AsyncIterableIterator; } +>{ async * f() { yield * []; }} : { f(): AsyncIterableIterator; } + + async * f() { +>f : () => AsyncIterableIterator + + yield * []; +>yield * [] : any +>[] : undefined[] + } +} diff --git a/tests/baselines/reference/asyncGenerators.objectLiteralMethod.14.es2017.js b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.14.es2017.js new file mode 100644 index 00000000000..06360e12777 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.14.es2017.js @@ -0,0 +1,14 @@ +//// [asyncGenerators.objectLiteralMethod.14.es2017.ts] +declare const ai: AsyncIterable; +const x = { + async * f() { + yield * ai; + } +} + +//// [asyncGenerators.objectLiteralMethod.14.es2017.js] +const x = { + async *f() { + yield* ai; + } +}; diff --git a/tests/baselines/reference/asyncGenerators.objectLiteralMethod.14.es2017.symbols b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.14.es2017.symbols new file mode 100644 index 00000000000..d874bc4e786 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.14.es2017.symbols @@ -0,0 +1,15 @@ +=== tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.14.es2017.ts === +declare const ai: AsyncIterable; +>ai : Symbol(ai, Decl(asyncGenerators.objectLiteralMethod.14.es2017.ts, 0, 13)) +>AsyncIterable : Symbol(AsyncIterable, Decl(lib.es2017.asynciterable.d.ts, --, --)) + +const x = { +>x : Symbol(x, Decl(asyncGenerators.objectLiteralMethod.14.es2017.ts, 1, 5)) + + async * f() { +>f : Symbol(f, Decl(asyncGenerators.objectLiteralMethod.14.es2017.ts, 1, 11)) + + yield * ai; +>ai : Symbol(ai, Decl(asyncGenerators.objectLiteralMethod.14.es2017.ts, 0, 13)) + } +} diff --git a/tests/baselines/reference/asyncGenerators.objectLiteralMethod.14.es2017.types b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.14.es2017.types new file mode 100644 index 00000000000..04f7b195490 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.14.es2017.types @@ -0,0 +1,17 @@ +=== tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.14.es2017.ts === +declare const ai: AsyncIterable; +>ai : AsyncIterable +>AsyncIterable : AsyncIterable + +const x = { +>x : { f(): AsyncIterableIterator; } +>{ async * f() { yield * ai; }} : { f(): AsyncIterableIterator; } + + async * f() { +>f : () => AsyncIterableIterator + + yield * ai; +>yield * ai : any +>ai : AsyncIterable + } +} diff --git a/tests/baselines/reference/asyncGenerators.objectLiteralMethod.15.es2017.js b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.15.es2017.js new file mode 100644 index 00000000000..cb3cff59ce6 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.15.es2017.js @@ -0,0 +1,13 @@ +//// [asyncGenerators.objectLiteralMethod.15.es2017.ts] +const x = { + async * f() { + await 1; + } +} + +//// [asyncGenerators.objectLiteralMethod.15.es2017.js] +const x = { + async *f() { + await 1; + } +}; diff --git a/tests/baselines/reference/asyncGenerators.objectLiteralMethod.15.es2017.symbols b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.15.es2017.symbols new file mode 100644 index 00000000000..0b0af976419 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.15.es2017.symbols @@ -0,0 +1,10 @@ +=== tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.15.es2017.ts === +const x = { +>x : Symbol(x, Decl(asyncGenerators.objectLiteralMethod.15.es2017.ts, 0, 5)) + + async * f() { +>f : Symbol(f, Decl(asyncGenerators.objectLiteralMethod.15.es2017.ts, 0, 11)) + + await 1; + } +} diff --git a/tests/baselines/reference/asyncGenerators.objectLiteralMethod.15.es2017.types b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.15.es2017.types new file mode 100644 index 00000000000..622cff7b7a1 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.15.es2017.types @@ -0,0 +1,13 @@ +=== tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.15.es2017.ts === +const x = { +>x : { f(): AsyncIterableIterator; } +>{ async * f() { await 1; }} : { f(): AsyncIterableIterator; } + + async * f() { +>f : () => AsyncIterableIterator + + await 1; +>await 1 : 1 +>1 : 1 + } +} diff --git a/tests/baselines/reference/asyncGenerators.objectLiteralMethod.16.es2017.errors.txt b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.16.es2017.errors.txt new file mode 100644 index 00000000000..064fba4a3eb --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.16.es2017.errors.txt @@ -0,0 +1,11 @@ +tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.16.es2017.ts(3,14): error TS1109: Expression expected. + + +==== tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.16.es2017.ts (1 errors) ==== + const x = { + async * f() { + await; + ~ +!!! error TS1109: Expression expected. + } + } \ No newline at end of file diff --git a/tests/baselines/reference/asyncGenerators.objectLiteralMethod.16.es2017.js b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.16.es2017.js new file mode 100644 index 00000000000..727db20873f --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.16.es2017.js @@ -0,0 +1,13 @@ +//// [asyncGenerators.objectLiteralMethod.16.es2017.ts] +const x = { + async * f() { + await; + } +} + +//// [asyncGenerators.objectLiteralMethod.16.es2017.js] +const x = { + async *f() { + await ; + } +}; diff --git a/tests/baselines/reference/asyncGenerators.objectLiteralMethod.17.es2017.errors.txt b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.17.es2017.errors.txt new file mode 100644 index 00000000000..c7b5409888f --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.17.es2017.errors.txt @@ -0,0 +1,11 @@ +tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.17.es2017.ts(3,16): error TS2304: Cannot find name 'await'. + + +==== tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.17.es2017.ts (1 errors) ==== + const x = { + async * f() { + var x: await; + ~~~~~ +!!! error TS2304: Cannot find name 'await'. + } + } \ No newline at end of file diff --git a/tests/baselines/reference/asyncGenerators.objectLiteralMethod.17.es2017.js b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.17.es2017.js new file mode 100644 index 00000000000..c6911c69e89 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.17.es2017.js @@ -0,0 +1,13 @@ +//// [asyncGenerators.objectLiteralMethod.17.es2017.ts] +const x = { + async * f() { + var x: await; + } +} + +//// [asyncGenerators.objectLiteralMethod.17.es2017.js] +const x = { + async *f() { + var x; + } +}; diff --git a/tests/baselines/reference/asyncGenerators.objectLiteralMethod.18.es2017.errors.txt b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.18.es2017.errors.txt new file mode 100644 index 00000000000..2b6a845a332 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.18.es2017.errors.txt @@ -0,0 +1,11 @@ +tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.18.es2017.ts(3,16): error TS2304: Cannot find name 'yield'. + + +==== tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.18.es2017.ts (1 errors) ==== + const x = { + async * f() { + var x: yield; + ~~~~~ +!!! error TS2304: Cannot find name 'yield'. + } + } \ No newline at end of file diff --git a/tests/baselines/reference/asyncGenerators.objectLiteralMethod.18.es2017.js b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.18.es2017.js new file mode 100644 index 00000000000..c08bf9c4361 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.18.es2017.js @@ -0,0 +1,13 @@ +//// [asyncGenerators.objectLiteralMethod.18.es2017.ts] +const x = { + async * f() { + var x: yield; + } +} + +//// [asyncGenerators.objectLiteralMethod.18.es2017.js] +const x = { + async *f() { + var x; + } +}; diff --git a/tests/baselines/reference/asyncGenerators.objectLiteralMethod.19.es2017.js b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.19.es2017.js new file mode 100644 index 00000000000..7f94a090c2f --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.19.es2017.js @@ -0,0 +1,13 @@ +//// [asyncGenerators.objectLiteralMethod.19.es2017.ts] +const x = { + async * f() { + var x = { [yield]: 1 }; + } +} + +//// [asyncGenerators.objectLiteralMethod.19.es2017.js] +const x = { + async *f() { + var x = { [yield]: 1 }; + } +}; diff --git a/tests/baselines/reference/asyncGenerators.objectLiteralMethod.19.es2017.symbols b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.19.es2017.symbols new file mode 100644 index 00000000000..1123b285605 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.19.es2017.symbols @@ -0,0 +1,11 @@ +=== tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.19.es2017.ts === +const x = { +>x : Symbol(x, Decl(asyncGenerators.objectLiteralMethod.19.es2017.ts, 0, 5)) + + async * f() { +>f : Symbol(f, Decl(asyncGenerators.objectLiteralMethod.19.es2017.ts, 0, 11)) + + var x = { [yield]: 1 }; +>x : Symbol(x, Decl(asyncGenerators.objectLiteralMethod.19.es2017.ts, 2, 11)) + } +} diff --git a/tests/baselines/reference/asyncGenerators.objectLiteralMethod.19.es2017.types b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.19.es2017.types new file mode 100644 index 00000000000..72d16cf298e --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.19.es2017.types @@ -0,0 +1,15 @@ +=== tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.19.es2017.ts === +const x = { +>x : { f(): AsyncIterableIterator; } +>{ async * f() { var x = { [yield]: 1 }; }} : { f(): AsyncIterableIterator; } + + async * f() { +>f : () => AsyncIterableIterator + + var x = { [yield]: 1 }; +>x : { [x: number]: number; } +>{ [yield]: 1 } : { [x: number]: number; } +>yield : any +>1 : 1 + } +} diff --git a/tests/baselines/reference/asyncGenerators.objectLiteralMethod.2.es2017.js b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.2.es2017.js new file mode 100644 index 00000000000..6bccaef7a68 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.2.es2017.js @@ -0,0 +1,9 @@ +//// [asyncGenerators.objectLiteralMethod.2.es2017.ts] +const x = { + async * await() {} +} + +//// [asyncGenerators.objectLiteralMethod.2.es2017.js] +const x = { + async *await() { } +}; diff --git a/tests/baselines/reference/asyncGenerators.objectLiteralMethod.2.es2017.symbols b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.2.es2017.symbols new file mode 100644 index 00000000000..e295e21e745 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.2.es2017.symbols @@ -0,0 +1,7 @@ +=== tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.2.es2017.ts === +const x = { +>x : Symbol(x, Decl(asyncGenerators.objectLiteralMethod.2.es2017.ts, 0, 5)) + + async * await() {} +>await : Symbol(await, Decl(asyncGenerators.objectLiteralMethod.2.es2017.ts, 0, 11)) +} diff --git a/tests/baselines/reference/asyncGenerators.objectLiteralMethod.2.es2017.types b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.2.es2017.types new file mode 100644 index 00000000000..68576a9d142 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.2.es2017.types @@ -0,0 +1,8 @@ +=== tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.2.es2017.ts === +const x = { +>x : { await(): AsyncIterableIterator; } +>{ async * await() {}} : { await(): AsyncIterableIterator; } + + async * await() {} +>await : () => AsyncIterableIterator +} diff --git a/tests/baselines/reference/asyncGenerators.objectLiteralMethod.20.es2017.errors.txt b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.20.es2017.errors.txt new file mode 100644 index 00000000000..5e58d9d1607 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.20.es2017.errors.txt @@ -0,0 +1,11 @@ +tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.20.es2017.ts(3,16): error TS2304: Cannot find name 'yield'. + + +==== tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.20.es2017.ts (1 errors) ==== + const x = { + async * f() { + var x: yield; + ~~~~~ +!!! error TS2304: Cannot find name 'yield'. + } + } \ No newline at end of file diff --git a/tests/baselines/reference/asyncGenerators.objectLiteralMethod.20.es2017.js b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.20.es2017.js new file mode 100644 index 00000000000..791494380ac --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.20.es2017.js @@ -0,0 +1,13 @@ +//// [asyncGenerators.objectLiteralMethod.20.es2017.ts] +const x = { + async * f() { + var x: yield; + } +} + +//// [asyncGenerators.objectLiteralMethod.20.es2017.js] +const x = { + async *f() { + var x; + } +}; diff --git a/tests/baselines/reference/asyncGenerators.objectLiteralMethod.21.es2017.errors.txt b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.21.es2017.errors.txt new file mode 100644 index 00000000000..8723f78540e --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.21.es2017.errors.txt @@ -0,0 +1,10 @@ +tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.21.es2017.ts(2,14): error TS2304: Cannot find name 'yield'. + + +==== tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.21.es2017.ts (1 errors) ==== + const x = { + async * [yield]() { + ~~~~~ +!!! error TS2304: Cannot find name 'yield'. + } + } \ No newline at end of file diff --git a/tests/baselines/reference/asyncGenerators.objectLiteralMethod.21.es2017.js b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.21.es2017.js new file mode 100644 index 00000000000..80988bdc83f --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.21.es2017.js @@ -0,0 +1,11 @@ +//// [asyncGenerators.objectLiteralMethod.21.es2017.ts] +const x = { + async * [yield]() { + } +} + +//// [asyncGenerators.objectLiteralMethod.21.es2017.js] +const x = { + async *[yield]() { + } +}; diff --git a/tests/baselines/reference/asyncGenerators.objectLiteralMethod.22.es2017.errors.txt b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.22.es2017.errors.txt new file mode 100644 index 00000000000..ceaf9d4eca0 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.22.es2017.errors.txt @@ -0,0 +1,10 @@ +tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.22.es2017.ts(2,14): error TS2304: Cannot find name 'await'. + + +==== tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.22.es2017.ts (1 errors) ==== + const x = { + async * [await]() { + ~~~~~ +!!! error TS2304: Cannot find name 'await'. + } + } \ No newline at end of file diff --git a/tests/baselines/reference/asyncGenerators.objectLiteralMethod.22.es2017.js b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.22.es2017.js new file mode 100644 index 00000000000..dc3d502aaef --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.22.es2017.js @@ -0,0 +1,11 @@ +//// [asyncGenerators.objectLiteralMethod.22.es2017.ts] +const x = { + async * [await]() { + } +} + +//// [asyncGenerators.objectLiteralMethod.22.es2017.js] +const x = { + async *[await]() { + } +}; diff --git a/tests/baselines/reference/asyncGenerators.objectLiteralMethod.3.es2017.js b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.3.es2017.js new file mode 100644 index 00000000000..cdfa69bba7c --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.3.es2017.js @@ -0,0 +1,9 @@ +//// [asyncGenerators.objectLiteralMethod.3.es2017.ts] +const x = { + async * yield() {} +} + +//// [asyncGenerators.objectLiteralMethod.3.es2017.js] +const x = { + async *yield() { } +}; diff --git a/tests/baselines/reference/asyncGenerators.objectLiteralMethod.3.es2017.symbols b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.3.es2017.symbols new file mode 100644 index 00000000000..be6326c8568 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.3.es2017.symbols @@ -0,0 +1,7 @@ +=== tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.3.es2017.ts === +const x = { +>x : Symbol(x, Decl(asyncGenerators.objectLiteralMethod.3.es2017.ts, 0, 5)) + + async * yield() {} +>yield : Symbol(yield, Decl(asyncGenerators.objectLiteralMethod.3.es2017.ts, 0, 11)) +} diff --git a/tests/baselines/reference/asyncGenerators.objectLiteralMethod.3.es2017.types b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.3.es2017.types new file mode 100644 index 00000000000..98d27621d2b --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.3.es2017.types @@ -0,0 +1,8 @@ +=== tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.3.es2017.ts === +const x = { +>x : { yield(): AsyncIterableIterator; } +>{ async * yield() {}} : { yield(): AsyncIterableIterator; } + + async * yield() {} +>yield : () => AsyncIterableIterator +} diff --git a/tests/baselines/reference/asyncGenerators.objectLiteralMethod.4.es2017.errors.txt b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.4.es2017.errors.txt new file mode 100644 index 00000000000..1fe7b5bb4ff --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.4.es2017.errors.txt @@ -0,0 +1,18 @@ +tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.4.es2017.ts(2,15): error TS1138: Parameter declaration expected. +tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.4.es2017.ts(2,20): error TS1005: ':' expected. +tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.4.es2017.ts(2,22): error TS1136: Property assignment expected. +tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.4.es2017.ts(3,1): error TS1128: Declaration or statement expected. + + +==== tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.4.es2017.ts (4 errors) ==== + const x = { + async * f(await) {} + ~~~~~ +!!! error TS1138: Parameter declaration expected. + ~ +!!! error TS1005: ':' expected. + ~ +!!! error TS1136: Property assignment expected. + } + ~ +!!! error TS1128: Declaration or statement expected. \ No newline at end of file diff --git a/tests/baselines/reference/asyncGenerators.objectLiteralMethod.4.es2017.js b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.4.es2017.js new file mode 100644 index 00000000000..2dd9873beed --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.4.es2017.js @@ -0,0 +1,9 @@ +//// [asyncGenerators.objectLiteralMethod.4.es2017.ts] +const x = { + async * f(await) {} +} + +//// [asyncGenerators.objectLiteralMethod.4.es2017.js] +const x = { + async *f() { }, await: +}, {}; diff --git a/tests/baselines/reference/asyncGenerators.objectLiteralMethod.5.es2017.errors.txt b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.5.es2017.errors.txt new file mode 100644 index 00000000000..cf736a172ed --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.5.es2017.errors.txt @@ -0,0 +1,18 @@ +tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.5.es2017.ts(2,15): error TS1138: Parameter declaration expected. +tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.5.es2017.ts(2,20): error TS1005: ':' expected. +tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.5.es2017.ts(2,22): error TS1136: Property assignment expected. +tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.5.es2017.ts(3,1): error TS1128: Declaration or statement expected. + + +==== tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.5.es2017.ts (4 errors) ==== + const x = { + async * f(yield) {} + ~~~~~ +!!! error TS1138: Parameter declaration expected. + ~ +!!! error TS1005: ':' expected. + ~ +!!! error TS1136: Property assignment expected. + } + ~ +!!! error TS1128: Declaration or statement expected. \ No newline at end of file diff --git a/tests/baselines/reference/asyncGenerators.objectLiteralMethod.5.es2017.js b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.5.es2017.js new file mode 100644 index 00000000000..48aa86470be --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.5.es2017.js @@ -0,0 +1,9 @@ +//// [asyncGenerators.objectLiteralMethod.5.es2017.ts] +const x = { + async * f(yield) {} +} + +//// [asyncGenerators.objectLiteralMethod.5.es2017.js] +const x = { + async *f() { }, yield: +}, {}; diff --git a/tests/baselines/reference/asyncGenerators.objectLiteralMethod.6.es2017.errors.txt b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.6.es2017.errors.txt new file mode 100644 index 00000000000..c32f8e3d79a --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.6.es2017.errors.txt @@ -0,0 +1,9 @@ +tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.6.es2017.ts(2,19): error TS2524: 'await' expressions cannot be used in a parameter initializer. + + +==== tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.6.es2017.ts (1 errors) ==== + const x = { + async * f(a = await 1) {} + ~~~~~~~ +!!! error TS2524: 'await' expressions cannot be used in a parameter initializer. + } \ No newline at end of file diff --git a/tests/baselines/reference/asyncGenerators.objectLiteralMethod.6.es2017.js b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.6.es2017.js new file mode 100644 index 00000000000..4cad2e1ebc5 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.6.es2017.js @@ -0,0 +1,9 @@ +//// [asyncGenerators.objectLiteralMethod.6.es2017.ts] +const x = { + async * f(a = await 1) {} +} + +//// [asyncGenerators.objectLiteralMethod.6.es2017.js] +const x = { + async *f(a = await 1) { } +}; diff --git a/tests/baselines/reference/asyncGenerators.objectLiteralMethod.7.es2017.errors.txt b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.7.es2017.errors.txt new file mode 100644 index 00000000000..622cc6ea06f --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.7.es2017.errors.txt @@ -0,0 +1,9 @@ +tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.7.es2017.ts(2,19): error TS2523: 'yield' expressions cannot be used in a parameter initializer. + + +==== tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.7.es2017.ts (1 errors) ==== + const x = { + async * f(a = yield) {} + ~~~~~ +!!! error TS2523: 'yield' expressions cannot be used in a parameter initializer. + } \ No newline at end of file diff --git a/tests/baselines/reference/asyncGenerators.objectLiteralMethod.7.es2017.js b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.7.es2017.js new file mode 100644 index 00000000000..59d2310c816 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.7.es2017.js @@ -0,0 +1,9 @@ +//// [asyncGenerators.objectLiteralMethod.7.es2017.ts] +const x = { + async * f(a = yield) {} +} + +//// [asyncGenerators.objectLiteralMethod.7.es2017.js] +const x = { + async *f(a = yield) { } +}; diff --git a/tests/baselines/reference/asyncGenerators.objectLiteralMethod.8.es2017.js b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.8.es2017.js new file mode 100644 index 00000000000..d9101a345bc --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.8.es2017.js @@ -0,0 +1,15 @@ +//// [asyncGenerators.objectLiteralMethod.8.es2017.ts] +const x = { + async * f() { + async function * g() { + } + } +} + +//// [asyncGenerators.objectLiteralMethod.8.es2017.js] +const x = { + async *f() { + async function* g() { + } + } +}; diff --git a/tests/baselines/reference/asyncGenerators.objectLiteralMethod.8.es2017.symbols b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.8.es2017.symbols new file mode 100644 index 00000000000..35f58bcbd63 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.8.es2017.symbols @@ -0,0 +1,12 @@ +=== tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.8.es2017.ts === +const x = { +>x : Symbol(x, Decl(asyncGenerators.objectLiteralMethod.8.es2017.ts, 0, 5)) + + async * f() { +>f : Symbol(f, Decl(asyncGenerators.objectLiteralMethod.8.es2017.ts, 0, 11)) + + async function * g() { +>g : Symbol(g, Decl(asyncGenerators.objectLiteralMethod.8.es2017.ts, 1, 17)) + } + } +} diff --git a/tests/baselines/reference/asyncGenerators.objectLiteralMethod.8.es2017.types b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.8.es2017.types new file mode 100644 index 00000000000..0b5c22bd3ce --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.8.es2017.types @@ -0,0 +1,13 @@ +=== tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.8.es2017.ts === +const x = { +>x : { f(): AsyncIterableIterator; } +>{ async * f() { async function * g() { } }} : { f(): AsyncIterableIterator; } + + async * f() { +>f : () => AsyncIterableIterator + + async function * g() { +>g : () => AsyncIterableIterator + } + } +} diff --git a/tests/baselines/reference/asyncGenerators.objectLiteralMethod.9.es2017.errors.txt b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.9.es2017.errors.txt new file mode 100644 index 00000000000..7fd6a4aaf20 --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.9.es2017.errors.txt @@ -0,0 +1,15 @@ +tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.9.es2017.ts(3,26): error TS1003: Identifier expected. +tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.9.es2017.ts(3,34): error TS1005: '=>' expected. + + +==== tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.9.es2017.ts (2 errors) ==== + const x = { + async * f() { + async function * yield() { + ~~~~~ +!!! error TS1003: Identifier expected. + ~ +!!! error TS1005: '=>' expected. + } + } + } \ No newline at end of file diff --git a/tests/baselines/reference/asyncGenerators.objectLiteralMethod.9.es2017.js b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.9.es2017.js new file mode 100644 index 00000000000..22df5f6371e --- /dev/null +++ b/tests/baselines/reference/asyncGenerators.objectLiteralMethod.9.es2017.js @@ -0,0 +1,16 @@ +//// [asyncGenerators.objectLiteralMethod.9.es2017.ts] +const x = { + async * f() { + async function * yield() { + } + } +} + +//// [asyncGenerators.objectLiteralMethod.9.es2017.js] +const x = { + async *f() { + async function* () { } + yield () => { + }; + } +}; diff --git a/tests/baselines/reference/templateStringInYieldKeyword.js b/tests/baselines/reference/templateStringInYieldKeyword.js index 4d5b776ca96..aaab38c194f 100644 --- a/tests/baselines/reference/templateStringInYieldKeyword.js +++ b/tests/baselines/reference/templateStringInYieldKeyword.js @@ -6,41 +6,7 @@ function* gen() { //// [templateStringInYieldKeyword.js] -var __generator = (this && this.__generator) || function (thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; - function verb(n) { return function (v) { return step([n, v]); }; } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (_) try { - if (f = 1, y && (t = y[op[0] & 2 ? "return" : op[0] ? "throw" : "next"]) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [0, t.value]; - switch (op[0]) { - case 0: case 1: t = op; break; - case 4: _.label++; return { value: op[1], done: false }; - case 5: _.label++; y = op[1]; op = [0]; continue; - case 7: op = _.ops.pop(); _.trys.pop(); continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } - if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } - if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } - if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } - if (t[2]) _.ops.pop(); - _.trys.pop(); continue; - } - op = body.call(thisArg, _); - } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } - if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; - } -}; -function gen() { - var x; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: return [4 /*yield*/, "abc" + x + "def"]; - case 1: - x = _a.sent(); - return [2 /*return*/]; - } - }); +function* gen() { + // Once this is supported, the inner expression does not need to be parenthesized. + var x = yield `abc${x}def`; } diff --git a/tests/baselines/reference/templateStringInYieldKeyword.types b/tests/baselines/reference/templateStringInYieldKeyword.types index 005bab9951f..3eff79cf796 100644 --- a/tests/baselines/reference/templateStringInYieldKeyword.types +++ b/tests/baselines/reference/templateStringInYieldKeyword.types @@ -1,6 +1,6 @@ === tests/cases/conformance/es6/templates/templateStringInYieldKeyword.ts === function* gen() { ->gen : () => PseudoIterableIterator +>gen : () => IterableIterator // Once this is supported, the inner expression does not need to be parenthesized. var x = yield `abc${ x }def`; diff --git a/tests/baselines/reference/yieldExpression1.js b/tests/baselines/reference/yieldExpression1.js index 4ebf43be7a3..e4d5748a761 100644 --- a/tests/baselines/reference/yieldExpression1.js +++ b/tests/baselines/reference/yieldExpression1.js @@ -4,40 +4,6 @@ function* foo() { } //// [yieldExpression1.js] -var __generator = (this && this.__generator) || function (thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; - function verb(n) { return function (v) { return step([n, v]); }; } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (_) try { - if (f = 1, y && (t = y[op[0] & 2 ? "return" : op[0] ? "throw" : "next"]) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [0, t.value]; - switch (op[0]) { - case 0: case 1: t = op; break; - case 4: _.label++; return { value: op[1], done: false }; - case 5: _.label++; y = op[1]; op = [0]; continue; - case 7: op = _.ops.pop(); _.trys.pop(); continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } - if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } - if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } - if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } - if (t[2]) _.ops.pop(); - _.trys.pop(); continue; - } - op = body.call(thisArg, _); - } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } - if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; - } -}; -function foo() { - return __generator(this, function (_a) { - switch (_a.label) { - case 0: return [4 /*yield*/]; - case 1: - _a.sent(); - return [2 /*return*/]; - } - }); +function* foo() { + yield; } diff --git a/tests/baselines/reference/yieldExpression1.types b/tests/baselines/reference/yieldExpression1.types index a60c0309a35..1ef54eb5f3d 100644 --- a/tests/baselines/reference/yieldExpression1.types +++ b/tests/baselines/reference/yieldExpression1.types @@ -1,6 +1,6 @@ === tests/cases/compiler/yieldExpression1.ts === function* foo() { ->foo : () => PseudoIterableIterator +>foo : () => IterableIterator yield >yield : any diff --git a/tests/cases/compiler/yieldExpression1.ts b/tests/cases/compiler/yieldExpression1.ts index 15c950f724f..1f2137b8403 100644 --- a/tests/cases/compiler/yieldExpression1.ts +++ b/tests/cases/compiler/yieldExpression1.ts @@ -1,3 +1,4 @@ +// @target: es6 function* foo() { yield } \ No newline at end of file diff --git a/tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.1.es2017.ts b/tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.1.es2017.ts new file mode 100644 index 00000000000..8112b77a81d --- /dev/null +++ b/tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.1.es2017.ts @@ -0,0 +1,4 @@ +// @target: es2017 +class C { + async * f() {} +} diff --git a/tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.10.es2017.ts b/tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.10.es2017.ts new file mode 100644 index 00000000000..2414db9f502 --- /dev/null +++ b/tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.10.es2017.ts @@ -0,0 +1,7 @@ +// @target: es2017 +class C { + async * f() { + async function * await() { + } + } +} \ No newline at end of file diff --git a/tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.11.es2017.ts b/tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.11.es2017.ts new file mode 100644 index 00000000000..1226606f9c8 --- /dev/null +++ b/tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.11.es2017.ts @@ -0,0 +1,6 @@ +// @target: es2017 +class C { + async * f() { + yield; + } +} \ No newline at end of file diff --git a/tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.12.es2017.ts b/tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.12.es2017.ts new file mode 100644 index 00000000000..8ad8702d57a --- /dev/null +++ b/tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.12.es2017.ts @@ -0,0 +1,6 @@ +// @target: es2017 +class C { + async * f() { + yield 1; + } +} \ No newline at end of file diff --git a/tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.13.es2017.ts b/tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.13.es2017.ts new file mode 100644 index 00000000000..dcc37245cdf --- /dev/null +++ b/tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.13.es2017.ts @@ -0,0 +1,6 @@ +// @target: es2017 +class C { + async * f() { + yield * []; + } +} \ No newline at end of file diff --git a/tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.14.es2017.ts b/tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.14.es2017.ts new file mode 100644 index 00000000000..b7e098b903e --- /dev/null +++ b/tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.14.es2017.ts @@ -0,0 +1,7 @@ +// @target: es2017 +declare const ai: AsyncIterable; +class C { + async * f() { + yield * ai; + } +} \ No newline at end of file diff --git a/tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.15.es2017.ts b/tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.15.es2017.ts new file mode 100644 index 00000000000..420541322d3 --- /dev/null +++ b/tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.15.es2017.ts @@ -0,0 +1,6 @@ +// @target: es2017 +class C { + async * f() { + await 1; + } +} \ No newline at end of file diff --git a/tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.16.es2017.ts b/tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.16.es2017.ts new file mode 100644 index 00000000000..61cb34c1329 --- /dev/null +++ b/tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.16.es2017.ts @@ -0,0 +1,6 @@ +// @target: es2017 +class C { + async * f() { + await; + } +} \ No newline at end of file diff --git a/tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.17.es2017.ts b/tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.17.es2017.ts new file mode 100644 index 00000000000..feaea02ddc7 --- /dev/null +++ b/tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.17.es2017.ts @@ -0,0 +1,6 @@ +// @target: es2017 +class C { + async * f() { + var x: await; + } +} \ No newline at end of file diff --git a/tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.18.es2017.ts b/tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.18.es2017.ts new file mode 100644 index 00000000000..ecda54e879d --- /dev/null +++ b/tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.18.es2017.ts @@ -0,0 +1,6 @@ +// @target: es2017 +class C { + async * f() { + var x: yield; + } +} \ No newline at end of file diff --git a/tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.19.es2017.ts b/tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.19.es2017.ts new file mode 100644 index 00000000000..1cdab1eff9c --- /dev/null +++ b/tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.19.es2017.ts @@ -0,0 +1,6 @@ +// @target: es2017 +class C { + async * f() { + var x = { [yield]: 1 }; + } +} \ No newline at end of file diff --git a/tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.2.es2017.ts b/tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.2.es2017.ts new file mode 100644 index 00000000000..e00199b223c --- /dev/null +++ b/tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.2.es2017.ts @@ -0,0 +1,4 @@ +// @target: es2017 +class C { + async * await() {} +} \ No newline at end of file diff --git a/tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.20.es2017.ts b/tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.20.es2017.ts new file mode 100644 index 00000000000..ecda54e879d --- /dev/null +++ b/tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.20.es2017.ts @@ -0,0 +1,6 @@ +// @target: es2017 +class C { + async * f() { + var x: yield; + } +} \ No newline at end of file diff --git a/tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.21.es2017.ts b/tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.21.es2017.ts new file mode 100644 index 00000000000..bcf1983f9c3 --- /dev/null +++ b/tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.21.es2017.ts @@ -0,0 +1,5 @@ +// @target: es2017 +class C { + async * [yield]() { + } +} \ No newline at end of file diff --git a/tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.22.es2017.ts b/tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.22.es2017.ts new file mode 100644 index 00000000000..f460c41c80e --- /dev/null +++ b/tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.22.es2017.ts @@ -0,0 +1,5 @@ +// @target: es2017 +class C { + async * [await]() { + } +} \ No newline at end of file diff --git a/tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.3.es2017.ts b/tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.3.es2017.ts new file mode 100644 index 00000000000..764217431ab --- /dev/null +++ b/tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.3.es2017.ts @@ -0,0 +1,4 @@ +// @target: es2017 +class C { + async * yield() {} +} \ No newline at end of file diff --git a/tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.4.es2017.ts b/tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.4.es2017.ts new file mode 100644 index 00000000000..a9dd1e755cb --- /dev/null +++ b/tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.4.es2017.ts @@ -0,0 +1,4 @@ +// @target: es2017 +class C { + async * f(await) {} +} \ No newline at end of file diff --git a/tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.5.es2017.ts b/tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.5.es2017.ts new file mode 100644 index 00000000000..b30a932fd00 --- /dev/null +++ b/tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.5.es2017.ts @@ -0,0 +1,4 @@ +// @target: es2017 +class C { + async * f(yield) {} +} \ No newline at end of file diff --git a/tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.6.es2017.ts b/tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.6.es2017.ts new file mode 100644 index 00000000000..096f2ad16c0 --- /dev/null +++ b/tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.6.es2017.ts @@ -0,0 +1,4 @@ +// @target: es2017 +class C { + async * f(a = await 1) {} +} \ No newline at end of file diff --git a/tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.7.es2017.ts b/tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.7.es2017.ts new file mode 100644 index 00000000000..a2f0cbb2054 --- /dev/null +++ b/tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.7.es2017.ts @@ -0,0 +1,4 @@ +// @target: es2017 +class C { + async * f(a = yield) {} +} \ No newline at end of file diff --git a/tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.8.es2017.ts b/tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.8.es2017.ts new file mode 100644 index 00000000000..67b45c21ff1 --- /dev/null +++ b/tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.8.es2017.ts @@ -0,0 +1,7 @@ +// @target: es2017 +class C { + async * f() { + async function * g() { + } + } +} \ No newline at end of file diff --git a/tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.9.es2017.ts b/tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.9.es2017.ts new file mode 100644 index 00000000000..7105c3aebd4 --- /dev/null +++ b/tests/cases/conformance/asyncGenerators/es2017/classMethods/asyncGenerators.classMethod.9.es2017.ts @@ -0,0 +1,7 @@ +// @target: es2017 +class C { + async * f() { + async function * yield() { + } + } +} \ No newline at end of file diff --git a/tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.1.es2017.ts b/tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.1.es2017.ts new file mode 100644 index 00000000000..a88fa29af14 --- /dev/null +++ b/tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.1.es2017.ts @@ -0,0 +1,2 @@ +// @target: es2017 +async function * f() {} \ No newline at end of file diff --git a/tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.10.es2017.ts b/tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.10.es2017.ts new file mode 100644 index 00000000000..e477246c8f6 --- /dev/null +++ b/tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.10.es2017.ts @@ -0,0 +1,5 @@ +// @target: es2017 +async function * f() { + async function * await() { + } +} \ No newline at end of file diff --git a/tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.11.es2017.ts b/tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.11.es2017.ts new file mode 100644 index 00000000000..253098bbc72 --- /dev/null +++ b/tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.11.es2017.ts @@ -0,0 +1,4 @@ +// @target: es2017 +async function * f() { + yield; +} \ No newline at end of file diff --git a/tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.12.es2017.ts b/tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.12.es2017.ts new file mode 100644 index 00000000000..bd81809e2c5 --- /dev/null +++ b/tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.12.es2017.ts @@ -0,0 +1,4 @@ +// @target: es2017 +async function * f() { + yield 1; +} \ No newline at end of file diff --git a/tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.13.es2017.ts b/tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.13.es2017.ts new file mode 100644 index 00000000000..dfcbdfaba41 --- /dev/null +++ b/tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.13.es2017.ts @@ -0,0 +1,4 @@ +// @target: es2017 +async function * f() { + yield * []; +} \ No newline at end of file diff --git a/tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.14.es2017.ts b/tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.14.es2017.ts new file mode 100644 index 00000000000..3fac3283a57 --- /dev/null +++ b/tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.14.es2017.ts @@ -0,0 +1,4 @@ +// @target: es2017 +async function * f() { + yield * f(); +} \ No newline at end of file diff --git a/tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.15.es2017.ts b/tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.15.es2017.ts new file mode 100644 index 00000000000..20bf002c344 --- /dev/null +++ b/tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.15.es2017.ts @@ -0,0 +1,4 @@ +// @target: es2017 +async function * f() { + await 1; +} \ No newline at end of file diff --git a/tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.16.es2017.ts b/tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.16.es2017.ts new file mode 100644 index 00000000000..8dac998a685 --- /dev/null +++ b/tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.16.es2017.ts @@ -0,0 +1,4 @@ +// @target: es2017 +async function * f() { + await; +} \ No newline at end of file diff --git a/tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.17.es2017.ts b/tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.17.es2017.ts new file mode 100644 index 00000000000..38da2b9c789 --- /dev/null +++ b/tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.17.es2017.ts @@ -0,0 +1,4 @@ +// @target: es2017 +async function * f() { + var x: await; +} \ No newline at end of file diff --git a/tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.18.es2017.ts b/tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.18.es2017.ts new file mode 100644 index 00000000000..17ab04d0550 --- /dev/null +++ b/tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.18.es2017.ts @@ -0,0 +1,4 @@ +// @target: es2017 +async function * f() { + var x: yield; +} \ No newline at end of file diff --git a/tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.19.es2017.ts b/tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.19.es2017.ts new file mode 100644 index 00000000000..d5a08e0b9f0 --- /dev/null +++ b/tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.19.es2017.ts @@ -0,0 +1,4 @@ +// @target: es2017 +async function * f() { + var x = { [yield]: 1 }; +} \ No newline at end of file diff --git a/tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.2.es2017.ts b/tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.2.es2017.ts new file mode 100644 index 00000000000..7a794d28554 --- /dev/null +++ b/tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.2.es2017.ts @@ -0,0 +1,2 @@ +// @target: es2017 +async function * await() {} \ No newline at end of file diff --git a/tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.20.es2017.ts b/tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.20.es2017.ts new file mode 100644 index 00000000000..17ab04d0550 --- /dev/null +++ b/tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.20.es2017.ts @@ -0,0 +1,4 @@ +// @target: es2017 +async function * f() { + var x: yield; +} \ No newline at end of file diff --git a/tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.3.es2017.ts b/tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.3.es2017.ts new file mode 100644 index 00000000000..cb2c4b0a633 --- /dev/null +++ b/tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.3.es2017.ts @@ -0,0 +1,2 @@ +// @target: es2017 +async function * yield() {} \ No newline at end of file diff --git a/tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.4.es2017.ts b/tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.4.es2017.ts new file mode 100644 index 00000000000..cc65a5a0043 --- /dev/null +++ b/tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.4.es2017.ts @@ -0,0 +1,2 @@ +// @target: es2017 +async function * f(await) {} \ No newline at end of file diff --git a/tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.5.es2017.ts b/tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.5.es2017.ts new file mode 100644 index 00000000000..bebe4ed4069 --- /dev/null +++ b/tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.5.es2017.ts @@ -0,0 +1,2 @@ +// @target: es2017 +async function * f(yield) {} \ No newline at end of file diff --git a/tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.6.es2017.ts b/tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.6.es2017.ts new file mode 100644 index 00000000000..b41301be8ed --- /dev/null +++ b/tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.6.es2017.ts @@ -0,0 +1,2 @@ +// @target: es2017 +async function * f(a = await 1) {} \ No newline at end of file diff --git a/tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.7.es2017.ts b/tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.7.es2017.ts new file mode 100644 index 00000000000..24b7f2c9119 --- /dev/null +++ b/tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.7.es2017.ts @@ -0,0 +1,2 @@ +// @target: es2017 +async function * f(a = yield) {} \ No newline at end of file diff --git a/tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.8.es2017.ts b/tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.8.es2017.ts new file mode 100644 index 00000000000..985e6a9e5e0 --- /dev/null +++ b/tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.8.es2017.ts @@ -0,0 +1,5 @@ +// @target: es2017 +async function * f() { + async function * g() { + } +} \ No newline at end of file diff --git a/tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.9.es2017.ts b/tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.9.es2017.ts new file mode 100644 index 00000000000..042ff6b9ea2 --- /dev/null +++ b/tests/cases/conformance/asyncGenerators/es2017/functionDeclarations/asyncGenerators.functionDeclaration.9.es2017.ts @@ -0,0 +1,5 @@ +// @target: es2017 +async function * f() { + async function * yield() { + } +} \ No newline at end of file diff --git a/tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.1.es2017.ts b/tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.1.es2017.ts new file mode 100644 index 00000000000..1ba033b0195 --- /dev/null +++ b/tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.1.es2017.ts @@ -0,0 +1,2 @@ +// @target: es2017 +const f = async function * () {} \ No newline at end of file diff --git a/tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.10.es2017.ts b/tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.10.es2017.ts new file mode 100644 index 00000000000..39d5b531488 --- /dev/null +++ b/tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.10.es2017.ts @@ -0,0 +1,5 @@ +// @target: es2017 +const f = async function * () { + async function * await() { + } +} \ No newline at end of file diff --git a/tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.11.es2017.ts b/tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.11.es2017.ts new file mode 100644 index 00000000000..5a8d1035966 --- /dev/null +++ b/tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.11.es2017.ts @@ -0,0 +1,4 @@ +// @target: es2017 +const f = async function * () { + yield; +} \ No newline at end of file diff --git a/tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.12.es2017.ts b/tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.12.es2017.ts new file mode 100644 index 00000000000..fcbe2d21389 --- /dev/null +++ b/tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.12.es2017.ts @@ -0,0 +1,4 @@ +// @target: es2017 +const f = async function * () { + yield 1; +} \ No newline at end of file diff --git a/tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.13.es2017.ts b/tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.13.es2017.ts new file mode 100644 index 00000000000..6a5304452f0 --- /dev/null +++ b/tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.13.es2017.ts @@ -0,0 +1,4 @@ +// @target: es2017 +const f = async function * () { + yield * []; +} \ No newline at end of file diff --git a/tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.14.es2017.ts b/tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.14.es2017.ts new file mode 100644 index 00000000000..38e4b801829 --- /dev/null +++ b/tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.14.es2017.ts @@ -0,0 +1,4 @@ +// @target: es2017 +const f = async function * () { + yield * f(); +} \ No newline at end of file diff --git a/tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.15.es2017.ts b/tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.15.es2017.ts new file mode 100644 index 00000000000..6a23ba4998c --- /dev/null +++ b/tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.15.es2017.ts @@ -0,0 +1,4 @@ +// @target: es2017 +const f = async function * () { + await 1; +} \ No newline at end of file diff --git a/tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.16.es2017.ts b/tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.16.es2017.ts new file mode 100644 index 00000000000..ad5cba33098 --- /dev/null +++ b/tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.16.es2017.ts @@ -0,0 +1,4 @@ +// @target: es2017 +const f = async function * () { + await; +} \ No newline at end of file diff --git a/tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.17.es2017.ts b/tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.17.es2017.ts new file mode 100644 index 00000000000..8cd171644b6 --- /dev/null +++ b/tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.17.es2017.ts @@ -0,0 +1,4 @@ +// @target: es2017 +const f = async function * () { + var x: await; +} \ No newline at end of file diff --git a/tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.18.es2017.ts b/tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.18.es2017.ts new file mode 100644 index 00000000000..83baa28459a --- /dev/null +++ b/tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.18.es2017.ts @@ -0,0 +1,4 @@ +// @target: es2017 +const f = async function * () { + var x: yield; +} \ No newline at end of file diff --git a/tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.19.es2017.ts b/tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.19.es2017.ts new file mode 100644 index 00000000000..c58f891f442 --- /dev/null +++ b/tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.19.es2017.ts @@ -0,0 +1,4 @@ +// @target: es2017 +const f = async function *() { + var x = { [yield]: 1 }; +} \ No newline at end of file diff --git a/tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.2.es2017.ts b/tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.2.es2017.ts new file mode 100644 index 00000000000..735d75b60c1 --- /dev/null +++ b/tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.2.es2017.ts @@ -0,0 +1,2 @@ +// @target: es2017 +const await = async function * () {} \ No newline at end of file diff --git a/tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.3.es2017.ts b/tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.3.es2017.ts new file mode 100644 index 00000000000..62cf25b0e51 --- /dev/null +++ b/tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.3.es2017.ts @@ -0,0 +1,2 @@ +// @target: es2017 +const yield = async function * () {} \ No newline at end of file diff --git a/tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.4.es2017.ts b/tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.4.es2017.ts new file mode 100644 index 00000000000..7f944d7f93f --- /dev/null +++ b/tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.4.es2017.ts @@ -0,0 +1,2 @@ +// @target: es2017 +const f = async function * (await) {} \ No newline at end of file diff --git a/tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.5.es2017.ts b/tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.5.es2017.ts new file mode 100644 index 00000000000..ab3ad5b2560 --- /dev/null +++ b/tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.5.es2017.ts @@ -0,0 +1,2 @@ +// @target: es2017 +const f = async function * (yield) {} \ No newline at end of file diff --git a/tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.6.es2017.ts b/tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.6.es2017.ts new file mode 100644 index 00000000000..43b2ecc504f --- /dev/null +++ b/tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.6.es2017.ts @@ -0,0 +1,2 @@ +// @target: es2017 +const f = async function * (a = await 1) {} \ No newline at end of file diff --git a/tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.7.es2017.ts b/tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.7.es2017.ts new file mode 100644 index 00000000000..861ce2286ce --- /dev/null +++ b/tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.7.es2017.ts @@ -0,0 +1,2 @@ +// @target: es2017 +const f = async function * (a = yield) {} \ No newline at end of file diff --git a/tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.8.es2017.ts b/tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.8.es2017.ts new file mode 100644 index 00000000000..8f7d8987b21 --- /dev/null +++ b/tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.8.es2017.ts @@ -0,0 +1,5 @@ +// @target: es2017 +const f = async function * () { + async function * g() { + } +} \ No newline at end of file diff --git a/tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.9.es2017.ts b/tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.9.es2017.ts new file mode 100644 index 00000000000..0b49a390e65 --- /dev/null +++ b/tests/cases/conformance/asyncGenerators/es2017/functionExpressions/asyncGenerators.functionExpression.9.es2017.ts @@ -0,0 +1,5 @@ +// @target: es2017 +const f = async function * () { + async function * yield() { + } +} \ No newline at end of file diff --git a/tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.1.es2017.ts b/tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.1.es2017.ts new file mode 100644 index 00000000000..cb10de6059c --- /dev/null +++ b/tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.1.es2017.ts @@ -0,0 +1,4 @@ +// @target: es2017 +const x = { + async * f() {} +} diff --git a/tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.10.es2017.ts b/tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.10.es2017.ts new file mode 100644 index 00000000000..7911b3e9294 --- /dev/null +++ b/tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.10.es2017.ts @@ -0,0 +1,7 @@ +// @target: es2017 +const x = { + async * f() { + async function * await() { + } + } +} \ No newline at end of file diff --git a/tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.11.es2017.ts b/tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.11.es2017.ts new file mode 100644 index 00000000000..ad3ad8a0b69 --- /dev/null +++ b/tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.11.es2017.ts @@ -0,0 +1,6 @@ +// @target: es2017 +const x = { + async * f() { + yield; + } +} \ No newline at end of file diff --git a/tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.12.es2017.ts b/tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.12.es2017.ts new file mode 100644 index 00000000000..6e92de37b38 --- /dev/null +++ b/tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.12.es2017.ts @@ -0,0 +1,6 @@ +// @target: es2017 +const x = { + async * f() { + yield 1; + } +} \ No newline at end of file diff --git a/tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.13.es2017.ts b/tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.13.es2017.ts new file mode 100644 index 00000000000..3bf7837a5db --- /dev/null +++ b/tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.13.es2017.ts @@ -0,0 +1,6 @@ +// @target: es2017 +const x = { + async * f() { + yield * []; + } +} \ No newline at end of file diff --git a/tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.14.es2017.ts b/tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.14.es2017.ts new file mode 100644 index 00000000000..d1d4c6a3738 --- /dev/null +++ b/tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.14.es2017.ts @@ -0,0 +1,7 @@ +// @target: es2017 +declare const ai: AsyncIterable; +const x = { + async * f() { + yield * ai; + } +} \ No newline at end of file diff --git a/tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.15.es2017.ts b/tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.15.es2017.ts new file mode 100644 index 00000000000..3fe6846121f --- /dev/null +++ b/tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.15.es2017.ts @@ -0,0 +1,6 @@ +// @target: es2017 +const x = { + async * f() { + await 1; + } +} \ No newline at end of file diff --git a/tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.16.es2017.ts b/tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.16.es2017.ts new file mode 100644 index 00000000000..e1f22e5e08a --- /dev/null +++ b/tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.16.es2017.ts @@ -0,0 +1,6 @@ +// @target: es2017 +const x = { + async * f() { + await; + } +} \ No newline at end of file diff --git a/tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.17.es2017.ts b/tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.17.es2017.ts new file mode 100644 index 00000000000..52a8b6b8627 --- /dev/null +++ b/tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.17.es2017.ts @@ -0,0 +1,6 @@ +// @target: es2017 +const x = { + async * f() { + var x: await; + } +} \ No newline at end of file diff --git a/tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.18.es2017.ts b/tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.18.es2017.ts new file mode 100644 index 00000000000..cc898cd0b5f --- /dev/null +++ b/tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.18.es2017.ts @@ -0,0 +1,6 @@ +// @target: es2017 +const x = { + async * f() { + var x: yield; + } +} \ No newline at end of file diff --git a/tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.19.es2017.ts b/tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.19.es2017.ts new file mode 100644 index 00000000000..ee692f63622 --- /dev/null +++ b/tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.19.es2017.ts @@ -0,0 +1,6 @@ +// @target: es2017 +const x = { + async * f() { + var x = { [yield]: 1 }; + } +} \ No newline at end of file diff --git a/tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.2.es2017.ts b/tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.2.es2017.ts new file mode 100644 index 00000000000..45d0ae6e958 --- /dev/null +++ b/tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.2.es2017.ts @@ -0,0 +1,4 @@ +// @target: es2017 +const x = { + async * await() {} +} \ No newline at end of file diff --git a/tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.20.es2017.ts b/tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.20.es2017.ts new file mode 100644 index 00000000000..cc898cd0b5f --- /dev/null +++ b/tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.20.es2017.ts @@ -0,0 +1,6 @@ +// @target: es2017 +const x = { + async * f() { + var x: yield; + } +} \ No newline at end of file diff --git a/tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.21.es2017.ts b/tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.21.es2017.ts new file mode 100644 index 00000000000..d3bf4c10439 --- /dev/null +++ b/tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.21.es2017.ts @@ -0,0 +1,5 @@ +// @target: es2017 +const x = { + async * [yield]() { + } +} \ No newline at end of file diff --git a/tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.22.es2017.ts b/tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.22.es2017.ts new file mode 100644 index 00000000000..c8af1037dbf --- /dev/null +++ b/tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.22.es2017.ts @@ -0,0 +1,5 @@ +// @target: es2017 +const x = { + async * [await]() { + } +} \ No newline at end of file diff --git a/tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.3.es2017.ts b/tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.3.es2017.ts new file mode 100644 index 00000000000..f1150f3e8c7 --- /dev/null +++ b/tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.3.es2017.ts @@ -0,0 +1,4 @@ +// @target: es2017 +const x = { + async * yield() {} +} \ No newline at end of file diff --git a/tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.4.es2017.ts b/tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.4.es2017.ts new file mode 100644 index 00000000000..5affac77fa3 --- /dev/null +++ b/tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.4.es2017.ts @@ -0,0 +1,4 @@ +// @target: es2017 +const x = { + async * f(await) {} +} \ No newline at end of file diff --git a/tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.5.es2017.ts b/tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.5.es2017.ts new file mode 100644 index 00000000000..658eef6fc88 --- /dev/null +++ b/tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.5.es2017.ts @@ -0,0 +1,4 @@ +// @target: es2017 +const x = { + async * f(yield) {} +} \ No newline at end of file diff --git a/tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.6.es2017.ts b/tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.6.es2017.ts new file mode 100644 index 00000000000..b0fc909f9b6 --- /dev/null +++ b/tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.6.es2017.ts @@ -0,0 +1,4 @@ +// @target: es2017 +const x = { + async * f(a = await 1) {} +} \ No newline at end of file diff --git a/tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.7.es2017.ts b/tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.7.es2017.ts new file mode 100644 index 00000000000..a32428068cd --- /dev/null +++ b/tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.7.es2017.ts @@ -0,0 +1,4 @@ +// @target: es2017 +const x = { + async * f(a = yield) {} +} \ No newline at end of file diff --git a/tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.8.es2017.ts b/tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.8.es2017.ts new file mode 100644 index 00000000000..0fa335bde96 --- /dev/null +++ b/tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.8.es2017.ts @@ -0,0 +1,7 @@ +// @target: es2017 +const x = { + async * f() { + async function * g() { + } + } +} \ No newline at end of file diff --git a/tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.9.es2017.ts b/tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.9.es2017.ts new file mode 100644 index 00000000000..728dd782beb --- /dev/null +++ b/tests/cases/conformance/asyncGenerators/es2017/objectLiteralMethods/asyncGenerators.objectLiteralMethod.9.es2017.ts @@ -0,0 +1,7 @@ +// @target: es2017 +const x = { + async * f() { + async function * yield() { + } + } +} \ No newline at end of file diff --git a/tests/cases/conformance/es6/functionDeclarations/FunctionDeclaration10_es6.ts b/tests/cases/conformance/es6/functionDeclarations/FunctionDeclaration10_es6.ts index fa7a20f78ba..42da7c8ff1c 100644 --- a/tests/cases/conformance/es6/functionDeclarations/FunctionDeclaration10_es6.ts +++ b/tests/cases/conformance/es6/functionDeclarations/FunctionDeclaration10_es6.ts @@ -1,2 +1,3 @@ +// @target: es6 function * foo(a = yield => yield) { } \ No newline at end of file diff --git a/tests/cases/conformance/es6/functionDeclarations/FunctionDeclaration11_es6.ts b/tests/cases/conformance/es6/functionDeclarations/FunctionDeclaration11_es6.ts index 07b452678eb..08aef92156c 100644 --- a/tests/cases/conformance/es6/functionDeclarations/FunctionDeclaration11_es6.ts +++ b/tests/cases/conformance/es6/functionDeclarations/FunctionDeclaration11_es6.ts @@ -1,2 +1,3 @@ +// @target: es6 function * yield() { } \ No newline at end of file diff --git a/tests/cases/conformance/es6/functionDeclarations/FunctionDeclaration12_es6.ts b/tests/cases/conformance/es6/functionDeclarations/FunctionDeclaration12_es6.ts index ff08bd514af..931d2827cf6 100644 --- a/tests/cases/conformance/es6/functionDeclarations/FunctionDeclaration12_es6.ts +++ b/tests/cases/conformance/es6/functionDeclarations/FunctionDeclaration12_es6.ts @@ -1 +1,2 @@ +// @target: es6 var v = function * yield() { } \ No newline at end of file diff --git a/tests/cases/conformance/es6/functionDeclarations/FunctionDeclaration13_es6.ts b/tests/cases/conformance/es6/functionDeclarations/FunctionDeclaration13_es6.ts index e5e30dc4b0e..8a19ca13163 100644 --- a/tests/cases/conformance/es6/functionDeclarations/FunctionDeclaration13_es6.ts +++ b/tests/cases/conformance/es6/functionDeclarations/FunctionDeclaration13_es6.ts @@ -1,3 +1,4 @@ +// @target: es6 function * foo() { // Legal to use 'yield' in a type context. var v: yield; diff --git a/tests/cases/conformance/es6/functionDeclarations/FunctionDeclaration1_es6.ts b/tests/cases/conformance/es6/functionDeclarations/FunctionDeclaration1_es6.ts index 650e619fc00..f8f894c3b53 100644 --- a/tests/cases/conformance/es6/functionDeclarations/FunctionDeclaration1_es6.ts +++ b/tests/cases/conformance/es6/functionDeclarations/FunctionDeclaration1_es6.ts @@ -1,2 +1,3 @@ +// @target: es6 function * foo() { } \ No newline at end of file diff --git a/tests/cases/conformance/es6/functionDeclarations/FunctionDeclaration2_es6.ts b/tests/cases/conformance/es6/functionDeclarations/FunctionDeclaration2_es6.ts index 136dd1f9b43..729d883e7fc 100644 --- a/tests/cases/conformance/es6/functionDeclarations/FunctionDeclaration2_es6.ts +++ b/tests/cases/conformance/es6/functionDeclarations/FunctionDeclaration2_es6.ts @@ -1,2 +1,3 @@ +// @target: es6 function f(yield) { } \ No newline at end of file diff --git a/tests/cases/conformance/es6/functionDeclarations/FunctionDeclaration3_es6.ts b/tests/cases/conformance/es6/functionDeclarations/FunctionDeclaration3_es6.ts index 33324d88158..28c5da0c373 100644 --- a/tests/cases/conformance/es6/functionDeclarations/FunctionDeclaration3_es6.ts +++ b/tests/cases/conformance/es6/functionDeclarations/FunctionDeclaration3_es6.ts @@ -1,2 +1,3 @@ +// @target: es6 function f(yield = yield) { } \ No newline at end of file diff --git a/tests/cases/conformance/es6/functionDeclarations/FunctionDeclaration4_es6.ts b/tests/cases/conformance/es6/functionDeclarations/FunctionDeclaration4_es6.ts index fd9170a726a..a6d01298970 100644 --- a/tests/cases/conformance/es6/functionDeclarations/FunctionDeclaration4_es6.ts +++ b/tests/cases/conformance/es6/functionDeclarations/FunctionDeclaration4_es6.ts @@ -1,2 +1,3 @@ +// @target: es6 function yield() { } \ No newline at end of file diff --git a/tests/cases/conformance/es6/functionDeclarations/FunctionDeclaration5_es6.ts b/tests/cases/conformance/es6/functionDeclarations/FunctionDeclaration5_es6.ts index 3e97edf26a6..5cfa834a4d7 100644 --- a/tests/cases/conformance/es6/functionDeclarations/FunctionDeclaration5_es6.ts +++ b/tests/cases/conformance/es6/functionDeclarations/FunctionDeclaration5_es6.ts @@ -1,2 +1,3 @@ +// @target: es6 function*foo(yield) { } \ No newline at end of file diff --git a/tests/cases/conformance/es6/functionDeclarations/FunctionDeclaration6_es6.ts b/tests/cases/conformance/es6/functionDeclarations/FunctionDeclaration6_es6.ts index 144aae6b63c..c83dcbe514b 100644 --- a/tests/cases/conformance/es6/functionDeclarations/FunctionDeclaration6_es6.ts +++ b/tests/cases/conformance/es6/functionDeclarations/FunctionDeclaration6_es6.ts @@ -1,2 +1,3 @@ +// @target: es6 function*foo(a = yield) { } \ No newline at end of file diff --git a/tests/cases/conformance/es6/functionDeclarations/FunctionDeclaration7_es6.ts b/tests/cases/conformance/es6/functionDeclarations/FunctionDeclaration7_es6.ts index 3cc50e85592..6dd3d13698b 100644 --- a/tests/cases/conformance/es6/functionDeclarations/FunctionDeclaration7_es6.ts +++ b/tests/cases/conformance/es6/functionDeclarations/FunctionDeclaration7_es6.ts @@ -1,3 +1,4 @@ +// @target: es6 function*bar() { // 'yield' here is an identifier, and not a yield expression. function*foo(a = yield) { diff --git a/tests/cases/conformance/es6/functionDeclarations/FunctionDeclaration9_es6.ts b/tests/cases/conformance/es6/functionDeclarations/FunctionDeclaration9_es6.ts index d30d6535d4b..57e32e1d901 100644 --- a/tests/cases/conformance/es6/functionDeclarations/FunctionDeclaration9_es6.ts +++ b/tests/cases/conformance/es6/functionDeclarations/FunctionDeclaration9_es6.ts @@ -1,3 +1,4 @@ +// @target: es6 function * foo() { var v = { [yield]: foo } } \ No newline at end of file diff --git a/tests/cases/conformance/es6/functionExpressions/FunctionExpression1_es6.ts b/tests/cases/conformance/es6/functionExpressions/FunctionExpression1_es6.ts index 42ff543edf7..fafd35bc650 100644 --- a/tests/cases/conformance/es6/functionExpressions/FunctionExpression1_es6.ts +++ b/tests/cases/conformance/es6/functionExpressions/FunctionExpression1_es6.ts @@ -1 +1,2 @@ +// @target: es6 var v = function * () { } \ No newline at end of file diff --git a/tests/cases/conformance/es6/functionExpressions/FunctionExpression2_es6.ts b/tests/cases/conformance/es6/functionExpressions/FunctionExpression2_es6.ts index 2669a3e386f..bdf5fa26356 100644 --- a/tests/cases/conformance/es6/functionExpressions/FunctionExpression2_es6.ts +++ b/tests/cases/conformance/es6/functionExpressions/FunctionExpression2_es6.ts @@ -1 +1,2 @@ +// @target: es6 var v = function * foo() { } \ No newline at end of file diff --git a/tests/cases/conformance/es6/functionPropertyAssignments/FunctionPropertyAssignments1_es6.ts b/tests/cases/conformance/es6/functionPropertyAssignments/FunctionPropertyAssignments1_es6.ts index 1d6cb9f92fb..9d31f84a2f6 100644 --- a/tests/cases/conformance/es6/functionPropertyAssignments/FunctionPropertyAssignments1_es6.ts +++ b/tests/cases/conformance/es6/functionPropertyAssignments/FunctionPropertyAssignments1_es6.ts @@ -1 +1,2 @@ +// @target: es6 var v = { *foo() { } } \ No newline at end of file diff --git a/tests/cases/conformance/es6/functionPropertyAssignments/FunctionPropertyAssignments2_es6.ts b/tests/cases/conformance/es6/functionPropertyAssignments/FunctionPropertyAssignments2_es6.ts index e58c7077a49..3fdd0764836 100644 --- a/tests/cases/conformance/es6/functionPropertyAssignments/FunctionPropertyAssignments2_es6.ts +++ b/tests/cases/conformance/es6/functionPropertyAssignments/FunctionPropertyAssignments2_es6.ts @@ -1 +1,2 @@ +// @target: es6 var v = { *() { } } \ No newline at end of file diff --git a/tests/cases/conformance/es6/functionPropertyAssignments/FunctionPropertyAssignments3_es6.ts b/tests/cases/conformance/es6/functionPropertyAssignments/FunctionPropertyAssignments3_es6.ts index ebcd542a2a0..ccb4fbf9813 100644 --- a/tests/cases/conformance/es6/functionPropertyAssignments/FunctionPropertyAssignments3_es6.ts +++ b/tests/cases/conformance/es6/functionPropertyAssignments/FunctionPropertyAssignments3_es6.ts @@ -1 +1,2 @@ +// @target: es6 var v = { *{ } } \ No newline at end of file diff --git a/tests/cases/conformance/es6/functionPropertyAssignments/FunctionPropertyAssignments4_es6.ts b/tests/cases/conformance/es6/functionPropertyAssignments/FunctionPropertyAssignments4_es6.ts index 3b23ea4fc97..468ef0a0e84 100644 --- a/tests/cases/conformance/es6/functionPropertyAssignments/FunctionPropertyAssignments4_es6.ts +++ b/tests/cases/conformance/es6/functionPropertyAssignments/FunctionPropertyAssignments4_es6.ts @@ -1 +1,2 @@ +// @target: es6 var v = { * } \ No newline at end of file diff --git a/tests/cases/conformance/es6/functionPropertyAssignments/FunctionPropertyAssignments5_es6.ts b/tests/cases/conformance/es6/functionPropertyAssignments/FunctionPropertyAssignments5_es6.ts index b1628dd2f2c..98129598e57 100644 --- a/tests/cases/conformance/es6/functionPropertyAssignments/FunctionPropertyAssignments5_es6.ts +++ b/tests/cases/conformance/es6/functionPropertyAssignments/FunctionPropertyAssignments5_es6.ts @@ -1 +1,2 @@ +// @target: es6 var v = { *[foo()]() { } } \ No newline at end of file diff --git a/tests/cases/conformance/es6/functionPropertyAssignments/FunctionPropertyAssignments6_es6.ts b/tests/cases/conformance/es6/functionPropertyAssignments/FunctionPropertyAssignments6_es6.ts index 6bfae9ec77c..bff2cf529c5 100644 --- a/tests/cases/conformance/es6/functionPropertyAssignments/FunctionPropertyAssignments6_es6.ts +++ b/tests/cases/conformance/es6/functionPropertyAssignments/FunctionPropertyAssignments6_es6.ts @@ -1 +1,2 @@ +// @target: es6 var v = { *() { } } \ No newline at end of file diff --git a/tests/cases/conformance/es6/memberFunctionDeclarations/MemberFunctionDeclaration1_es6.ts b/tests/cases/conformance/es6/memberFunctionDeclarations/MemberFunctionDeclaration1_es6.ts index 3bb832ccf49..d561e55856e 100644 --- a/tests/cases/conformance/es6/memberFunctionDeclarations/MemberFunctionDeclaration1_es6.ts +++ b/tests/cases/conformance/es6/memberFunctionDeclarations/MemberFunctionDeclaration1_es6.ts @@ -1,3 +1,4 @@ +// @target: es6 class C { *foo() { } } \ No newline at end of file diff --git a/tests/cases/conformance/es6/memberFunctionDeclarations/MemberFunctionDeclaration2_es6.ts b/tests/cases/conformance/es6/memberFunctionDeclarations/MemberFunctionDeclaration2_es6.ts index 2174110723d..a9890f9495f 100644 --- a/tests/cases/conformance/es6/memberFunctionDeclarations/MemberFunctionDeclaration2_es6.ts +++ b/tests/cases/conformance/es6/memberFunctionDeclarations/MemberFunctionDeclaration2_es6.ts @@ -1,3 +1,4 @@ +// @target: es6 class C { public * foo() { } } \ No newline at end of file diff --git a/tests/cases/conformance/es6/memberFunctionDeclarations/MemberFunctionDeclaration3_es6.ts b/tests/cases/conformance/es6/memberFunctionDeclarations/MemberFunctionDeclaration3_es6.ts index 8db736f99bb..48724491610 100644 --- a/tests/cases/conformance/es6/memberFunctionDeclarations/MemberFunctionDeclaration3_es6.ts +++ b/tests/cases/conformance/es6/memberFunctionDeclarations/MemberFunctionDeclaration3_es6.ts @@ -1,3 +1,4 @@ +// @target: es6 class C { *[foo]() { } } \ No newline at end of file diff --git a/tests/cases/conformance/es6/memberFunctionDeclarations/MemberFunctionDeclaration4_es6.ts b/tests/cases/conformance/es6/memberFunctionDeclarations/MemberFunctionDeclaration4_es6.ts index 0fa98ce98c4..c7675a4722e 100644 --- a/tests/cases/conformance/es6/memberFunctionDeclarations/MemberFunctionDeclaration4_es6.ts +++ b/tests/cases/conformance/es6/memberFunctionDeclarations/MemberFunctionDeclaration4_es6.ts @@ -1,3 +1,4 @@ +// @target: es6 class C { *() { } } \ No newline at end of file diff --git a/tests/cases/conformance/es6/memberFunctionDeclarations/MemberFunctionDeclaration5_es6.ts b/tests/cases/conformance/es6/memberFunctionDeclarations/MemberFunctionDeclaration5_es6.ts index 474316195f0..5f2ee883119 100644 --- a/tests/cases/conformance/es6/memberFunctionDeclarations/MemberFunctionDeclaration5_es6.ts +++ b/tests/cases/conformance/es6/memberFunctionDeclarations/MemberFunctionDeclaration5_es6.ts @@ -1,3 +1,4 @@ +// @target: es6 class C { * } \ No newline at end of file diff --git a/tests/cases/conformance/es6/memberFunctionDeclarations/MemberFunctionDeclaration6_es6.ts b/tests/cases/conformance/es6/memberFunctionDeclarations/MemberFunctionDeclaration6_es6.ts index 1efad0a7842..1ec72cab49c 100644 --- a/tests/cases/conformance/es6/memberFunctionDeclarations/MemberFunctionDeclaration6_es6.ts +++ b/tests/cases/conformance/es6/memberFunctionDeclarations/MemberFunctionDeclaration6_es6.ts @@ -1,3 +1,4 @@ +// @target: es6 class C { *foo } \ No newline at end of file diff --git a/tests/cases/conformance/es6/memberFunctionDeclarations/MemberFunctionDeclaration7_es6.ts b/tests/cases/conformance/es6/memberFunctionDeclarations/MemberFunctionDeclaration7_es6.ts index 93f05494107..4fc94c6d63c 100644 --- a/tests/cases/conformance/es6/memberFunctionDeclarations/MemberFunctionDeclaration7_es6.ts +++ b/tests/cases/conformance/es6/memberFunctionDeclarations/MemberFunctionDeclaration7_es6.ts @@ -1,3 +1,4 @@ +// @target: es6 class C { *foo() { } } \ No newline at end of file diff --git a/tests/cases/conformance/es6/memberFunctionDeclarations/MemberFunctionDeclaration8_es6.ts b/tests/cases/conformance/es6/memberFunctionDeclarations/MemberFunctionDeclaration8_es6.ts index 069d7339869..e698257e940 100644 --- a/tests/cases/conformance/es6/memberFunctionDeclarations/MemberFunctionDeclaration8_es6.ts +++ b/tests/cases/conformance/es6/memberFunctionDeclarations/MemberFunctionDeclaration8_es6.ts @@ -1,7 +1,8 @@ +// @target: es6 class C { foo() { // Make sure we don't think of *bar as the start of a generator method. if (a) # * bar; - return bar; + return bar; } } \ No newline at end of file diff --git a/tests/cases/conformance/es6/templates/templateStringInYieldKeyword.ts b/tests/cases/conformance/es6/templates/templateStringInYieldKeyword.ts index d020d7c7607..a99643e6948 100644 --- a/tests/cases/conformance/es6/templates/templateStringInYieldKeyword.ts +++ b/tests/cases/conformance/es6/templates/templateStringInYieldKeyword.ts @@ -1,4 +1,5 @@ -function* gen() { +// @target: es6 +function* gen() { // Once this is supported, the inner expression does not need to be parenthesized. var x = yield `abc${ x }def`; } diff --git a/tests/cases/conformance/es6/yieldExpressions/YieldExpression10_es6.ts b/tests/cases/conformance/es6/yieldExpressions/YieldExpression10_es6.ts index b95174babdf..3d6c1639502 100644 --- a/tests/cases/conformance/es6/yieldExpressions/YieldExpression10_es6.ts +++ b/tests/cases/conformance/es6/yieldExpressions/YieldExpression10_es6.ts @@ -1,3 +1,4 @@ +// @target: es6 var v = { * foo() { yield(foo); } diff --git a/tests/cases/conformance/es6/yieldExpressions/YieldExpression11_es6.ts b/tests/cases/conformance/es6/yieldExpressions/YieldExpression11_es6.ts index 7577e5ce46b..dd70c0b9be2 100644 --- a/tests/cases/conformance/es6/yieldExpressions/YieldExpression11_es6.ts +++ b/tests/cases/conformance/es6/yieldExpressions/YieldExpression11_es6.ts @@ -1,3 +1,4 @@ +// @target: es6 class C { *foo() { yield(foo); diff --git a/tests/cases/conformance/es6/yieldExpressions/YieldExpression12_es6.ts b/tests/cases/conformance/es6/yieldExpressions/YieldExpression12_es6.ts index 3ee6a464049..d48b94e90e2 100644 --- a/tests/cases/conformance/es6/yieldExpressions/YieldExpression12_es6.ts +++ b/tests/cases/conformance/es6/yieldExpressions/YieldExpression12_es6.ts @@ -1,3 +1,4 @@ +// @target: es6 class C { constructor() { yield foo diff --git a/tests/cases/conformance/es6/yieldExpressions/YieldExpression13_es6.ts b/tests/cases/conformance/es6/yieldExpressions/YieldExpression13_es6.ts index 2ac6f631465..946d971c9dc 100644 --- a/tests/cases/conformance/es6/yieldExpressions/YieldExpression13_es6.ts +++ b/tests/cases/conformance/es6/yieldExpressions/YieldExpression13_es6.ts @@ -1 +1,2 @@ +// @target: es6 function* foo() { yield } \ No newline at end of file diff --git a/tests/cases/conformance/es6/yieldExpressions/YieldExpression14_es6.ts b/tests/cases/conformance/es6/yieldExpressions/YieldExpression14_es6.ts index d545175c94a..10dfcdd1ff5 100644 --- a/tests/cases/conformance/es6/yieldExpressions/YieldExpression14_es6.ts +++ b/tests/cases/conformance/es6/yieldExpressions/YieldExpression14_es6.ts @@ -1,3 +1,4 @@ +// @target: es6 class C { foo() { yield foo diff --git a/tests/cases/conformance/es6/yieldExpressions/YieldExpression15_es6.ts b/tests/cases/conformance/es6/yieldExpressions/YieldExpression15_es6.ts index b2793208aaa..9ac8f1f29ac 100644 --- a/tests/cases/conformance/es6/yieldExpressions/YieldExpression15_es6.ts +++ b/tests/cases/conformance/es6/yieldExpressions/YieldExpression15_es6.ts @@ -1,3 +1,4 @@ +// @target: es6 var v = () => { yield foo } \ No newline at end of file diff --git a/tests/cases/conformance/es6/yieldExpressions/YieldExpression16_es6.ts b/tests/cases/conformance/es6/yieldExpressions/YieldExpression16_es6.ts index 1933df26ecf..780506a1d9a 100644 --- a/tests/cases/conformance/es6/yieldExpressions/YieldExpression16_es6.ts +++ b/tests/cases/conformance/es6/yieldExpressions/YieldExpression16_es6.ts @@ -1,3 +1,4 @@ +// @target: es6 function* foo() { function bar() { yield foo; diff --git a/tests/cases/conformance/es6/yieldExpressions/YieldExpression17_es6.ts b/tests/cases/conformance/es6/yieldExpressions/YieldExpression17_es6.ts index 7ef3a1fe350..ea69a1b6107 100644 --- a/tests/cases/conformance/es6/yieldExpressions/YieldExpression17_es6.ts +++ b/tests/cases/conformance/es6/yieldExpressions/YieldExpression17_es6.ts @@ -1 +1,2 @@ +// @target: es6 var v = { get foo() { yield foo; } } \ No newline at end of file diff --git a/tests/cases/conformance/es6/yieldExpressions/YieldExpression18_es6.ts b/tests/cases/conformance/es6/yieldExpressions/YieldExpression18_es6.ts index f91016aabf0..038e0a8882c 100644 --- a/tests/cases/conformance/es6/yieldExpressions/YieldExpression18_es6.ts +++ b/tests/cases/conformance/es6/yieldExpressions/YieldExpression18_es6.ts @@ -1,2 +1,3 @@ +// @target: es6 "use strict"; yield(foo); \ No newline at end of file diff --git a/tests/cases/conformance/es6/yieldExpressions/YieldExpression19_es6.ts b/tests/cases/conformance/es6/yieldExpressions/YieldExpression19_es6.ts index 0183d72ea61..c4d80c94e3e 100644 --- a/tests/cases/conformance/es6/yieldExpressions/YieldExpression19_es6.ts +++ b/tests/cases/conformance/es6/yieldExpressions/YieldExpression19_es6.ts @@ -1,3 +1,4 @@ +// @target: es6 function*foo() { function bar() { function* quux() { diff --git a/tests/cases/conformance/es6/yieldExpressions/YieldExpression1_es6.ts b/tests/cases/conformance/es6/yieldExpressions/YieldExpression1_es6.ts index bdbfe1e27a7..8228090b7e4 100644 --- a/tests/cases/conformance/es6/yieldExpressions/YieldExpression1_es6.ts +++ b/tests/cases/conformance/es6/yieldExpressions/YieldExpression1_es6.ts @@ -1 +1,2 @@ +// @target: es6 yield; \ No newline at end of file diff --git a/tests/cases/conformance/es6/yieldExpressions/YieldExpression2_es6.ts b/tests/cases/conformance/es6/yieldExpressions/YieldExpression2_es6.ts index 39bbe4e7eb0..c9ad464a267 100644 --- a/tests/cases/conformance/es6/yieldExpressions/YieldExpression2_es6.ts +++ b/tests/cases/conformance/es6/yieldExpressions/YieldExpression2_es6.ts @@ -1 +1,2 @@ +// @target: es6 yield foo; \ No newline at end of file diff --git a/tests/cases/conformance/es6/yieldExpressions/YieldExpression3_es6.ts b/tests/cases/conformance/es6/yieldExpressions/YieldExpression3_es6.ts index 04ae4b8d223..8cf089d33d3 100644 --- a/tests/cases/conformance/es6/yieldExpressions/YieldExpression3_es6.ts +++ b/tests/cases/conformance/es6/yieldExpressions/YieldExpression3_es6.ts @@ -1,3 +1,4 @@ +// @target: es6 function* foo() { yield yield diff --git a/tests/cases/conformance/es6/yieldExpressions/YieldExpression4_es6.ts b/tests/cases/conformance/es6/yieldExpressions/YieldExpression4_es6.ts index cd2f9708048..21b5d695d89 100644 --- a/tests/cases/conformance/es6/yieldExpressions/YieldExpression4_es6.ts +++ b/tests/cases/conformance/es6/yieldExpressions/YieldExpression4_es6.ts @@ -1,3 +1,4 @@ +// @target: es6 function* foo() { yield; yield; diff --git a/tests/cases/conformance/es6/yieldExpressions/YieldExpression5_es6.ts b/tests/cases/conformance/es6/yieldExpressions/YieldExpression5_es6.ts index af4b3a84d2f..031eec7329a 100644 --- a/tests/cases/conformance/es6/yieldExpressions/YieldExpression5_es6.ts +++ b/tests/cases/conformance/es6/yieldExpressions/YieldExpression5_es6.ts @@ -1,3 +1,4 @@ +// @target: es6 function* foo() { yield* } \ No newline at end of file diff --git a/tests/cases/conformance/es6/yieldExpressions/YieldExpression6_es6.ts b/tests/cases/conformance/es6/yieldExpressions/YieldExpression6_es6.ts index 87d307dcda0..bc4edfe2869 100644 --- a/tests/cases/conformance/es6/yieldExpressions/YieldExpression6_es6.ts +++ b/tests/cases/conformance/es6/yieldExpressions/YieldExpression6_es6.ts @@ -1,3 +1,4 @@ +// @target: es6 function* foo() { yield*foo } \ No newline at end of file diff --git a/tests/cases/conformance/es6/yieldExpressions/YieldExpression7_es6.ts b/tests/cases/conformance/es6/yieldExpressions/YieldExpression7_es6.ts index 0db38fd498b..ad089404de3 100644 --- a/tests/cases/conformance/es6/yieldExpressions/YieldExpression7_es6.ts +++ b/tests/cases/conformance/es6/yieldExpressions/YieldExpression7_es6.ts @@ -1,3 +1,4 @@ +// @target: es6 function* foo() { yield foo } \ No newline at end of file diff --git a/tests/cases/conformance/es6/yieldExpressions/YieldExpression8_es6.ts b/tests/cases/conformance/es6/yieldExpressions/YieldExpression8_es6.ts index b6b08301239..25c280b6491 100644 --- a/tests/cases/conformance/es6/yieldExpressions/YieldExpression8_es6.ts +++ b/tests/cases/conformance/es6/yieldExpressions/YieldExpression8_es6.ts @@ -1,3 +1,4 @@ +// @target: es6 yield(foo); function* foo() { yield(foo); diff --git a/tests/cases/conformance/es6/yieldExpressions/YieldExpression9_es6.ts b/tests/cases/conformance/es6/yieldExpressions/YieldExpression9_es6.ts index 9119deae832..d6676485d55 100644 --- a/tests/cases/conformance/es6/yieldExpressions/YieldExpression9_es6.ts +++ b/tests/cases/conformance/es6/yieldExpressions/YieldExpression9_es6.ts @@ -1,3 +1,4 @@ +// @target: es6 var v = function*() { yield(foo); } \ No newline at end of file diff --git a/tests/cases/conformance/es6/yieldExpressions/YieldStarExpression1_es6.ts b/tests/cases/conformance/es6/yieldExpressions/YieldStarExpression1_es6.ts index d0b2a172433..f4c0fcbb01e 100644 --- a/tests/cases/conformance/es6/yieldExpressions/YieldStarExpression1_es6.ts +++ b/tests/cases/conformance/es6/yieldExpressions/YieldStarExpression1_es6.ts @@ -1 +1,2 @@ +// @target: es6 yield * []; \ No newline at end of file diff --git a/tests/cases/conformance/es6/yieldExpressions/YieldStarExpression2_es6.ts b/tests/cases/conformance/es6/yieldExpressions/YieldStarExpression2_es6.ts index 9a618df4bd0..c6516e87606 100644 --- a/tests/cases/conformance/es6/yieldExpressions/YieldStarExpression2_es6.ts +++ b/tests/cases/conformance/es6/yieldExpressions/YieldStarExpression2_es6.ts @@ -1 +1,2 @@ +// @target: es6 yield *; \ No newline at end of file diff --git a/tests/cases/conformance/es6/yieldExpressions/YieldStarExpression3_es6.ts b/tests/cases/conformance/es6/yieldExpressions/YieldStarExpression3_es6.ts index 3384d609c16..44011617e1e 100644 --- a/tests/cases/conformance/es6/yieldExpressions/YieldStarExpression3_es6.ts +++ b/tests/cases/conformance/es6/yieldExpressions/YieldStarExpression3_es6.ts @@ -1,3 +1,4 @@ +// @target: es6 function *g() { yield *; } \ No newline at end of file diff --git a/tests/cases/conformance/es6/yieldExpressions/YieldStarExpression4_es6.ts b/tests/cases/conformance/es6/yieldExpressions/YieldStarExpression4_es6.ts index 4e652232e6a..d09e7b80045 100644 --- a/tests/cases/conformance/es6/yieldExpressions/YieldStarExpression4_es6.ts +++ b/tests/cases/conformance/es6/yieldExpressions/YieldStarExpression4_es6.ts @@ -1,3 +1,4 @@ +// @target: es6 function *g() { yield * []; } \ No newline at end of file