From f58e1a2b17ad5299e8ac9624e8a6d1619dc21ee4 Mon Sep 17 00:00:00 2001 From: Anders Hejlsberg Date: Wed, 14 Dec 2016 14:59:00 -0800 Subject: [PATCH 1/4] Map both declared properties and string index signatures --- src/compiler/checker.ts | 29 ++++++++++++++++++++--------- 1 file changed, 20 insertions(+), 9 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 26164a528f3..5246bbfc700 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -4536,15 +4536,27 @@ namespace ts { const typeParameter = getTypeParameterFromMappedType(type); const constraintType = getConstraintTypeFromMappedType(type); const templateType = getTemplateTypeFromMappedType(type); - const modifiersType = getModifiersTypeFromMappedType(type); + const modifiersType = getApparentType(getModifiersTypeFromMappedType(type)); const templateReadonly = !!type.declaration.readonlyToken; const templateOptional = !!type.declaration.questionToken; - // First, if the constraint type is a type parameter, obtain the base constraint. Then, - // if the key type is a 'keyof X', obtain 'keyof C' where C is the base constraint of X. - // Finally, iterate over the constituents of the resulting iteration type. - const keyType = constraintType.flags & TypeFlags.TypeVariable ? getApparentType(constraintType) : constraintType; - const iterationType = keyType.flags & TypeFlags.Index ? getIndexType(getApparentType((keyType).type)) : keyType; - forEachType(iterationType, t => { + if (type.declaration.typeParameter.constraint.kind === SyntaxKind.TypeOperator) { + // We have a { [P in keyof T]: X } + forEachType(getLiteralTypeFromPropertyNames(modifiersType), addMemberForKeyType); + if (getIndexInfoOfType(modifiersType, IndexKind.String)) { + addMemberForKeyType(stringType); + } + } + else { + // First, if the constraint type is a type parameter, obtain the base constraint. Then, + // if the key type is a 'keyof X', obtain 'keyof C' where C is the base constraint of X. + // Finally, iterate over the constituents of the resulting iteration type. + const keyType = constraintType.flags & TypeFlags.TypeVariable ? getApparentType(constraintType) : constraintType; + const iterationType = keyType.flags & TypeFlags.Index ? getIndexType(getApparentType((keyType).type)) : keyType; + forEachType(iterationType, addMemberForKeyType); + } + setStructuredTypeMembers(type, members, emptyArray, emptyArray, stringIndexInfo, undefined); + + function addMemberForKeyType(t: Type) { // Create a mapper from T to the current iteration type constituent. Then, if the // mapped type is itself an instantiated type, combine the iteration mapper with the // instantiation mapper. @@ -4565,8 +4577,7 @@ namespace ts { else if (t.flags & TypeFlags.String) { stringIndexInfo = createIndexInfo(propType, templateReadonly); } - }); - setStructuredTypeMembers(type, members, emptyArray, emptyArray, stringIndexInfo, undefined); + } } function getTypeParameterFromMappedType(type: MappedType) { From 6cd7454a9b7e3db223295c18d51a668c4eaddc4f Mon Sep 17 00:00:00 2001 From: Anders Hejlsberg Date: Wed, 14 Dec 2016 14:59:10 -0800 Subject: [PATCH 2/4] Add tests --- .../types/mapped/mappedTypeErrors.ts | 6 +++++ .../types/mapped/mappedTypeModifiers.ts | 25 ++++++++++++++++++- 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/tests/cases/conformance/types/mapped/mappedTypeErrors.ts b/tests/cases/conformance/types/mapped/mappedTypeErrors.ts index 4be6b6b098d..458dbe9caa4 100644 --- a/tests/cases/conformance/types/mapped/mappedTypeErrors.ts +++ b/tests/cases/conformance/types/mapped/mappedTypeErrors.ts @@ -125,3 +125,9 @@ c.setState({ }); c.setState(foo); c.setState({ a: undefined }); // Error c.setState({ c: true }); // Error + +type T2 = { a?: number, [key: string]: any }; + +let x1: T2 = { a: 'no' }; // Error +let x2: Partial = { a: 'no' }; // Error +let x3: { [P in keyof T2]: T2[P]} = { a: 'no' }; // Error \ No newline at end of file diff --git a/tests/cases/conformance/types/mapped/mappedTypeModifiers.ts b/tests/cases/conformance/types/mapped/mappedTypeModifiers.ts index 1fe6872965c..a111d186d16 100644 --- a/tests/cases/conformance/types/mapped/mappedTypeModifiers.ts +++ b/tests/cases/conformance/types/mapped/mappedTypeModifiers.ts @@ -1,4 +1,5 @@ // @strictNullChecks: true +// @noimplicitany: true type T = { a: number, b: string }; type TP = { a?: number, b?: string }; @@ -74,4 +75,26 @@ var b04: Readonly; var b04: Partial>; var b04: Readonly>; var b04: { [P in keyof BPR]: BPR[P] } -var b04: Pick; \ No newline at end of file +var b04: Pick; + +type Foo = { prop: number, [x: string]: number }; + +function f1(x: Partial) { + x.prop; // ok + (x["other"] || 0).toFixed(); +} + +function f2(x: Readonly) { + x.prop; // ok + x["other"].toFixed(); +} + +function f3(x: Boxified) { + x.prop; // ok + x["other"].x.toFixed(); +} + +function f4(x: { [P in keyof Foo]: Foo[P] }) { + x.prop; // ok + x["other"].toFixed(); +} From a597d3c2666b73596b123358f2e5bedad6f29d2e Mon Sep 17 00:00:00 2001 From: Anders Hejlsberg Date: Wed, 14 Dec 2016 15:03:13 -0800 Subject: [PATCH 3/4] Accept new baselines --- .../reference/mappedTypeErrors.errors.txt | 30 +++++- tests/baselines/reference/mappedTypeErrors.js | 19 +++- .../reference/mappedTypeModifiers.js | 41 ++++++++- .../reference/mappedTypeModifiers.symbols | 77 ++++++++++++++++ .../reference/mappedTypeModifiers.types | 92 +++++++++++++++++++ 5 files changed, 255 insertions(+), 4 deletions(-) diff --git a/tests/baselines/reference/mappedTypeErrors.errors.txt b/tests/baselines/reference/mappedTypeErrors.errors.txt index 17c77fa50a0..f98a11dbaf9 100644 --- a/tests/baselines/reference/mappedTypeErrors.errors.txt +++ b/tests/baselines/reference/mappedTypeErrors.errors.txt @@ -36,9 +36,18 @@ tests/cases/conformance/types/mapped/mappedTypeErrors.ts(124,12): error TS2345: Type 'undefined' is not assignable to type 'string'. tests/cases/conformance/types/mapped/mappedTypeErrors.ts(125,14): error TS2345: Argument of type '{ c: boolean; }' is not assignable to parameter of type 'Pick'. Object literal may only specify known properties, and 'c' does not exist in type 'Pick'. +tests/cases/conformance/types/mapped/mappedTypeErrors.ts(129,5): error TS2322: Type '{ a: string; }' is not assignable to type 'T2'. + Types of property 'a' are incompatible. + Type 'string' is not assignable to type 'number | undefined'. +tests/cases/conformance/types/mapped/mappedTypeErrors.ts(130,5): error TS2322: Type '{ a: string; }' is not assignable to type 'Partial'. + Types of property 'a' are incompatible. + Type 'string' is not assignable to type 'number | undefined'. +tests/cases/conformance/types/mapped/mappedTypeErrors.ts(131,5): error TS2322: Type '{ a: string; }' is not assignable to type '{ [x: string]: any; a?: number | undefined; }'. + Types of property 'a' are incompatible. + Type 'string' is not assignable to type 'number | undefined'. -==== tests/cases/conformance/types/mapped/mappedTypeErrors.ts (21 errors) ==== +==== tests/cases/conformance/types/mapped/mappedTypeErrors.ts (24 errors) ==== interface Shape { name: string; @@ -223,4 +232,21 @@ tests/cases/conformance/types/mapped/mappedTypeErrors.ts(125,14): error TS2345: ~~~~~~~ !!! error TS2345: Argument of type '{ c: boolean; }' is not assignable to parameter of type 'Pick'. !!! error TS2345: Object literal may only specify known properties, and 'c' does not exist in type 'Pick'. - \ No newline at end of file + + type T2 = { a?: number, [key: string]: any }; + + let x1: T2 = { a: 'no' }; // Error + ~~ +!!! error TS2322: Type '{ a: string; }' is not assignable to type 'T2'. +!!! error TS2322: Types of property 'a' are incompatible. +!!! error TS2322: Type 'string' is not assignable to type 'number | undefined'. + let x2: Partial = { a: 'no' }; // Error + ~~ +!!! error TS2322: Type '{ a: string; }' is not assignable to type 'Partial'. +!!! error TS2322: Types of property 'a' are incompatible. +!!! error TS2322: Type 'string' is not assignable to type 'number | undefined'. + let x3: { [P in keyof T2]: T2[P]} = { a: 'no' }; // Error + ~~ +!!! error TS2322: Type '{ a: string; }' is not assignable to type '{ [x: string]: any; a?: number | undefined; }'. +!!! error TS2322: Types of property 'a' are incompatible. +!!! error TS2322: Type 'string' is not assignable to type 'number | undefined'. \ No newline at end of file diff --git a/tests/baselines/reference/mappedTypeErrors.js b/tests/baselines/reference/mappedTypeErrors.js index e1b458565bb..83dc235c705 100644 --- a/tests/baselines/reference/mappedTypeErrors.js +++ b/tests/baselines/reference/mappedTypeErrors.js @@ -124,7 +124,12 @@ c.setState({ }); c.setState(foo); c.setState({ a: undefined }); // Error c.setState({ c: true }); // Error - + +type T2 = { a?: number, [key: string]: any }; + +let x1: T2 = { a: 'no' }; // Error +let x2: Partial = { a: 'no' }; // Error +let x3: { [P in keyof T2]: T2[P]} = { a: 'no' }; // Error //// [mappedTypeErrors.js] function f1(x) { @@ -196,6 +201,9 @@ c.setState({}); c.setState(foo); c.setState({ a: undefined }); // Error c.setState({ c: true }); // Error +var x1 = { a: 'no' }; // Error +var x2 = { a: 'no' }; // Error +var x3 = { a: 'no' }; // Error //// [mappedTypeErrors.d.ts] @@ -251,3 +259,12 @@ declare class C { setState(props: Pick): void; } declare let c: C; +declare type T2 = { + a?: number; + [key: string]: any; +}; +declare let x1: T2; +declare let x2: Partial; +declare let x3: { + [P in keyof T2]: T2[P]; +}; diff --git a/tests/baselines/reference/mappedTypeModifiers.js b/tests/baselines/reference/mappedTypeModifiers.js index 6291fb9c42b..a247d18f2d4 100644 --- a/tests/baselines/reference/mappedTypeModifiers.js +++ b/tests/baselines/reference/mappedTypeModifiers.js @@ -74,7 +74,30 @@ var b04: Readonly; var b04: Partial>; var b04: Readonly>; var b04: { [P in keyof BPR]: BPR[P] } -var b04: Pick; +var b04: Pick; + +type Foo = { prop: number, [x: string]: number }; + +function f1(x: Partial) { + x.prop; // ok + (x["other"] || 0).toFixed(); +} + +function f2(x: Readonly) { + x.prop; // ok + x["other"].toFixed(); +} + +function f3(x: Boxified) { + x.prop; // ok + x["other"].x.toFixed(); +} + +function f4(x: { [P in keyof Foo]: Foo[P] }) { + x.prop; // ok + x["other"].toFixed(); +} + //// [mappedTypeModifiers.js] var v00; @@ -131,3 +154,19 @@ var b04; var b04; var b04; var b04; +function f1(x) { + x.prop; // ok + (x["other"] || 0).toFixed(); +} +function f2(x) { + x.prop; // ok + x["other"].toFixed(); +} +function f3(x) { + x.prop; // ok + x["other"].x.toFixed(); +} +function f4(x) { + x.prop; // ok + x["other"].toFixed(); +} diff --git a/tests/baselines/reference/mappedTypeModifiers.symbols b/tests/baselines/reference/mappedTypeModifiers.symbols index 5138055d08b..b2b8faed4cf 100644 --- a/tests/baselines/reference/mappedTypeModifiers.symbols +++ b/tests/baselines/reference/mappedTypeModifiers.symbols @@ -353,3 +353,80 @@ var b04: Pick; >BPR : Symbol(BPR, Decl(mappedTypeModifiers.ts, 42, 67)) >BPR : Symbol(BPR, Decl(mappedTypeModifiers.ts, 42, 67)) +type Foo = { prop: number, [x: string]: number }; +>Foo : Symbol(Foo, Decl(mappedTypeModifiers.ts, 75, 30)) +>prop : Symbol(prop, Decl(mappedTypeModifiers.ts, 77, 12)) +>x : Symbol(x, Decl(mappedTypeModifiers.ts, 77, 28)) + +function f1(x: Partial) { +>f1 : Symbol(f1, Decl(mappedTypeModifiers.ts, 77, 49)) +>x : Symbol(x, Decl(mappedTypeModifiers.ts, 79, 12)) +>Partial : Symbol(Partial, Decl(lib.d.ts, --, --)) +>Foo : Symbol(Foo, Decl(mappedTypeModifiers.ts, 75, 30)) + + x.prop; // ok +>x.prop : Symbol(prop) +>x : Symbol(x, Decl(mappedTypeModifiers.ts, 79, 12)) +>prop : Symbol(prop) + + (x["other"] || 0).toFixed(); +>(x["other"] || 0).toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>x : Symbol(x, Decl(mappedTypeModifiers.ts, 79, 12)) +>toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +} + +function f2(x: Readonly) { +>f2 : Symbol(f2, Decl(mappedTypeModifiers.ts, 82, 1)) +>x : Symbol(x, Decl(mappedTypeModifiers.ts, 84, 12)) +>Readonly : Symbol(Readonly, Decl(lib.d.ts, --, --)) +>Foo : Symbol(Foo, Decl(mappedTypeModifiers.ts, 75, 30)) + + x.prop; // ok +>x.prop : Symbol(prop) +>x : Symbol(x, Decl(mappedTypeModifiers.ts, 84, 12)) +>prop : Symbol(prop) + + x["other"].toFixed(); +>x["other"].toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>x : Symbol(x, Decl(mappedTypeModifiers.ts, 84, 12)) +>toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +} + +function f3(x: Boxified) { +>f3 : Symbol(f3, Decl(mappedTypeModifiers.ts, 87, 1)) +>x : Symbol(x, Decl(mappedTypeModifiers.ts, 89, 12)) +>Boxified : Symbol(Boxified, Decl(mappedTypeModifiers.ts, 36, 28)) +>Foo : Symbol(Foo, Decl(mappedTypeModifiers.ts, 75, 30)) + + x.prop; // ok +>x.prop : Symbol(prop) +>x : Symbol(x, Decl(mappedTypeModifiers.ts, 89, 12)) +>prop : Symbol(prop) + + x["other"].x.toFixed(); +>x["other"].x.toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>x["other"].x : Symbol(x, Decl(mappedTypeModifiers.ts, 38, 38)) +>x : Symbol(x, Decl(mappedTypeModifiers.ts, 89, 12)) +>x : Symbol(x, Decl(mappedTypeModifiers.ts, 38, 38)) +>toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +} + +function f4(x: { [P in keyof Foo]: Foo[P] }) { +>f4 : Symbol(f4, Decl(mappedTypeModifiers.ts, 92, 1)) +>x : Symbol(x, Decl(mappedTypeModifiers.ts, 94, 12)) +>P : Symbol(P, Decl(mappedTypeModifiers.ts, 94, 18)) +>Foo : Symbol(Foo, Decl(mappedTypeModifiers.ts, 75, 30)) +>Foo : Symbol(Foo, Decl(mappedTypeModifiers.ts, 75, 30)) +>P : Symbol(P, Decl(mappedTypeModifiers.ts, 94, 18)) + + x.prop; // ok +>x.prop : Symbol(prop) +>x : Symbol(x, Decl(mappedTypeModifiers.ts, 94, 12)) +>prop : Symbol(prop) + + x["other"].toFixed(); +>x["other"].toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +>x : Symbol(x, Decl(mappedTypeModifiers.ts, 94, 12)) +>toFixed : Symbol(Number.toFixed, Decl(lib.d.ts, --, --)) +} + diff --git a/tests/baselines/reference/mappedTypeModifiers.types b/tests/baselines/reference/mappedTypeModifiers.types index 7a30e227bd6..7771de023f1 100644 --- a/tests/baselines/reference/mappedTypeModifiers.types +++ b/tests/baselines/reference/mappedTypeModifiers.types @@ -353,3 +353,95 @@ var b04: Pick; >BPR : BPR >BPR : BPR +type Foo = { prop: number, [x: string]: number }; +>Foo : Foo +>prop : number +>x : string + +function f1(x: Partial) { +>f1 : (x: Partial) => void +>x : Partial +>Partial : Partial +>Foo : Foo + + x.prop; // ok +>x.prop : number | undefined +>x : Partial +>prop : number | undefined + + (x["other"] || 0).toFixed(); +>(x["other"] || 0).toFixed() : string +>(x["other"] || 0).toFixed : (fractionDigits?: number | undefined) => string +>(x["other"] || 0) : number +>x["other"] || 0 : number +>x["other"] : number | undefined +>x : Partial +>"other" : "other" +>0 : 0 +>toFixed : (fractionDigits?: number | undefined) => string +} + +function f2(x: Readonly) { +>f2 : (x: Readonly) => void +>x : Readonly +>Readonly : Readonly +>Foo : Foo + + x.prop; // ok +>x.prop : number +>x : Readonly +>prop : number + + x["other"].toFixed(); +>x["other"].toFixed() : string +>x["other"].toFixed : (fractionDigits?: number | undefined) => string +>x["other"] : number +>x : Readonly +>"other" : "other" +>toFixed : (fractionDigits?: number | undefined) => string +} + +function f3(x: Boxified) { +>f3 : (x: Boxified) => void +>x : Boxified +>Boxified : Boxified +>Foo : Foo + + x.prop; // ok +>x.prop : { x: number; } +>x : Boxified +>prop : { x: number; } + + x["other"].x.toFixed(); +>x["other"].x.toFixed() : string +>x["other"].x.toFixed : (fractionDigits?: number | undefined) => string +>x["other"].x : number +>x["other"] : { x: number; } +>x : Boxified +>"other" : "other" +>x : number +>toFixed : (fractionDigits?: number | undefined) => string +} + +function f4(x: { [P in keyof Foo]: Foo[P] }) { +>f4 : (x: { [x: string]: number; prop: number; }) => void +>x : { [x: string]: number; prop: number; } +>P : P +>Foo : Foo +>Foo : Foo +>P : P + + x.prop; // ok +>x.prop : number +>x : { [x: string]: number; prop: number; } +>prop : number + + x["other"].toFixed(); +>x["other"].toFixed() : string +>x["other"].toFixed : (fractionDigits?: number | undefined) => string +>x["other"] : number +>x : { [x: string]: number; prop: number; } +>"other" : "other" +>toFixed : (fractionDigits?: number | undefined) => string +} + From b0f42f04eea70f4912fd85ef8d48cafda31e3107 Mon Sep 17 00:00:00 2001 From: Bill Ticehurst Date: Mon, 12 Dec 2016 18:20:09 -0800 Subject: [PATCH 4/4] Fix __awaiter helper for IE8 compat --- src/compiler/transformers/es2017.ts | 2 +- tests/baselines/reference/asyncAwaitIsolatedModules_es5.js | 2 +- tests/baselines/reference/asyncAwaitIsolatedModules_es6.js | 2 +- tests/baselines/reference/asyncAwait_es5.js | 2 +- tests/baselines/reference/asyncAwait_es6.js | 2 +- tests/baselines/reference/asyncFunctionNoReturnType.js | 2 +- tests/baselines/reference/asyncFunctionReturnType.js | 2 +- tests/baselines/reference/asyncFunctionsAcrossFiles.js | 4 ++-- .../baselines/reference/asyncFunctionsAndStrictNullChecks.js | 2 +- tests/baselines/reference/asyncIIFE.js | 2 +- tests/baselines/reference/asyncImportedPromise_es5.js | 2 +- tests/baselines/reference/asyncImportedPromise_es6.js | 2 +- tests/baselines/reference/asyncMultiFile_es5.js | 2 +- tests/baselines/reference/asyncMultiFile_es6.js | 2 +- tests/baselines/reference/await_unaryExpression_es6.js | 2 +- tests/baselines/reference/await_unaryExpression_es6_1.js | 2 +- tests/baselines/reference/await_unaryExpression_es6_2.js | 2 +- tests/baselines/reference/await_unaryExpression_es6_3.js | 2 +- tests/baselines/reference/castOfAwait.js | 2 +- tests/baselines/reference/declarationEmitPromise.js | 2 +- tests/baselines/reference/decoratorMetadataPromise.js | 2 +- tests/baselines/reference/defaultExportInAwaitExpression01.js | 2 +- tests/baselines/reference/defaultExportInAwaitExpression02.js | 2 +- tests/baselines/reference/es5-asyncFunction.js | 2 +- tests/baselines/reference/es5-importHelpersAsyncFunctions.js | 2 +- tests/baselines/reference/exportDefaultAsyncFunction.js | 2 +- tests/baselines/reference/exportDefaultAsyncFunction2.js | 2 +- tests/baselines/reference/inferenceLimit.js | 2 +- .../modularizeLibrary_NoErrorDuplicateLibOptions1.js | 2 +- .../modularizeLibrary_NoErrorDuplicateLibOptions2.js | 2 +- .../reference/modularizeLibrary_TargetES5UsingES6Lib.js | 2 +- tests/baselines/reference/noImplicitReturnsInAsync1.js | 2 +- tests/baselines/reference/noImplicitReturnsInAsync2.js | 2 +- tests/baselines/reference/objectRest2.js | 2 +- tests/baselines/reference/promiseType.js | 2 +- tests/baselines/reference/promiseTypeStrictNull.js | 2 +- tests/baselines/reference/reachabilityChecks7.js | 2 +- tests/baselines/reference/transformNestedGeneratorsWithTry.js | 2 +- 38 files changed, 39 insertions(+), 39 deletions(-) diff --git a/src/compiler/transformers/es2017.ts b/src/compiler/transformers/es2017.ts index 14f840f2e66..c87dbe32518 100644 --- a/src/compiler/transformers/es2017.ts +++ b/src/compiler/transformers/es2017.ts @@ -494,7 +494,7 @@ namespace ts { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments)).next()); + step((generator = generator.apply(thisArg, _arguments || [])).next()); }); };` }; diff --git a/tests/baselines/reference/asyncAwaitIsolatedModules_es5.js b/tests/baselines/reference/asyncAwaitIsolatedModules_es5.js index 2f11dddf7de..49404267009 100644 --- a/tests/baselines/reference/asyncAwaitIsolatedModules_es5.js +++ b/tests/baselines/reference/asyncAwaitIsolatedModules_es5.js @@ -46,7 +46,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments)).next()); + step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; var __generator = (this && this.__generator) || function (thisArg, body) { diff --git a/tests/baselines/reference/asyncAwaitIsolatedModules_es6.js b/tests/baselines/reference/asyncAwaitIsolatedModules_es6.js index 98d11d72bfb..046b74e6569 100644 --- a/tests/baselines/reference/asyncAwaitIsolatedModules_es6.js +++ b/tests/baselines/reference/asyncAwaitIsolatedModules_es6.js @@ -45,7 +45,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments)).next()); + step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; function f0() { diff --git a/tests/baselines/reference/asyncAwait_es5.js b/tests/baselines/reference/asyncAwait_es5.js index 043e68abeab..e4dc62ea1cf 100644 --- a/tests/baselines/reference/asyncAwait_es5.js +++ b/tests/baselines/reference/asyncAwait_es5.js @@ -45,7 +45,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments)).next()); + step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; var __generator = (this && this.__generator) || function (thisArg, body) { diff --git a/tests/baselines/reference/asyncAwait_es6.js b/tests/baselines/reference/asyncAwait_es6.js index 4ba9e096e10..d6635098aed 100644 --- a/tests/baselines/reference/asyncAwait_es6.js +++ b/tests/baselines/reference/asyncAwait_es6.js @@ -45,7 +45,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments)).next()); + step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; function f0() { diff --git a/tests/baselines/reference/asyncFunctionNoReturnType.js b/tests/baselines/reference/asyncFunctionNoReturnType.js index fd39fc74d0e..b1c55416566 100644 --- a/tests/baselines/reference/asyncFunctionNoReturnType.js +++ b/tests/baselines/reference/asyncFunctionNoReturnType.js @@ -11,7 +11,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments)).next()); + step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; var __generator = (this && this.__generator) || function (thisArg, body) { diff --git a/tests/baselines/reference/asyncFunctionReturnType.js b/tests/baselines/reference/asyncFunctionReturnType.js index 76f9952ab9f..dcdead47c6b 100644 --- a/tests/baselines/reference/asyncFunctionReturnType.js +++ b/tests/baselines/reference/asyncFunctionReturnType.js @@ -16,7 +16,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments)).next()); + step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; function fAsync() { diff --git a/tests/baselines/reference/asyncFunctionsAcrossFiles.js b/tests/baselines/reference/asyncFunctionsAcrossFiles.js index e9b5710dc07..b1a766e4e41 100644 --- a/tests/baselines/reference/asyncFunctionsAcrossFiles.js +++ b/tests/baselines/reference/asyncFunctionsAcrossFiles.js @@ -21,7 +21,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments)).next()); + step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; import { a } from './a'; @@ -36,7 +36,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments)).next()); + step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; import { b } from './b'; diff --git a/tests/baselines/reference/asyncFunctionsAndStrictNullChecks.js b/tests/baselines/reference/asyncFunctionsAndStrictNullChecks.js index ac9a558a53f..50ecbbb2beb 100644 --- a/tests/baselines/reference/asyncFunctionsAndStrictNullChecks.js +++ b/tests/baselines/reference/asyncFunctionsAndStrictNullChecks.js @@ -32,7 +32,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments)).next()); + step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; function sample(promise) { diff --git a/tests/baselines/reference/asyncIIFE.js b/tests/baselines/reference/asyncIIFE.js index 79779af62f3..2460dbdf26b 100644 --- a/tests/baselines/reference/asyncIIFE.js +++ b/tests/baselines/reference/asyncIIFE.js @@ -16,7 +16,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments)).next()); + step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; function f1() { diff --git a/tests/baselines/reference/asyncImportedPromise_es5.js b/tests/baselines/reference/asyncImportedPromise_es5.js index e5c28eb2dc1..641b8e0381f 100644 --- a/tests/baselines/reference/asyncImportedPromise_es5.js +++ b/tests/baselines/reference/asyncImportedPromise_es5.js @@ -31,7 +31,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments)).next()); + step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; var __generator = (this && this.__generator) || function (thisArg, body) { diff --git a/tests/baselines/reference/asyncImportedPromise_es6.js b/tests/baselines/reference/asyncImportedPromise_es6.js index 17c9de51ee6..6c6e34e7b1d 100644 --- a/tests/baselines/reference/asyncImportedPromise_es6.js +++ b/tests/baselines/reference/asyncImportedPromise_es6.js @@ -21,7 +21,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments)).next()); + step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; class Test { diff --git a/tests/baselines/reference/asyncMultiFile_es5.js b/tests/baselines/reference/asyncMultiFile_es5.js index 6b44f5393fc..547135e5c19 100644 --- a/tests/baselines/reference/asyncMultiFile_es5.js +++ b/tests/baselines/reference/asyncMultiFile_es5.js @@ -11,7 +11,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments)).next()); + step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; var __generator = (this && this.__generator) || function (thisArg, body) { diff --git a/tests/baselines/reference/asyncMultiFile_es6.js b/tests/baselines/reference/asyncMultiFile_es6.js index 0c45aa6c8a3..e7dd854b95b 100644 --- a/tests/baselines/reference/asyncMultiFile_es6.js +++ b/tests/baselines/reference/asyncMultiFile_es6.js @@ -11,7 +11,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments)).next()); + step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; function f() { diff --git a/tests/baselines/reference/await_unaryExpression_es6.js b/tests/baselines/reference/await_unaryExpression_es6.js index 6609cc6f3f4..f9183f7af3e 100644 --- a/tests/baselines/reference/await_unaryExpression_es6.js +++ b/tests/baselines/reference/await_unaryExpression_es6.js @@ -22,7 +22,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments)).next()); + step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; function bar() { diff --git a/tests/baselines/reference/await_unaryExpression_es6_1.js b/tests/baselines/reference/await_unaryExpression_es6_1.js index 48f50d76f4a..948e537cb01 100644 --- a/tests/baselines/reference/await_unaryExpression_es6_1.js +++ b/tests/baselines/reference/await_unaryExpression_es6_1.js @@ -26,7 +26,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments)).next()); + step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; function bar() { diff --git a/tests/baselines/reference/await_unaryExpression_es6_2.js b/tests/baselines/reference/await_unaryExpression_es6_2.js index 5e9d63a21d2..4b4c1cd6513 100644 --- a/tests/baselines/reference/await_unaryExpression_es6_2.js +++ b/tests/baselines/reference/await_unaryExpression_es6_2.js @@ -18,7 +18,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments)).next()); + step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; function bar1() { diff --git a/tests/baselines/reference/await_unaryExpression_es6_3.js b/tests/baselines/reference/await_unaryExpression_es6_3.js index 469c8ea3ee9..6db5d5a7c31 100644 --- a/tests/baselines/reference/await_unaryExpression_es6_3.js +++ b/tests/baselines/reference/await_unaryExpression_es6_3.js @@ -24,7 +24,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments)).next()); + step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; function bar1() { diff --git a/tests/baselines/reference/castOfAwait.js b/tests/baselines/reference/castOfAwait.js index 1f66d49e0f3..9f67f74b11b 100644 --- a/tests/baselines/reference/castOfAwait.js +++ b/tests/baselines/reference/castOfAwait.js @@ -14,7 +14,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments)).next()); + step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; function f() { diff --git a/tests/baselines/reference/declarationEmitPromise.js b/tests/baselines/reference/declarationEmitPromise.js index e6f3f922b46..9e820a789c9 100644 --- a/tests/baselines/reference/declarationEmitPromise.js +++ b/tests/baselines/reference/declarationEmitPromise.js @@ -29,7 +29,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments)).next()); + step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; class bluebird { diff --git a/tests/baselines/reference/decoratorMetadataPromise.js b/tests/baselines/reference/decoratorMetadataPromise.js index 52449f91755..23491449dfa 100644 --- a/tests/baselines/reference/decoratorMetadataPromise.js +++ b/tests/baselines/reference/decoratorMetadataPromise.js @@ -27,7 +27,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments)).next()); + step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; class A { diff --git a/tests/baselines/reference/defaultExportInAwaitExpression01.js b/tests/baselines/reference/defaultExportInAwaitExpression01.js index a16e2f07f5f..9a122ae99c5 100644 --- a/tests/baselines/reference/defaultExportInAwaitExpression01.js +++ b/tests/baselines/reference/defaultExportInAwaitExpression01.js @@ -32,7 +32,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments)).next()); + step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; (function (dependencies, factory) { diff --git a/tests/baselines/reference/defaultExportInAwaitExpression02.js b/tests/baselines/reference/defaultExportInAwaitExpression02.js index db05d62a2ad..8499164f675 100644 --- a/tests/baselines/reference/defaultExportInAwaitExpression02.js +++ b/tests/baselines/reference/defaultExportInAwaitExpression02.js @@ -24,7 +24,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments)).next()); + step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; const a_1 = require("./a"); diff --git a/tests/baselines/reference/es5-asyncFunction.js b/tests/baselines/reference/es5-asyncFunction.js index 5123566dc8c..6f04c7ed7ef 100644 --- a/tests/baselines/reference/es5-asyncFunction.js +++ b/tests/baselines/reference/es5-asyncFunction.js @@ -14,7 +14,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments)).next()); + step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; var __generator = (this && this.__generator) || function (thisArg, body) { diff --git a/tests/baselines/reference/es5-importHelpersAsyncFunctions.js b/tests/baselines/reference/es5-importHelpersAsyncFunctions.js index 0fd308cee3b..71c4af8d559 100644 --- a/tests/baselines/reference/es5-importHelpersAsyncFunctions.js +++ b/tests/baselines/reference/es5-importHelpersAsyncFunctions.js @@ -34,7 +34,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments)).next()); + step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; var __generator = (this && this.__generator) || function (thisArg, body) { diff --git a/tests/baselines/reference/exportDefaultAsyncFunction.js b/tests/baselines/reference/exportDefaultAsyncFunction.js index 22f686b6ec8..9931d1f1eea 100644 --- a/tests/baselines/reference/exportDefaultAsyncFunction.js +++ b/tests/baselines/reference/exportDefaultAsyncFunction.js @@ -9,7 +9,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments)).next()); + step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; export default function foo() { diff --git a/tests/baselines/reference/exportDefaultAsyncFunction2.js b/tests/baselines/reference/exportDefaultAsyncFunction2.js index aed6eb6c879..7b79bed9408 100644 --- a/tests/baselines/reference/exportDefaultAsyncFunction2.js +++ b/tests/baselines/reference/exportDefaultAsyncFunction2.js @@ -40,7 +40,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments)).next()); + step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; export default () => __awaiter(this, void 0, void 0, function* () { return 0; }); diff --git a/tests/baselines/reference/inferenceLimit.js b/tests/baselines/reference/inferenceLimit.js index b9423ebd655..84f0989e987 100644 --- a/tests/baselines/reference/inferenceLimit.js +++ b/tests/baselines/reference/inferenceLimit.js @@ -49,7 +49,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments)).next()); + step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; class BrokenClass { diff --git a/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions1.js b/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions1.js index 180b53028ff..b83efdce890 100644 --- a/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions1.js +++ b/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions1.js @@ -87,7 +87,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments)).next()); + step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; // Using Es6 array diff --git a/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions2.js b/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions2.js index cf69f260223..32d7135916b 100644 --- a/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions2.js +++ b/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions2.js @@ -87,7 +87,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments)).next()); + step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; // Using Es6 array diff --git a/tests/baselines/reference/modularizeLibrary_TargetES5UsingES6Lib.js b/tests/baselines/reference/modularizeLibrary_TargetES5UsingES6Lib.js index 350113ec6a0..d0de3c93da0 100644 --- a/tests/baselines/reference/modularizeLibrary_TargetES5UsingES6Lib.js +++ b/tests/baselines/reference/modularizeLibrary_TargetES5UsingES6Lib.js @@ -87,7 +87,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments)).next()); + step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; // Using Es6 array diff --git a/tests/baselines/reference/noImplicitReturnsInAsync1.js b/tests/baselines/reference/noImplicitReturnsInAsync1.js index 5274264a6b1..5ab86a91d3b 100644 --- a/tests/baselines/reference/noImplicitReturnsInAsync1.js +++ b/tests/baselines/reference/noImplicitReturnsInAsync1.js @@ -13,7 +13,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments)).next()); + step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; function test(isError = false) { diff --git a/tests/baselines/reference/noImplicitReturnsInAsync2.js b/tests/baselines/reference/noImplicitReturnsInAsync2.js index 93f8c97d1fb..7e7f22bd691 100644 --- a/tests/baselines/reference/noImplicitReturnsInAsync2.js +++ b/tests/baselines/reference/noImplicitReturnsInAsync2.js @@ -42,7 +42,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments)).next()); + step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; // Should be an error, Promise, currently retorted correctly diff --git a/tests/baselines/reference/objectRest2.js b/tests/baselines/reference/objectRest2.js index e21c8c79853..6abff9e56a1 100644 --- a/tests/baselines/reference/objectRest2.js +++ b/tests/baselines/reference/objectRest2.js @@ -28,7 +28,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments)).next()); + step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; function rootConnection(name) { diff --git a/tests/baselines/reference/promiseType.js b/tests/baselines/reference/promiseType.js index 9fbdb2ab2b6..4e42ea24073 100644 --- a/tests/baselines/reference/promiseType.js +++ b/tests/baselines/reference/promiseType.js @@ -161,7 +161,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments)).next()); + step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; const a = p.then(); diff --git a/tests/baselines/reference/promiseTypeStrictNull.js b/tests/baselines/reference/promiseTypeStrictNull.js index 8c5cef4c7c4..4aefeb3403e 100644 --- a/tests/baselines/reference/promiseTypeStrictNull.js +++ b/tests/baselines/reference/promiseTypeStrictNull.js @@ -161,7 +161,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments)).next()); + step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; const a = p.then(); diff --git a/tests/baselines/reference/reachabilityChecks7.js b/tests/baselines/reference/reachabilityChecks7.js index b8334f4276b..c17472205a4 100644 --- a/tests/baselines/reference/reachabilityChecks7.js +++ b/tests/baselines/reference/reachabilityChecks7.js @@ -36,7 +36,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments)).next()); + step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; // async function without return type annotation - error diff --git a/tests/baselines/reference/transformNestedGeneratorsWithTry.js b/tests/baselines/reference/transformNestedGeneratorsWithTry.js index 69273e62633..7c3597ddc4b 100644 --- a/tests/baselines/reference/transformNestedGeneratorsWithTry.js +++ b/tests/baselines/reference/transformNestedGeneratorsWithTry.js @@ -29,7 +29,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments)).next()); + step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; var __generator = (this && this.__generator) || function (thisArg, body) {