diff --git a/src/compiler/factory/emitHelpers.ts b/src/compiler/factory/emitHelpers.ts index 15f86bf5a43fa..212c141a6f93a 100644 --- a/src/compiler/factory/emitHelpers.ts +++ b/src/compiler/factory/emitHelpers.ts @@ -843,6 +843,7 @@ namespace ts { // Class fields helpers export const classPrivateFieldGetHelper: UnscopedEmitHelper = { name: "typescript:classPrivateFieldGet", + importName: "__classPrivateFieldGet", scoped: false, text: ` var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, privateMap) { @@ -855,6 +856,7 @@ namespace ts { export const classPrivateFieldSetHelper: UnscopedEmitHelper = { name: "typescript:classPrivateFieldSet", + importName: "__classPrivateFieldSet", scoped: false, text: ` var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, privateMap, value) { diff --git a/tests/baselines/reference/importHelpersES6.js b/tests/baselines/reference/importHelpersES6.js index 9eb0e980c0f8c..293ee8e28875b 100644 --- a/tests/baselines/reference/importHelpersES6.js +++ b/tests/baselines/reference/importHelpersES6.js @@ -3,7 +3,8 @@ //// [a.ts] declare var dec: any; @dec export class A { - + #x: number = 1; + async f() { this.#x = await this.#x; } } const o = { a: 1 }; @@ -15,12 +16,21 @@ export declare function __decorate(decorators: Function[], target: any, key?: st export declare function __param(paramIndex: number, decorator: Function): Function; export declare function __metadata(metadataKey: any, metadataValue: any): Function; export declare function __awaiter(thisArg: any, _arguments: any, P: Function, generator: Function): any; - +export declare function __classPrivateFieldGet(): any; +export declare function __classPrivateFieldSet(): any; //// [a.js] -import { __decorate } from "tslib"; +var _x; +import { __awaiter, __classPrivateFieldGet, __classPrivateFieldSet, __decorate } from "tslib"; let A = class A { + constructor() { + _x.set(this, 1); + } + f() { + return __awaiter(this, void 0, void 0, function* () { __classPrivateFieldSet(this, _x, yield __classPrivateFieldGet(this, _x)); }); + } }; +_x = new WeakMap(); A = __decorate([ dec ], A); diff --git a/tests/baselines/reference/importHelpersES6.symbols b/tests/baselines/reference/importHelpersES6.symbols index 09f2736088837..5e7d2762a8110 100644 --- a/tests/baselines/reference/importHelpersES6.symbols +++ b/tests/baselines/reference/importHelpersES6.symbols @@ -6,15 +6,24 @@ declare var dec: any; >dec : Symbol(dec, Decl(a.ts, 0, 11)) >A : Symbol(A, Decl(a.ts, 0, 21)) + #x: number = 1; +>#x : Symbol(A.#x, Decl(a.ts, 1, 21)) + + async f() { this.#x = await this.#x; } +>f : Symbol(A.f, Decl(a.ts, 2, 19)) +>this.#x : Symbol(A.#x, Decl(a.ts, 1, 21)) +>this : Symbol(A, Decl(a.ts, 0, 21)) +>this.#x : Symbol(A.#x, Decl(a.ts, 1, 21)) +>this : Symbol(A, Decl(a.ts, 0, 21)) } const o = { a: 1 }; ->o : Symbol(o, Decl(a.ts, 5, 5)) ->a : Symbol(a, Decl(a.ts, 5, 11)) +>o : Symbol(o, Decl(a.ts, 6, 5)) +>a : Symbol(a, Decl(a.ts, 6, 11)) const y = { ...o }; ->y : Symbol(y, Decl(a.ts, 6, 5)) ->o : Symbol(o, Decl(a.ts, 5, 5)) +>y : Symbol(y, Decl(a.ts, 7, 5)) +>o : Symbol(o, Decl(a.ts, 6, 5)) === tests/cases/compiler/tslib.d.ts === export declare function __extends(d: Function, b: Function): void; @@ -54,3 +63,9 @@ export declare function __awaiter(thisArg: any, _arguments: any, P: Function, ge >generator : Symbol(generator, Decl(tslib.d.ts, --, --)) >Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +export declare function __classPrivateFieldGet(): any; +>__classPrivateFieldGet : Symbol(__classPrivateFieldGet, Decl(tslib.d.ts, --, --)) + +export declare function __classPrivateFieldSet(): any; +>__classPrivateFieldSet : Symbol(__classPrivateFieldSet, Decl(tslib.d.ts, --, --)) + diff --git a/tests/baselines/reference/importHelpersES6.types b/tests/baselines/reference/importHelpersES6.types index 7c9924b486e0d..0402f6a17dec0 100644 --- a/tests/baselines/reference/importHelpersES6.types +++ b/tests/baselines/reference/importHelpersES6.types @@ -6,6 +6,18 @@ declare var dec: any; >dec : any >A : A + #x: number = 1; +>#x : number +>1 : 1 + + async f() { this.#x = await this.#x; } +>f : () => Promise +>this.#x = await this.#x : number +>this.#x : number +>this : this +>await this.#x : number +>this.#x : number +>this : this } const o = { a: 1 }; @@ -49,3 +61,9 @@ export declare function __awaiter(thisArg: any, _arguments: any, P: Function, ge >P : Function >generator : Function +export declare function __classPrivateFieldGet(): any; +>__classPrivateFieldGet : () => any + +export declare function __classPrivateFieldSet(): any; +>__classPrivateFieldSet : () => any + diff --git a/tests/cases/compiler/importHelpersES6.ts b/tests/cases/compiler/importHelpersES6.ts index 0267156cf7e30..36d9cba73178b 100644 --- a/tests/cases/compiler/importHelpersES6.ts +++ b/tests/cases/compiler/importHelpersES6.ts @@ -4,7 +4,8 @@ // @filename: a.ts declare var dec: any; @dec export class A { - + #x: number = 1; + async f() { this.#x = await this.#x; } } const o = { a: 1 }; @@ -16,3 +17,5 @@ export declare function __decorate(decorators: Function[], target: any, key?: st export declare function __param(paramIndex: number, decorator: Function): Function; export declare function __metadata(metadataKey: any, metadataValue: any): Function; export declare function __awaiter(thisArg: any, _arguments: any, P: Function, generator: Function): any; +export declare function __classPrivateFieldGet(): any; +export declare function __classPrivateFieldSet(): any; \ No newline at end of file