* es private fields in in (#52) add support for the 'private-fields-in-in' TC39 proposal Signed-off-by: Ashley Claymore <acutmore@users.noreply.github.com> * [fixup] include inToken when walking forEachChild(node, cb) * [squash] re-accept lib definition baseline changes * [squash] reduce if/else to ternary Signed-off-by: Ashley Claymore <acutmore@users.noreply.github.com> * [squash] drop 'originalName' and rename parameter instead Signed-off-by: Ashley Claymore <acutmore@users.noreply.github.com> * [squash] extend spelling suggestion to all privateIdentifiers Signed-off-by: Ashley Claymore <acutmore@users.noreply.github.com> * [squash] revert the added lexical spelling suggestions logic Signed-off-by: Ashley Claymore <acutmore@users.noreply.github.com> * [squash] update baseline Signed-off-by: Ashley Claymore <acutmore@users.noreply.github.com> * [squash] inline variable as per PR suggestion Signed-off-by: Ashley Claymore <acutmore@users.noreply.github.com> * [squash] test targets both esnext and es2020 as per PR comment Signed-off-by: Ashley Claymore <acutmore@users.noreply.github.com> * switch to using a binary expression Signed-off-by: Ashley Claymore <acutmore@users.noreply.github.com> * [squash] PrivateIdentifier now extends PrimaryExpression Signed-off-by: Ashley Claymore <acutmore@users.noreply.github.com> * [squash] accept public api baseline changes Signed-off-by: Ashley Claymore <acutmore@users.noreply.github.com> * [squash] classPrivateFieldInHelper now has documentation Signed-off-by: Ashley Claymore <acutmore@users.noreply.github.com> * [squash] type-check now follows existing in-expression path Signed-off-by: Ashley Claymore <acutmore@users.noreply.github.com> * [squash] parser now follows existing binaryExpression path Signed-off-by: Ashley Claymore <acutmore@users.noreply.github.com> * [squash] correct typo in comment Signed-off-by: Ashley Claymore <acutmore@users.noreply.github.com> * [squash] no longer use esNext flag Signed-off-by: Ashley Claymore <acutmore@users.noreply.github.com> * [squash] swap 'reciever, state' helper params Signed-off-by: Ashley Claymore <acutmore@users.noreply.github.com> * [squash] remove change to parenthesizerRules Signed-off-by: Ashley Claymore <acutmore@users.noreply.github.com> * [squash] apply suggested changes to checker Signed-off-by: Ashley Claymore <acutmore@users.noreply.github.com> * [squash] remove need for assertion in fixSpelling Signed-off-by: Ashley Claymore <acutmore@users.noreply.github.com> * [squash] improve comment hint in test Signed-off-by: Ashley Claymore <acutmore@users.noreply.github.com> * [squash] fix comment typos Signed-off-by: Ashley Claymore <acutmore@users.noreply.github.com> * [squash] add flow-test for Foo | FooSub | Bar Signed-off-by: Ashley Claymore <acutmore@users.noreply.github.com> * [squash] add checkExternalEmitHelpers call and new test case Signed-off-by: Ashley Claymore <acutmore@users.noreply.github.com> * [squash] simplify and correct parser Signed-off-by: Ashley Claymore <acutmore@users.noreply.github.com> * [squash] move most of the added checker logic to expression level Signed-off-by: Ashley Claymore <acutmore@users.noreply.github.com> * [squash] always error when privateId could not be resolved Signed-off-by: Ashley Claymore <acutmore@users.noreply.github.com> * [squash] reword comment Signed-off-by: Ashley Claymore <acutmore@users.noreply.github.com> * [squash] fix codeFixSpelling test Signed-off-by: Ashley Claymore <acutmore@users.noreply.github.com> * [squash] do less work Signed-off-by: Ashley Claymore <acutmore@users.noreply.github.com> * store symbol by priateId not binaryExpression Signed-off-by: Ashley Claymore <acutmore@users.noreply.github.com> * moved parsePrivateIdentifier into parsePrimaryExpression Signed-off-by: Ashley Claymore <acutmore@users.noreply.github.com> * [squash] checkInExpressionn bails out early on silentNeverType Signed-off-by: Ashley Claymore <acutmore@users.noreply.github.com> * [squash] more detailed error messages Signed-off-by: Ashley Claymore <acutmore@users.noreply.github.com> * [squash] resolves conflict in diagnosticMessages.json Signed-off-by: Ashley Claymore <acutmore@users.noreply.github.com> * [squash] update baseline for importHelpersES6 Signed-off-by: Ashley Claymore <acutmore@users.noreply.github.com> * [squash] remove redundent if and comment from parser Signed-off-by: Ashley Claymore <acutmore@users.noreply.github.com> * [squash] split up grammar/check/symbolLookup Signed-off-by: Ashley Claymore <acutmore@users.noreply.github.com> * [squash] reword message for existing left side of in-expression error Signed-off-by: Ashley Claymore <acutmore@users.noreply.github.com>
91 lines
2.3 KiB
Plaintext
91 lines
2.3 KiB
Plaintext
=== tests/cases/compiler/a.ts ===
|
|
declare var dec: any;
|
|
>dec : any
|
|
|
|
@dec export class A {
|
|
>dec : any
|
|
>A : A
|
|
|
|
#x: number = 1;
|
|
>#x : number
|
|
>1 : 1
|
|
|
|
async f() { this.#x = await this.#x; }
|
|
>f : () => Promise<void>
|
|
>this.#x = await this.#x : number
|
|
>this.#x : number
|
|
>this : this
|
|
>await this.#x : number
|
|
>this.#x : number
|
|
>this : this
|
|
|
|
g(u) { return #x in u; }
|
|
>g : (u: any) => boolean
|
|
>u : any
|
|
>#x in u : boolean
|
|
>#x : any
|
|
>u : any
|
|
}
|
|
|
|
const o = { a: 1 };
|
|
>o : { a: number; }
|
|
>{ a: 1 } : { a: number; }
|
|
>a : number
|
|
>1 : 1
|
|
|
|
const y = { ...o };
|
|
>y : { a: number; }
|
|
>{ ...o } : { a: number; }
|
|
>o : { a: number; }
|
|
|
|
=== tests/cases/compiler/tslib.d.ts ===
|
|
export declare function __extends(d: Function, b: Function): void;
|
|
>__extends : (d: Function, b: Function) => void
|
|
>d : Function
|
|
>b : Function
|
|
|
|
export declare function __decorate(decorators: Function[], target: any, key?: string | symbol, desc?: any): any;
|
|
>__decorate : (decorators: Function[], target: any, key?: string | symbol, desc?: any) => any
|
|
>decorators : Function[]
|
|
>target : any
|
|
>key : string | symbol
|
|
>desc : any
|
|
|
|
export declare function __param(paramIndex: number, decorator: Function): Function;
|
|
>__param : (paramIndex: number, decorator: Function) => Function
|
|
>paramIndex : number
|
|
>decorator : Function
|
|
|
|
export declare function __metadata(metadataKey: any, metadataValue: any): Function;
|
|
>__metadata : (metadataKey: any, metadataValue: any) => Function
|
|
>metadataKey : any
|
|
>metadataValue : any
|
|
|
|
export declare function __awaiter(thisArg: any, _arguments: any, P: Function, generator: Function): any;
|
|
>__awaiter : (thisArg: any, _arguments: any, P: Function, generator: Function) => any
|
|
>thisArg : any
|
|
>_arguments : any
|
|
>P : Function
|
|
>generator : Function
|
|
|
|
export declare function __classPrivateFieldGet(a: any, b: any, c: any, d: any): any;
|
|
>__classPrivateFieldGet : (a: any, b: any, c: any, d: any) => any
|
|
>a : any
|
|
>b : any
|
|
>c : any
|
|
>d : any
|
|
|
|
export declare function __classPrivateFieldSet(a: any, b: any, c: any, d: any, e: any): any;
|
|
>__classPrivateFieldSet : (a: any, b: any, c: any, d: any, e: any) => any
|
|
>a : any
|
|
>b : any
|
|
>c : any
|
|
>d : any
|
|
>e : any
|
|
|
|
export declare function __classPrivateFieldIn(a: any, b: any): boolean;
|
|
>__classPrivateFieldIn : (a: any, b: any) => boolean
|
|
>a : any
|
|
>b : any
|
|
|