From 8d795343107f0c7f14c59f8eda5ba344ddd6d4bd Mon Sep 17 00:00:00 2001 From: Wesley Wigham Date: Fri, 3 May 2024 10:59:42 -0700 Subject: [PATCH 1/8] Declaration emit should retain unresolved computed names instead of elide --- src/compiler/transformers/declarations.ts | 7 +++++++ .../transpile/declarationTypeWithComputedName.d.ts | 13 +++++++++++++ .../transpile/declarationTypeWithComputedName.ts | 8 ++++++++ 3 files changed, 28 insertions(+) create mode 100644 tests/baselines/reference/transpile/declarationTypeWithComputedName.d.ts create mode 100644 tests/cases/transpile/declarationTypeWithComputedName.ts diff --git a/src/compiler/transformers/declarations.ts b/src/compiler/transformers/declarations.ts index c14408ad5ef7d..8c5691be4c148 100644 --- a/src/compiler/transformers/declarations.ts +++ b/src/compiler/transformers/declarations.ts @@ -1006,6 +1006,13 @@ export function transformDeclarations(context: TransformationContext) { ) { context.addDiagnostic(createDiagnosticForNode(input, Diagnostics.Computed_properties_must_be_number_or_string_literals_variables_or_dotted_expressions_with_isolatedDeclarations)); } + if (isEntityNameExpression(input.name.expression)) { + // A.B.C that is not late bound - usually this means the expression did not resolve. + // Check the entity name, and copy the declaration, rather than elide it (there's + // probably a checker error in the input, but this is most likely the desired output). + checkEntityNameVisibility(input.name.expression, enclosingDeclaration); + return visitEachChild(input, visitDeclarationSubtree, context); + } return; } } diff --git a/tests/baselines/reference/transpile/declarationTypeWithComputedName.d.ts b/tests/baselines/reference/transpile/declarationTypeWithComputedName.d.ts new file mode 100644 index 0000000000000..eeeb6fb76609b --- /dev/null +++ b/tests/baselines/reference/transpile/declarationTypeWithComputedName.d.ts @@ -0,0 +1,13 @@ +//// [declarationTypeWithComputedName.ts] //// +import {Foo} from './a'; + +export type Bar = { + [Foo.A]: 1; + [Foo.B]: 2; +} +//// [declarationTypeWithComputedName.d.ts] //// +import { Foo } from './a'; +export type Bar = { + [Foo.A]: 1; + [Foo.B]: 2; +}; diff --git a/tests/cases/transpile/declarationTypeWithComputedName.ts b/tests/cases/transpile/declarationTypeWithComputedName.ts new file mode 100644 index 0000000000000..5b42d4cb42f6e --- /dev/null +++ b/tests/cases/transpile/declarationTypeWithComputedName.ts @@ -0,0 +1,8 @@ +// @declaration: true +// @emitDeclarationOnly: true +import {Foo} from './a'; + +export type Bar = { + [Foo.A]: 1; + [Foo.B]: 2; +} \ No newline at end of file From 869ef5a35378724d42a2e8f679a216cdc3d64b72 Mon Sep 17 00:00:00 2001 From: TypeScript Bot Date: Fri, 3 May 2024 18:40:10 +0000 Subject: [PATCH 2/8] Update Baselines and/or Applied Lint Fixes --- tests/baselines/reference/giant.errors.txt | 14 +- tests/baselines/reference/giant.js | 295 ------------------ ...solatedDeclarationErrorsClasses.errors.txt | 128 -------- .../isolatedDeclarationErrorsClasses.js | 94 ------ .../isolatedDeclarationErrorsClasses.symbols | 121 ------- .../isolatedDeclarationErrorsClasses.types | 220 ------------- 6 files changed, 13 insertions(+), 859 deletions(-) delete mode 100644 tests/baselines/reference/isolatedDeclarationErrorsClasses.errors.txt delete mode 100644 tests/baselines/reference/isolatedDeclarationErrorsClasses.js delete mode 100644 tests/baselines/reference/isolatedDeclarationErrorsClasses.symbols delete mode 100644 tests/baselines/reference/isolatedDeclarationErrorsClasses.types diff --git a/tests/baselines/reference/giant.errors.txt b/tests/baselines/reference/giant.errors.txt index a5acfcf55ef60..0326cfa70eec6 100644 --- a/tests/baselines/reference/giant.errors.txt +++ b/tests/baselines/reference/giant.errors.txt @@ -115,6 +115,7 @@ giant.ts(293,16): error TS2300: Duplicate identifier 'tgF'. giant.ts(293,20): error TS1005: '{' expected. giant.ts(318,5): error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type. giant.ts(318,6): error TS2304: Cannot find name 'p'. +giant.ts(318,6): error TS4025: Exported variable 'eV' has or is using private name 'p'. giant.ts(319,5): error TS1021: An index signature must have a type annotation. giant.ts(320,6): error TS1096: An index signature must have exactly one parameter. giant.ts(333,5): error TS2386: Overload signatures must all be optional or required. @@ -162,6 +163,7 @@ giant.ts(436,20): error TS2300: Duplicate identifier 'tgF'. giant.ts(436,24): error TS1005: '{' expected. giant.ts(461,9): error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type. giant.ts(461,10): error TS2304: Cannot find name 'p'. +giant.ts(461,10): error TS4025: Exported variable 'eV' has or is using private name 'p'. giant.ts(462,9): error TS1021: An index signature must have a type annotation. giant.ts(463,10): error TS1096: An index signature must have exactly one parameter. giant.ts(476,9): error TS2386: Overload signatures must all be optional or required. @@ -222,6 +224,7 @@ giant.ts(560,21): error TS1183: An implementation cannot be declared in ambient giant.ts(562,21): error TS1183: An implementation cannot be declared in ambient contexts. giant.ts(586,9): error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type. giant.ts(586,10): error TS2304: Cannot find name 'p'. +giant.ts(586,10): error TS4025: Exported variable 'V' has or is using private name 'p'. giant.ts(587,9): error TS1021: An index signature must have a type annotation. giant.ts(588,10): error TS1096: An index signature must have exactly one parameter. giant.ts(601,9): error TS2386: Overload signatures must all be optional or required. @@ -239,6 +242,7 @@ giant.ts(625,21): error TS1183: An implementation cannot be declared in ambient giant.ts(627,21): error TS1183: An implementation cannot be declared in ambient contexts. giant.ts(652,9): error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type. giant.ts(652,10): error TS2304: Cannot find name 'p'. +giant.ts(652,10): error TS4025: Exported variable 'eV' has or is using private name 'p'. giant.ts(653,9): error TS1021: An index signature must have a type annotation. giant.ts(654,10): error TS1096: An index signature must have exactly one parameter. giant.ts(667,9): error TS2386: Overload signatures must all be optional or required. @@ -247,7 +251,7 @@ giant.ts(671,25): error TS1036: Statements are not allowed in ambient contexts. giant.ts(675,30): error TS1183: An implementation cannot be declared in ambient contexts. -==== giant.ts (247 errors) ==== +==== giant.ts (251 errors) ==== /* Prefixes p -> public @@ -800,6 +804,8 @@ giant.ts(675,30): error TS1183: An implementation cannot be declared in ambient !!! error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type. ~ !!! error TS2304: Cannot find name 'p'. + ~ +!!! error TS4025: Exported variable 'eV' has or is using private name 'p'. [p1: string]; ~~~~~~~~~~~~~ !!! error TS1021: An index signature must have a type annotation. @@ -1037,6 +1043,8 @@ giant.ts(675,30): error TS1183: An implementation cannot be declared in ambient !!! error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type. ~ !!! error TS2304: Cannot find name 'p'. + ~ +!!! error TS4025: Exported variable 'eV' has or is using private name 'p'. [p1: string]; ~~~~~~~~~~~~~ !!! error TS1021: An index signature must have a type annotation. @@ -1282,6 +1290,8 @@ giant.ts(675,30): error TS1183: An implementation cannot be declared in ambient !!! error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type. ~ !!! error TS2304: Cannot find name 'p'. + ~ +!!! error TS4025: Exported variable 'V' has or is using private name 'p'. [p1: string]; ~~~~~~~~~~~~~ !!! error TS1021: An index signature must have a type annotation. @@ -1382,6 +1392,8 @@ giant.ts(675,30): error TS1183: An implementation cannot be declared in ambient !!! error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type. ~ !!! error TS2304: Cannot find name 'p'. + ~ +!!! error TS4025: Exported variable 'eV' has or is using private name 'p'. [p1: string]; ~~~~~~~~~~~~~ !!! error TS1021: An index signature must have a type annotation. diff --git a/tests/baselines/reference/giant.js b/tests/baselines/reference/giant.js index 133de6ad4f9eb..d0b1d5d5ae6e4 100644 --- a/tests/baselines/reference/giant.js +++ b/tests/baselines/reference/giant.js @@ -1111,298 +1111,3 @@ define(["require", "exports"], function (require, exports) { })(eM || (exports.eM = eM = {})); ; }); - - -//// [giant.d.ts] -export declare var eV: any; -export declare function eF(): void; -export declare class eC { - constructor(); - pV: any; - private rV; - pF(): void; - private rF; - pgF(): void; - get pgF(): any; - psF(param: any): void; - set psF(param: any); - private rgF; - private get rgF(); - private rsF; - private set rsF(value); - static tV: any; - static tF(): void; - static tsF(param: any): void; - static set tsF(param: any); - static tgF(): void; - static get tgF(): any; -} -export interface eI { - (): any; - (): number; - (p: any): any; - (p1: string): any; - (p2?: string): any; - (...p3: any[]): any; - (p4: string, p5?: string): any; - (p6: string, ...p7: any[]): any; - new (): any; - new (): number; - new (p: string): any; - new (p2?: string): any; - new (...p3: any[]): any; - new (p4: string, p5?: string): any; - new (p6: string, ...p7: any[]): any; - [p1: string]: any; - [p2: string, p3: number]: any; - p: any; - p1?: any; - p2?: string; - p3(): any; - p4?(): any; - p5?(): void; - p6(pa1: any): void; - p7(pa1: any, pa2: any): void; - p7?(pa1: any, pa2: any): void; -} -export declare namespace eM { - var eV: any; - function eF(): void; - class eC { - constructor(); - pV: any; - private rV; - pF(): void; - private rF; - pgF(): void; - get pgF(): any; - psF(param: any): void; - set psF(param: any); - private rgF; - private get rgF(); - private rsF; - private set rsF(value); - static tV: any; - static tF(): void; - static tsF(param: any): void; - static set tsF(param: any); - static tgF(): void; - static get tgF(): any; - } - interface eI { - (): any; - (): number; - (p: any): any; - (p1: string): any; - (p2?: string): any; - (...p3: any[]): any; - (p4: string, p5?: string): any; - (p6: string, ...p7: any[]): any; - new (): any; - new (): number; - new (p: string): any; - new (p2?: string): any; - new (...p3: any[]): any; - new (p4: string, p5?: string): any; - new (p6: string, ...p7: any[]): any; - [p1: string]: any; - [p2: string, p3: number]: any; - p: any; - p1?: any; - p2?: string; - p3(): any; - p4?(): any; - p5?(): void; - p6(pa1: any): void; - p7(pa1: any, pa2: any): void; - p7?(pa1: any, pa2: any): void; - } - namespace eM { - var eV: any; - function eF(): void; - class eC { - } - interface eI { - } - namespace eM { } - var eaV: any; - function eaF(): void; - class eaC { - } - namespace eaM { } - } - var eaV: any; - function eaF(): void; - class eaC { - constructor(); - pV: any; - private rV; - pF(): void; - private rF; - pgF(): void; - get pgF(): any; - psF(param: any): void; - set psF(param: any); - private rgF; - private get rgF(); - private rsF; - private set rsF(value); - static tV: any; - static tF(): void; - static tsF(param: any): void; - static set tsF(param: any); - static tgF(): void; - static get tgF(): any; - } - namespace eaM { - var V: any; - function F(): void; - class C { - } - interface I { - } - namespace M { } - var eV: any; - function eF(): void; - class eC { - } - interface eI { - } - namespace eM { } - } -} -export declare var eaV: any; -export declare function eaF(): void; -export declare class eaC { - constructor(); - pV: any; - private rV; - pF(): void; - private rF; - pgF(): void; - get pgF(): any; - psF(param: any): void; - set psF(param: any); - private rgF; - private get rgF(); - private rsF; - private set rsF(value); - static tV: any; - static tF(): void; - static tsF(param: any): void; - static set tsF(param: any); - static tgF(): void; - static get tgF(): any; -} -export declare namespace eaM { - var V: any; - function F(): void; - class C { - constructor(); - pV: any; - private rV; - pF(): void; - static tV: any; - static tF(): void; - } - interface I { - (): any; - (): number; - (p: string): any; - (p2?: string): any; - (...p3: any[]): any; - (p4: string, p5?: string): any; - (p6: string, ...p7: any[]): any; - new (): any; - new (): number; - new (p: string): any; - new (p2?: string): any; - new (...p3: any[]): any; - new (p4: string, p5?: string): any; - new (p6: string, ...p7: any[]): any; - [p1: string]: any; - [p2: string, p3: number]: any; - p: any; - p1?: any; - p2?: string; - p3(): any; - p4?(): any; - p5?(): void; - p6(pa1: any): void; - p7(pa1: any, pa2: any): void; - p7?(pa1: any, pa2: any): void; - } - namespace M { - var V: any; - function F(): void; - class C { - } - interface I { - } - namespace M { } - var eV: any; - function eF(): void; - class eC { - } - interface eI { - } - namespace eM { } - var eaV: any; - function eaF(): void; - class eaC { - } - namespace eaM { } - } - var eV: any; - function eF(): void; - class eC { - constructor(); - pV: any; - private rV; - pF(): void; - static tV: any; - static tF(): void; - } - interface eI { - (): any; - (): number; - (p: any): any; - (p1: string): any; - (p2?: string): any; - (...p3: any[]): any; - (p4: string, p5?: string): any; - (p6: string, ...p7: any[]): any; - new (): any; - new (): number; - new (p: string): any; - new (p2?: string): any; - new (...p3: any[]): any; - new (p4: string, p5?: string): any; - new (p6: string, ...p7: any[]): any; - [p1: string]: any; - [p2: string, p3: number]: any; - p: any; - p1?: any; - p2?: string; - p3(): any; - p4?(): any; - p5?(): void; - p6(pa1: any): void; - p7(pa1: any, pa2: any): void; - p7?(pa1: any, pa2: any): void; - } - namespace eM { - var V: any; - function F(): void; - class C { - } - namespace M { } - var eV: any; - function eF(): void; - class eC { - } - interface eI { - } - namespace eM { } - } -} diff --git a/tests/baselines/reference/isolatedDeclarationErrorsClasses.errors.txt b/tests/baselines/reference/isolatedDeclarationErrorsClasses.errors.txt deleted file mode 100644 index a47466cbe991d..0000000000000 --- a/tests/baselines/reference/isolatedDeclarationErrorsClasses.errors.txt +++ /dev/null @@ -1,128 +0,0 @@ -isolatedDeclarationErrorsClasses.ts(3,5): error TS9012: Property must have an explicit type annotation with --isolatedDeclarations. -isolatedDeclarationErrorsClasses.ts(4,5): error TS9008: Method must have an explicit return type annotation with --isolatedDeclarations. -isolatedDeclarationErrorsClasses.ts(8,18): error TS7006: Parameter 'p' implicitly has an 'any' type. -isolatedDeclarationErrorsClasses.ts(8,18): error TS9011: Parameter must have an explicit type annotation with --isolatedDeclarations. -isolatedDeclarationErrorsClasses.ts(9,23): error TS9011: Parameter must have an explicit type annotation with --isolatedDeclarations. -isolatedDeclarationErrorsClasses.ts(11,9): error TS9009: At least one accessor must have an explicit return type annotation with --isolatedDeclarations. -isolatedDeclarationErrorsClasses.ts(12,9): error TS7032: Property 'setOnly' implicitly has type 'any', because its set accessor lacks a parameter type annotation. -isolatedDeclarationErrorsClasses.ts(12,17): error TS7006: Parameter 'value' implicitly has an 'any' type. -isolatedDeclarationErrorsClasses.ts(36,5): error TS1166: A computed property name in a class property declaration must have a simple literal type or a 'unique symbol' type. -isolatedDeclarationErrorsClasses.ts(36,6): error TS2304: Cannot find name 'missing'. -isolatedDeclarationErrorsClasses.ts(42,5): error TS9014: Computed properties must be number or string literals, variables or dotted expressions with --isolatedDeclarations. -isolatedDeclarationErrorsClasses.ts(44,5): error TS9014: Computed properties must be number or string literals, variables or dotted expressions with --isolatedDeclarations. -isolatedDeclarationErrorsClasses.ts(44,35): error TS7006: Parameter 'v' implicitly has an 'any' type. -isolatedDeclarationErrorsClasses.ts(46,9): error TS9014: Computed properties must be number or string literals, variables or dotted expressions with --isolatedDeclarations. -isolatedDeclarationErrorsClasses.ts(48,9): error TS7032: Property '[noParamAnnotationStringName]' implicitly has type 'any', because its set accessor lacks a parameter type annotation. -isolatedDeclarationErrorsClasses.ts(48,9): error TS9014: Computed properties must be number or string literals, variables or dotted expressions with --isolatedDeclarations. -isolatedDeclarationErrorsClasses.ts(48,39): error TS7006: Parameter 'value' implicitly has an 'any' type. -isolatedDeclarationErrorsClasses.ts(50,5): error TS1166: A computed property name in a class property declaration must have a simple literal type or a 'unique symbol' type. -isolatedDeclarationErrorsClasses.ts(55,5): error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type. -isolatedDeclarationErrorsClasses.ts(56,5): error TS7010: '[noAnnotationLiteralName]', which lacks return-type annotation, implicitly has an 'any' return type. -isolatedDeclarationErrorsClasses.ts(56,5): error TS9013: Expression type can't be inferred with --isolatedDeclarations. - - -==== isolatedDeclarationErrorsClasses.ts (21 errors) ==== - export class Cls { - - field = 1 + 1; - ~~~~~ -!!! error TS9012: Property must have an explicit type annotation with --isolatedDeclarations. -!!! related TS9029 isolatedDeclarationErrorsClasses.ts:3:5: Add a type annotation to the property field. - method() {} - ~~~~~~ -!!! error TS9008: Method must have an explicit return type annotation with --isolatedDeclarations. -!!! related TS9034 isolatedDeclarationErrorsClasses.ts:4:5: Add a return type to the method - - methodOk(): void {} - - methodParams(p): void {} - ~ -!!! error TS7006: Parameter 'p' implicitly has an 'any' type. - ~ -!!! error TS9011: Parameter must have an explicit type annotation with --isolatedDeclarations. -!!! related TS9028 isolatedDeclarationErrorsClasses.ts:8:18: Add a type annotation to the parameter p. - methodParams2(p = 1 + 1): void {} - ~~~~~ -!!! error TS9011: Parameter must have an explicit type annotation with --isolatedDeclarations. -!!! related TS9028 isolatedDeclarationErrorsClasses.ts:9:19: Add a type annotation to the parameter p. - - get getOnly() { return 1 + 1 } - ~~~~~~~ -!!! error TS9009: At least one accessor must have an explicit return type annotation with --isolatedDeclarations. -!!! related TS9032 isolatedDeclarationErrorsClasses.ts:11:9: Add a return type to the get accessor declaration. - set setOnly(value) { } - ~~~~~~~ -!!! error TS7032: Property 'setOnly' implicitly has type 'any', because its set accessor lacks a parameter type annotation. - ~~~~~ -!!! error TS7006: Parameter 'value' implicitly has an 'any' type. - - get getSetBad() { return 0 } - set getSetBad(value) { } - - get getSetOk(): number { return 0 } - set getSetOk(value) { } - - get getSetOk2() { return 0 } - set getSetOk2(value: number) { } - - get getSetOk3(): number { return 0 } - set getSetOk3(value: number) { } - } - - let noAnnotationStringName: string = "noAnnotationStringName"; - let noParamAnnotationStringName: string = "noParamAnnotationStringName"; - - const noAnnotationLiteralName = "noAnnotationLiteralName"; - const noParamAnnotationLiteralName = "noParamAnnotationLiteralName"; - - export class C { - - // Should not be reported as an isolated declaration error - [missing] = 1; - ~~~~~~~~~ -!!! error TS1166: A computed property name in a class property declaration must have a simple literal type or a 'unique symbol' type. - ~~~~~~~ -!!! error TS2304: Cannot find name 'missing'. - - [noAnnotationLiteralName](): void { } - - [noParamAnnotationLiteralName](v: string): void { } - - [noAnnotationStringName]() { } - ~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS9014: Computed properties must be number or string literals, variables or dotted expressions with --isolatedDeclarations. - - [noParamAnnotationStringName](v): void { } - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS9014: Computed properties must be number or string literals, variables or dotted expressions with --isolatedDeclarations. - ~ -!!! error TS7006: Parameter 'v' implicitly has an 'any' type. - - get [noAnnotationStringName]() { return 0;} - ~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS9014: Computed properties must be number or string literals, variables or dotted expressions with --isolatedDeclarations. - - set [noParamAnnotationStringName](value) { } - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7032: Property '[noParamAnnotationStringName]' implicitly has type 'any', because its set accessor lacks a parameter type annotation. - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS9014: Computed properties must be number or string literals, variables or dotted expressions with --isolatedDeclarations. - ~~~~~ -!!! error TS7006: Parameter 'value' implicitly has an 'any' type. - - [("A" + "B") as "AB"] = 1; - ~~~~~~~~~~~~~~~~~~~~~ -!!! error TS1166: A computed property name in a class property declaration must have a simple literal type or a 'unique symbol' type. - - } - - export interface I { - [noAnnotationStringName]: 10; - ~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type. - [noAnnotationLiteralName](); - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7010: '[noAnnotationLiteralName]', which lacks return-type annotation, implicitly has an 'any' return type. - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS9013: Expression type can't be inferred with --isolatedDeclarations. - } \ No newline at end of file diff --git a/tests/baselines/reference/isolatedDeclarationErrorsClasses.js b/tests/baselines/reference/isolatedDeclarationErrorsClasses.js deleted file mode 100644 index 9be39e7476159..0000000000000 --- a/tests/baselines/reference/isolatedDeclarationErrorsClasses.js +++ /dev/null @@ -1,94 +0,0 @@ -//// [tests/cases/compiler/isolatedDeclarationErrorsClasses.ts] //// - -//// [isolatedDeclarationErrorsClasses.ts] -export class Cls { - - field = 1 + 1; - method() {} - - methodOk(): void {} - - methodParams(p): void {} - methodParams2(p = 1 + 1): void {} - - get getOnly() { return 1 + 1 } - set setOnly(value) { } - - get getSetBad() { return 0 } - set getSetBad(value) { } - - get getSetOk(): number { return 0 } - set getSetOk(value) { } - - get getSetOk2() { return 0 } - set getSetOk2(value: number) { } - - get getSetOk3(): number { return 0 } - set getSetOk3(value: number) { } -} - -let noAnnotationStringName: string = "noAnnotationStringName"; -let noParamAnnotationStringName: string = "noParamAnnotationStringName"; - -const noAnnotationLiteralName = "noAnnotationLiteralName"; -const noParamAnnotationLiteralName = "noParamAnnotationLiteralName"; - -export class C { - - // Should not be reported as an isolated declaration error - [missing] = 1; - - [noAnnotationLiteralName](): void { } - - [noParamAnnotationLiteralName](v: string): void { } - - [noAnnotationStringName]() { } - - [noParamAnnotationStringName](v): void { } - - get [noAnnotationStringName]() { return 0;} - - set [noParamAnnotationStringName](value) { } - - [("A" + "B") as "AB"] = 1; - -} - -export interface I { - [noAnnotationStringName]: 10; - [noAnnotationLiteralName](); -} - -//// [isolatedDeclarationErrorsClasses.js] -export class Cls { - field = 1 + 1; - method() { } - methodOk() { } - methodParams(p) { } - methodParams2(p = 1 + 1) { } - get getOnly() { return 1 + 1; } - set setOnly(value) { } - get getSetBad() { return 0; } - set getSetBad(value) { } - get getSetOk() { return 0; } - set getSetOk(value) { } - get getSetOk2() { return 0; } - set getSetOk2(value) { } - get getSetOk3() { return 0; } - set getSetOk3(value) { } -} -let noAnnotationStringName = "noAnnotationStringName"; -let noParamAnnotationStringName = "noParamAnnotationStringName"; -const noAnnotationLiteralName = "noAnnotationLiteralName"; -const noParamAnnotationLiteralName = "noParamAnnotationLiteralName"; -export class C { - // Should not be reported as an isolated declaration error - [missing] = 1; - [noAnnotationLiteralName]() { } - [noParamAnnotationLiteralName](v) { } - [noAnnotationStringName]() { } - [noParamAnnotationStringName](v) { } - get [noAnnotationStringName]() { return 0; } - set [noParamAnnotationStringName](value) { } - [("A" + "B")] = 1; -} diff --git a/tests/baselines/reference/isolatedDeclarationErrorsClasses.symbols b/tests/baselines/reference/isolatedDeclarationErrorsClasses.symbols deleted file mode 100644 index 8a49eee4ad712..0000000000000 --- a/tests/baselines/reference/isolatedDeclarationErrorsClasses.symbols +++ /dev/null @@ -1,121 +0,0 @@ -//// [tests/cases/compiler/isolatedDeclarationErrorsClasses.ts] //// - -=== isolatedDeclarationErrorsClasses.ts === -export class Cls { ->Cls : Symbol(Cls, Decl(isolatedDeclarationErrorsClasses.ts, 0, 0)) - - field = 1 + 1; ->field : Symbol(Cls.field, Decl(isolatedDeclarationErrorsClasses.ts, 0, 18)) - - method() {} ->method : Symbol(Cls.method, Decl(isolatedDeclarationErrorsClasses.ts, 2, 18)) - - methodOk(): void {} ->methodOk : Symbol(Cls.methodOk, Decl(isolatedDeclarationErrorsClasses.ts, 3, 15)) - - methodParams(p): void {} ->methodParams : Symbol(Cls.methodParams, Decl(isolatedDeclarationErrorsClasses.ts, 5, 23)) ->p : Symbol(p, Decl(isolatedDeclarationErrorsClasses.ts, 7, 17)) - - methodParams2(p = 1 + 1): void {} ->methodParams2 : Symbol(Cls.methodParams2, Decl(isolatedDeclarationErrorsClasses.ts, 7, 28)) ->p : Symbol(p, Decl(isolatedDeclarationErrorsClasses.ts, 8, 18)) - - get getOnly() { return 1 + 1 } ->getOnly : Symbol(Cls.getOnly, Decl(isolatedDeclarationErrorsClasses.ts, 8, 37)) - - set setOnly(value) { } ->setOnly : Symbol(Cls.setOnly, Decl(isolatedDeclarationErrorsClasses.ts, 10, 34)) ->value : Symbol(value, Decl(isolatedDeclarationErrorsClasses.ts, 11, 16)) - - get getSetBad() { return 0 } ->getSetBad : Symbol(Cls.getSetBad, Decl(isolatedDeclarationErrorsClasses.ts, 11, 26), Decl(isolatedDeclarationErrorsClasses.ts, 13, 32)) - - set getSetBad(value) { } ->getSetBad : Symbol(Cls.getSetBad, Decl(isolatedDeclarationErrorsClasses.ts, 11, 26), Decl(isolatedDeclarationErrorsClasses.ts, 13, 32)) ->value : Symbol(value, Decl(isolatedDeclarationErrorsClasses.ts, 14, 18)) - - get getSetOk(): number { return 0 } ->getSetOk : Symbol(Cls.getSetOk, Decl(isolatedDeclarationErrorsClasses.ts, 14, 28), Decl(isolatedDeclarationErrorsClasses.ts, 16, 39)) - - set getSetOk(value) { } ->getSetOk : Symbol(Cls.getSetOk, Decl(isolatedDeclarationErrorsClasses.ts, 14, 28), Decl(isolatedDeclarationErrorsClasses.ts, 16, 39)) ->value : Symbol(value, Decl(isolatedDeclarationErrorsClasses.ts, 17, 17)) - - get getSetOk2() { return 0 } ->getSetOk2 : Symbol(Cls.getSetOk2, Decl(isolatedDeclarationErrorsClasses.ts, 17, 27), Decl(isolatedDeclarationErrorsClasses.ts, 19, 32)) - - set getSetOk2(value: number) { } ->getSetOk2 : Symbol(Cls.getSetOk2, Decl(isolatedDeclarationErrorsClasses.ts, 17, 27), Decl(isolatedDeclarationErrorsClasses.ts, 19, 32)) ->value : Symbol(value, Decl(isolatedDeclarationErrorsClasses.ts, 20, 18)) - - get getSetOk3(): number { return 0 } ->getSetOk3 : Symbol(Cls.getSetOk3, Decl(isolatedDeclarationErrorsClasses.ts, 20, 36), Decl(isolatedDeclarationErrorsClasses.ts, 22, 40)) - - set getSetOk3(value: number) { } ->getSetOk3 : Symbol(Cls.getSetOk3, Decl(isolatedDeclarationErrorsClasses.ts, 20, 36), Decl(isolatedDeclarationErrorsClasses.ts, 22, 40)) ->value : Symbol(value, Decl(isolatedDeclarationErrorsClasses.ts, 23, 18)) -} - -let noAnnotationStringName: string = "noAnnotationStringName"; ->noAnnotationStringName : Symbol(noAnnotationStringName, Decl(isolatedDeclarationErrorsClasses.ts, 26, 3)) - -let noParamAnnotationStringName: string = "noParamAnnotationStringName"; ->noParamAnnotationStringName : Symbol(noParamAnnotationStringName, Decl(isolatedDeclarationErrorsClasses.ts, 27, 3)) - -const noAnnotationLiteralName = "noAnnotationLiteralName"; ->noAnnotationLiteralName : Symbol(noAnnotationLiteralName, Decl(isolatedDeclarationErrorsClasses.ts, 29, 5)) - -const noParamAnnotationLiteralName = "noParamAnnotationLiteralName"; ->noParamAnnotationLiteralName : Symbol(noParamAnnotationLiteralName, Decl(isolatedDeclarationErrorsClasses.ts, 30, 5)) - -export class C { ->C : Symbol(C, Decl(isolatedDeclarationErrorsClasses.ts, 30, 68)) - - // Should not be reported as an isolated declaration error - [missing] = 1; ->[missing] : Symbol(C[missing], Decl(isolatedDeclarationErrorsClasses.ts, 32, 16)) - - [noAnnotationLiteralName](): void { } ->[noAnnotationLiteralName] : Symbol(C[noAnnotationLiteralName], Decl(isolatedDeclarationErrorsClasses.ts, 35, 18)) ->noAnnotationLiteralName : Symbol(noAnnotationLiteralName, Decl(isolatedDeclarationErrorsClasses.ts, 29, 5)) - - [noParamAnnotationLiteralName](v: string): void { } ->[noParamAnnotationLiteralName] : Symbol(C[noParamAnnotationLiteralName], Decl(isolatedDeclarationErrorsClasses.ts, 37, 41)) ->noParamAnnotationLiteralName : Symbol(noParamAnnotationLiteralName, Decl(isolatedDeclarationErrorsClasses.ts, 30, 5)) ->v : Symbol(v, Decl(isolatedDeclarationErrorsClasses.ts, 39, 35)) - - [noAnnotationStringName]() { } ->[noAnnotationStringName] : Symbol(C[noAnnotationStringName], Decl(isolatedDeclarationErrorsClasses.ts, 39, 55)) ->noAnnotationStringName : Symbol(noAnnotationStringName, Decl(isolatedDeclarationErrorsClasses.ts, 26, 3)) - - [noParamAnnotationStringName](v): void { } ->[noParamAnnotationStringName] : Symbol(C[noParamAnnotationStringName], Decl(isolatedDeclarationErrorsClasses.ts, 41, 34)) ->noParamAnnotationStringName : Symbol(noParamAnnotationStringName, Decl(isolatedDeclarationErrorsClasses.ts, 27, 3)) ->v : Symbol(v, Decl(isolatedDeclarationErrorsClasses.ts, 43, 34)) - - get [noAnnotationStringName]() { return 0;} ->[noAnnotationStringName] : Symbol(C[noAnnotationStringName], Decl(isolatedDeclarationErrorsClasses.ts, 43, 46)) ->noAnnotationStringName : Symbol(noAnnotationStringName, Decl(isolatedDeclarationErrorsClasses.ts, 26, 3)) - - set [noParamAnnotationStringName](value) { } ->[noParamAnnotationStringName] : Symbol(C[noParamAnnotationStringName], Decl(isolatedDeclarationErrorsClasses.ts, 45, 47)) ->noParamAnnotationStringName : Symbol(noParamAnnotationStringName, Decl(isolatedDeclarationErrorsClasses.ts, 27, 3)) ->value : Symbol(value, Decl(isolatedDeclarationErrorsClasses.ts, 47, 38)) - - [("A" + "B") as "AB"] = 1; ->[("A" + "B") as "AB"] : Symbol(C[("A" + "B") as "AB"], Decl(isolatedDeclarationErrorsClasses.ts, 47, 48)) - -} - -export interface I { ->I : Symbol(I, Decl(isolatedDeclarationErrorsClasses.ts, 51, 1)) - - [noAnnotationStringName]: 10; ->[noAnnotationStringName] : Symbol(I[noAnnotationStringName], Decl(isolatedDeclarationErrorsClasses.ts, 53, 20)) ->noAnnotationStringName : Symbol(noAnnotationStringName, Decl(isolatedDeclarationErrorsClasses.ts, 26, 3)) - - [noAnnotationLiteralName](); ->[noAnnotationLiteralName] : Symbol(I[noAnnotationLiteralName], Decl(isolatedDeclarationErrorsClasses.ts, 54, 33)) ->noAnnotationLiteralName : Symbol(noAnnotationLiteralName, Decl(isolatedDeclarationErrorsClasses.ts, 29, 5)) -} diff --git a/tests/baselines/reference/isolatedDeclarationErrorsClasses.types b/tests/baselines/reference/isolatedDeclarationErrorsClasses.types deleted file mode 100644 index aa310b6119e7c..0000000000000 --- a/tests/baselines/reference/isolatedDeclarationErrorsClasses.types +++ /dev/null @@ -1,220 +0,0 @@ -//// [tests/cases/compiler/isolatedDeclarationErrorsClasses.ts] //// - -=== isolatedDeclarationErrorsClasses.ts === -export class Cls { ->Cls : Cls -> : ^^^ - - field = 1 + 1; ->field : number -> : ^^^^^^ ->1 + 1 : number -> : ^^^^^^ ->1 : 1 -> : ^ ->1 : 1 -> : ^ - - method() {} ->method : () => void -> : ^^^^^^^^^^ - - methodOk(): void {} ->methodOk : () => void -> : ^^^^^^ - - methodParams(p): void {} ->methodParams : (p: any) => void -> : ^ ^^^^^^^^^^ ->p : any -> : ^^^ - - methodParams2(p = 1 + 1): void {} ->methodParams2 : (p?: number) => void -> : ^ ^^^^^^^^^^^^^^ ->p : number -> : ^^^^^^ ->1 + 1 : number -> : ^^^^^^ ->1 : 1 -> : ^ ->1 : 1 -> : ^ - - get getOnly() { return 1 + 1 } ->getOnly : number -> : ^^^^^^ ->1 + 1 : number -> : ^^^^^^ ->1 : 1 -> : ^ ->1 : 1 -> : ^ - - set setOnly(value) { } ->setOnly : any -> : ^^^ ->value : any -> : ^^^ - - get getSetBad() { return 0 } ->getSetBad : number -> : ^^^^^^ ->0 : 0 -> : ^ - - set getSetBad(value) { } ->getSetBad : number -> : ^^^^^^ ->value : number -> : ^^^^^^ - - get getSetOk(): number { return 0 } ->getSetOk : number -> : ^^^^^^ ->0 : 0 -> : ^ - - set getSetOk(value) { } ->getSetOk : number -> : ^^^^^^ ->value : number -> : ^^^^^^ - - get getSetOk2() { return 0 } ->getSetOk2 : number -> : ^^^^^^ ->0 : 0 -> : ^ - - set getSetOk2(value: number) { } ->getSetOk2 : number -> : ^^^^^^ ->value : number -> : ^^^^^^ - - get getSetOk3(): number { return 0 } ->getSetOk3 : number -> : ^^^^^^ ->0 : 0 -> : ^ - - set getSetOk3(value: number) { } ->getSetOk3 : number -> : ^^^^^^ ->value : number -> : ^^^^^^ -} - -let noAnnotationStringName: string = "noAnnotationStringName"; ->noAnnotationStringName : string -> : ^^^^^^ ->"noAnnotationStringName" : "noAnnotationStringName" -> : ^^^^^^^^^^^^^^^^^^^^^^^^ - -let noParamAnnotationStringName: string = "noParamAnnotationStringName"; ->noParamAnnotationStringName : string -> : ^^^^^^ ->"noParamAnnotationStringName" : "noParamAnnotationStringName" -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -const noAnnotationLiteralName = "noAnnotationLiteralName"; ->noAnnotationLiteralName : "noAnnotationLiteralName" -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ->"noAnnotationLiteralName" : "noAnnotationLiteralName" -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ - -const noParamAnnotationLiteralName = "noParamAnnotationLiteralName"; ->noParamAnnotationLiteralName : "noParamAnnotationLiteralName" -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->"noParamAnnotationLiteralName" : "noParamAnnotationLiteralName" -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -export class C { ->C : C -> : ^ - - // Should not be reported as an isolated declaration error - [missing] = 1; ->[missing] : number -> : ^^^^^^ ->missing : any -> : ^^^ ->1 : 1 -> : ^ - - [noAnnotationLiteralName](): void { } ->[noAnnotationLiteralName] : () => void -> : ^^^^^^ ->noAnnotationLiteralName : "noAnnotationLiteralName" -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ - - [noParamAnnotationLiteralName](v: string): void { } ->[noParamAnnotationLiteralName] : (v: string) => void -> : ^ ^^ ^^^^^ ->noParamAnnotationLiteralName : "noParamAnnotationLiteralName" -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->v : string -> : ^^^^^^ - - [noAnnotationStringName]() { } ->[noAnnotationStringName] : () => void -> : ^^^^^^^^^^ ->noAnnotationStringName : string -> : ^^^^^^ - - [noParamAnnotationStringName](v): void { } ->[noParamAnnotationStringName] : (v: any) => void -> : ^ ^^^^^^^^^^ ->noParamAnnotationStringName : string -> : ^^^^^^ ->v : any -> : ^^^ - - get [noAnnotationStringName]() { return 0;} ->[noAnnotationStringName] : number -> : ^^^^^^ ->noAnnotationStringName : string -> : ^^^^^^ ->0 : 0 -> : ^ - - set [noParamAnnotationStringName](value) { } ->[noParamAnnotationStringName] : any -> : ^^^ ->noParamAnnotationStringName : string -> : ^^^^^^ ->value : any -> : ^^^ - - [("A" + "B") as "AB"] = 1; ->[("A" + "B") as "AB"] : number -> : ^^^^^^ ->("A" + "B") as "AB" : "AB" -> : ^^^^ ->("A" + "B") : string -> : ^^^^^^ ->"A" + "B" : string -> : ^^^^^^ ->"A" : "A" -> : ^^^ ->"B" : "B" -> : ^^^ ->1 : 1 -> : ^ - -} - -export interface I { - [noAnnotationStringName]: 10; ->[noAnnotationStringName] : 10 -> : ^^ ->noAnnotationStringName : string -> : ^^^^^^ - - [noAnnotationLiteralName](); ->[noAnnotationLiteralName] : () => any -> : ^^^^^^^^^ ->noAnnotationLiteralName : "noAnnotationLiteralName" -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ -} From 19375eee003db8c8dbbb5eda0908a5fd6a6e7615 Mon Sep 17 00:00:00 2001 From: Wesley Wigham Date: Fri, 3 May 2024 12:05:22 -0700 Subject: [PATCH 3/8] Invert check --- src/compiler/transformers/declarations.ts | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/compiler/transformers/declarations.ts b/src/compiler/transformers/declarations.ts index 8c5691be4c148..e908b98aa1c72 100644 --- a/src/compiler/transformers/declarations.ts +++ b/src/compiler/transformers/declarations.ts @@ -1006,14 +1006,12 @@ export function transformDeclarations(context: TransformationContext) { ) { context.addDiagnostic(createDiagnosticForNode(input, Diagnostics.Computed_properties_must_be_number_or_string_literals_variables_or_dotted_expressions_with_isolatedDeclarations)); } - if (isEntityNameExpression(input.name.expression)) { + if (!isEntityNameExpression(input.name.expression)) { // A.B.C that is not late bound - usually this means the expression did not resolve. // Check the entity name, and copy the declaration, rather than elide it (there's // probably a checker error in the input, but this is most likely the desired output). - checkEntityNameVisibility(input.name.expression, enclosingDeclaration); - return visitEachChild(input, visitDeclarationSubtree, context); + return; } - return; } } From 328d7f0729ba08694f7ae2847fb14ab060fce03c Mon Sep 17 00:00:00 2001 From: Wesley Wigham Date: Fri, 3 May 2024 12:25:05 -0700 Subject: [PATCH 4/8] Revise assert --- src/compiler/transformers/declarations.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/compiler/transformers/declarations.ts b/src/compiler/transformers/declarations.ts index e908b98aa1c72..32adf3bd26c7a 100644 --- a/src/compiler/transformers/declarations.ts +++ b/src/compiler/transformers/declarations.ts @@ -1007,11 +1007,11 @@ export function transformDeclarations(context: TransformationContext) { context.addDiagnostic(createDiagnosticForNode(input, Diagnostics.Computed_properties_must_be_number_or_string_literals_variables_or_dotted_expressions_with_isolatedDeclarations)); } if (!isEntityNameExpression(input.name.expression)) { - // A.B.C that is not late bound - usually this means the expression did not resolve. - // Check the entity name, and copy the declaration, rather than elide it (there's - // probably a checker error in the input, but this is most likely the desired output). return; } + // A.B.C that is not late bound - usually this means the expression did not resolve. + // Check the entity name, and copy the declaration, rather than elide it (there's + // probably a checker error in the input, but this is most likely the desired output). } } @@ -1783,7 +1783,7 @@ export function transformDeclarations(context: TransformationContext) { getSymbolAccessibilityDiagnostic = createGetSymbolAccessibilityDiagnosticForNodeName(node); } errorNameNode = (node as NamedDeclaration).name; - Debug.assert(resolver.isLateBound(getParseTreeNode(node) as Declaration)); // Should only be called with dynamic names + Debug.assert(hasDynamicName(node as NamedDeclaration)); // Should only be called with dynamic names const decl = node as NamedDeclaration as LateBoundDeclaration; const entityName = decl.name.expression; checkEntityNameVisibility(entityName, enclosingDeclaration); From 49cc279cd2d1a13ebb39c48d52dbe87e7b678ab9 Mon Sep 17 00:00:00 2001 From: TypeScript Bot Date: Fri, 3 May 2024 19:43:32 +0000 Subject: [PATCH 5/8] Update Baselines and/or Applied Lint Fixes --- tests/baselines/reference/giant.errors.txt | 16 +- ...solatedDeclarationErrorsClasses.errors.txt | 139 +++++++++++ .../isolatedDeclarationErrorsClasses.js | 94 ++++++++ .../isolatedDeclarationErrorsClasses.symbols | 121 ++++++++++ .../isolatedDeclarationErrorsClasses.types | 220 ++++++++++++++++++ 5 files changed, 582 insertions(+), 8 deletions(-) create mode 100644 tests/baselines/reference/isolatedDeclarationErrorsClasses.errors.txt create mode 100644 tests/baselines/reference/isolatedDeclarationErrorsClasses.js create mode 100644 tests/baselines/reference/isolatedDeclarationErrorsClasses.symbols create mode 100644 tests/baselines/reference/isolatedDeclarationErrorsClasses.types diff --git a/tests/baselines/reference/giant.errors.txt b/tests/baselines/reference/giant.errors.txt index 0326cfa70eec6..467716adbeb20 100644 --- a/tests/baselines/reference/giant.errors.txt +++ b/tests/baselines/reference/giant.errors.txt @@ -115,7 +115,7 @@ giant.ts(293,16): error TS2300: Duplicate identifier 'tgF'. giant.ts(293,20): error TS1005: '{' expected. giant.ts(318,5): error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type. giant.ts(318,6): error TS2304: Cannot find name 'p'. -giant.ts(318,6): error TS4025: Exported variable 'eV' has or is using private name 'p'. +giant.ts(318,6): error TS4033: Property '[p]' of exported interface has or is using private name 'p'. giant.ts(319,5): error TS1021: An index signature must have a type annotation. giant.ts(320,6): error TS1096: An index signature must have exactly one parameter. giant.ts(333,5): error TS2386: Overload signatures must all be optional or required. @@ -163,7 +163,7 @@ giant.ts(436,20): error TS2300: Duplicate identifier 'tgF'. giant.ts(436,24): error TS1005: '{' expected. giant.ts(461,9): error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type. giant.ts(461,10): error TS2304: Cannot find name 'p'. -giant.ts(461,10): error TS4025: Exported variable 'eV' has or is using private name 'p'. +giant.ts(461,10): error TS4033: Property '[p]' of exported interface has or is using private name 'p'. giant.ts(462,9): error TS1021: An index signature must have a type annotation. giant.ts(463,10): error TS1096: An index signature must have exactly one parameter. giant.ts(476,9): error TS2386: Overload signatures must all be optional or required. @@ -224,7 +224,7 @@ giant.ts(560,21): error TS1183: An implementation cannot be declared in ambient giant.ts(562,21): error TS1183: An implementation cannot be declared in ambient contexts. giant.ts(586,9): error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type. giant.ts(586,10): error TS2304: Cannot find name 'p'. -giant.ts(586,10): error TS4025: Exported variable 'V' has or is using private name 'p'. +giant.ts(586,10): error TS4033: Property '[p]' of exported interface has or is using private name 'p'. giant.ts(587,9): error TS1021: An index signature must have a type annotation. giant.ts(588,10): error TS1096: An index signature must have exactly one parameter. giant.ts(601,9): error TS2386: Overload signatures must all be optional or required. @@ -242,7 +242,7 @@ giant.ts(625,21): error TS1183: An implementation cannot be declared in ambient giant.ts(627,21): error TS1183: An implementation cannot be declared in ambient contexts. giant.ts(652,9): error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type. giant.ts(652,10): error TS2304: Cannot find name 'p'. -giant.ts(652,10): error TS4025: Exported variable 'eV' has or is using private name 'p'. +giant.ts(652,10): error TS4033: Property '[p]' of exported interface has or is using private name 'p'. giant.ts(653,9): error TS1021: An index signature must have a type annotation. giant.ts(654,10): error TS1096: An index signature must have exactly one parameter. giant.ts(667,9): error TS2386: Overload signatures must all be optional or required. @@ -805,7 +805,7 @@ giant.ts(675,30): error TS1183: An implementation cannot be declared in ambient ~ !!! error TS2304: Cannot find name 'p'. ~ -!!! error TS4025: Exported variable 'eV' has or is using private name 'p'. +!!! error TS4033: Property '[p]' of exported interface has or is using private name 'p'. [p1: string]; ~~~~~~~~~~~~~ !!! error TS1021: An index signature must have a type annotation. @@ -1044,7 +1044,7 @@ giant.ts(675,30): error TS1183: An implementation cannot be declared in ambient ~ !!! error TS2304: Cannot find name 'p'. ~ -!!! error TS4025: Exported variable 'eV' has or is using private name 'p'. +!!! error TS4033: Property '[p]' of exported interface has or is using private name 'p'. [p1: string]; ~~~~~~~~~~~~~ !!! error TS1021: An index signature must have a type annotation. @@ -1291,7 +1291,7 @@ giant.ts(675,30): error TS1183: An implementation cannot be declared in ambient ~ !!! error TS2304: Cannot find name 'p'. ~ -!!! error TS4025: Exported variable 'V' has or is using private name 'p'. +!!! error TS4033: Property '[p]' of exported interface has or is using private name 'p'. [p1: string]; ~~~~~~~~~~~~~ !!! error TS1021: An index signature must have a type annotation. @@ -1393,7 +1393,7 @@ giant.ts(675,30): error TS1183: An implementation cannot be declared in ambient ~ !!! error TS2304: Cannot find name 'p'. ~ -!!! error TS4025: Exported variable 'eV' has or is using private name 'p'. +!!! error TS4033: Property '[p]' of exported interface has or is using private name 'p'. [p1: string]; ~~~~~~~~~~~~~ !!! error TS1021: An index signature must have a type annotation. diff --git a/tests/baselines/reference/isolatedDeclarationErrorsClasses.errors.txt b/tests/baselines/reference/isolatedDeclarationErrorsClasses.errors.txt new file mode 100644 index 0000000000000..282d209b5a293 --- /dev/null +++ b/tests/baselines/reference/isolatedDeclarationErrorsClasses.errors.txt @@ -0,0 +1,139 @@ +isolatedDeclarationErrorsClasses.ts(3,5): error TS9012: Property must have an explicit type annotation with --isolatedDeclarations. +isolatedDeclarationErrorsClasses.ts(4,5): error TS9008: Method must have an explicit return type annotation with --isolatedDeclarations. +isolatedDeclarationErrorsClasses.ts(8,18): error TS7006: Parameter 'p' implicitly has an 'any' type. +isolatedDeclarationErrorsClasses.ts(8,18): error TS9011: Parameter must have an explicit type annotation with --isolatedDeclarations. +isolatedDeclarationErrorsClasses.ts(9,23): error TS9011: Parameter must have an explicit type annotation with --isolatedDeclarations. +isolatedDeclarationErrorsClasses.ts(11,9): error TS9009: At least one accessor must have an explicit return type annotation with --isolatedDeclarations. +isolatedDeclarationErrorsClasses.ts(12,9): error TS7032: Property 'setOnly' implicitly has type 'any', because its set accessor lacks a parameter type annotation. +isolatedDeclarationErrorsClasses.ts(12,17): error TS7006: Parameter 'value' implicitly has an 'any' type. +isolatedDeclarationErrorsClasses.ts(36,5): error TS1166: A computed property name in a class property declaration must have a simple literal type or a 'unique symbol' type. +isolatedDeclarationErrorsClasses.ts(36,6): error TS2304: Cannot find name 'missing'. +isolatedDeclarationErrorsClasses.ts(36,6): error TS4031: Public property '[missing]' of exported class has or is using private name 'missing'. +isolatedDeclarationErrorsClasses.ts(42,5): error TS9008: Method must have an explicit return type annotation with --isolatedDeclarations. +isolatedDeclarationErrorsClasses.ts(42,5): error TS9014: Computed properties must be number or string literals, variables or dotted expressions with --isolatedDeclarations. +isolatedDeclarationErrorsClasses.ts(44,5): error TS9014: Computed properties must be number or string literals, variables or dotted expressions with --isolatedDeclarations. +isolatedDeclarationErrorsClasses.ts(44,35): error TS7006: Parameter 'v' implicitly has an 'any' type. +isolatedDeclarationErrorsClasses.ts(44,35): error TS9011: Parameter must have an explicit type annotation with --isolatedDeclarations. +isolatedDeclarationErrorsClasses.ts(46,9): error TS9014: Computed properties must be number or string literals, variables or dotted expressions with --isolatedDeclarations. +isolatedDeclarationErrorsClasses.ts(48,9): error TS7032: Property '[noParamAnnotationStringName]' implicitly has type 'any', because its set accessor lacks a parameter type annotation. +isolatedDeclarationErrorsClasses.ts(48,9): error TS9014: Computed properties must be number or string literals, variables or dotted expressions with --isolatedDeclarations. +isolatedDeclarationErrorsClasses.ts(48,39): error TS7006: Parameter 'value' implicitly has an 'any' type. +isolatedDeclarationErrorsClasses.ts(50,5): error TS1166: A computed property name in a class property declaration must have a simple literal type or a 'unique symbol' type. +isolatedDeclarationErrorsClasses.ts(55,5): error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type. +isolatedDeclarationErrorsClasses.ts(56,5): error TS7010: '[noAnnotationLiteralName]', which lacks return-type annotation, implicitly has an 'any' return type. +isolatedDeclarationErrorsClasses.ts(56,5): error TS9013: Expression type can't be inferred with --isolatedDeclarations. + + +==== isolatedDeclarationErrorsClasses.ts (24 errors) ==== + export class Cls { + + field = 1 + 1; + ~~~~~ +!!! error TS9012: Property must have an explicit type annotation with --isolatedDeclarations. +!!! related TS9029 isolatedDeclarationErrorsClasses.ts:3:5: Add a type annotation to the property field. + method() {} + ~~~~~~ +!!! error TS9008: Method must have an explicit return type annotation with --isolatedDeclarations. +!!! related TS9034 isolatedDeclarationErrorsClasses.ts:4:5: Add a return type to the method + + methodOk(): void {} + + methodParams(p): void {} + ~ +!!! error TS7006: Parameter 'p' implicitly has an 'any' type. + ~ +!!! error TS9011: Parameter must have an explicit type annotation with --isolatedDeclarations. +!!! related TS9028 isolatedDeclarationErrorsClasses.ts:8:18: Add a type annotation to the parameter p. + methodParams2(p = 1 + 1): void {} + ~~~~~ +!!! error TS9011: Parameter must have an explicit type annotation with --isolatedDeclarations. +!!! related TS9028 isolatedDeclarationErrorsClasses.ts:9:19: Add a type annotation to the parameter p. + + get getOnly() { return 1 + 1 } + ~~~~~~~ +!!! error TS9009: At least one accessor must have an explicit return type annotation with --isolatedDeclarations. +!!! related TS9032 isolatedDeclarationErrorsClasses.ts:11:9: Add a return type to the get accessor declaration. + set setOnly(value) { } + ~~~~~~~ +!!! error TS7032: Property 'setOnly' implicitly has type 'any', because its set accessor lacks a parameter type annotation. + ~~~~~ +!!! error TS7006: Parameter 'value' implicitly has an 'any' type. + + get getSetBad() { return 0 } + set getSetBad(value) { } + + get getSetOk(): number { return 0 } + set getSetOk(value) { } + + get getSetOk2() { return 0 } + set getSetOk2(value: number) { } + + get getSetOk3(): number { return 0 } + set getSetOk3(value: number) { } + } + + let noAnnotationStringName: string = "noAnnotationStringName"; + let noParamAnnotationStringName: string = "noParamAnnotationStringName"; + + const noAnnotationLiteralName = "noAnnotationLiteralName"; + const noParamAnnotationLiteralName = "noParamAnnotationLiteralName"; + + export class C { + + // Should not be reported as an isolated declaration error + [missing] = 1; + ~~~~~~~~~ +!!! error TS1166: A computed property name in a class property declaration must have a simple literal type or a 'unique symbol' type. + ~~~~~~~ +!!! error TS2304: Cannot find name 'missing'. + ~~~~~~~ +!!! error TS4031: Public property '[missing]' of exported class has or is using private name 'missing'. + + [noAnnotationLiteralName](): void { } + + [noParamAnnotationLiteralName](v: string): void { } + + [noAnnotationStringName]() { } + ~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS9008: Method must have an explicit return type annotation with --isolatedDeclarations. +!!! related TS9034 isolatedDeclarationErrorsClasses.ts:42:5: Add a return type to the method + ~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS9014: Computed properties must be number or string literals, variables or dotted expressions with --isolatedDeclarations. + + [noParamAnnotationStringName](v): void { } + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS9014: Computed properties must be number or string literals, variables or dotted expressions with --isolatedDeclarations. + ~ +!!! error TS7006: Parameter 'v' implicitly has an 'any' type. + ~ +!!! error TS9011: Parameter must have an explicit type annotation with --isolatedDeclarations. +!!! related TS9028 isolatedDeclarationErrorsClasses.ts:44:35: Add a type annotation to the parameter v. + + get [noAnnotationStringName]() { return 0;} + ~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS9014: Computed properties must be number or string literals, variables or dotted expressions with --isolatedDeclarations. + + set [noParamAnnotationStringName](value) { } + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS7032: Property '[noParamAnnotationStringName]' implicitly has type 'any', because its set accessor lacks a parameter type annotation. + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS9014: Computed properties must be number or string literals, variables or dotted expressions with --isolatedDeclarations. + ~~~~~ +!!! error TS7006: Parameter 'value' implicitly has an 'any' type. + + [("A" + "B") as "AB"] = 1; + ~~~~~~~~~~~~~~~~~~~~~ +!!! error TS1166: A computed property name in a class property declaration must have a simple literal type or a 'unique symbol' type. + + } + + export interface I { + [noAnnotationStringName]: 10; + ~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type. + [noAnnotationLiteralName](); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS7010: '[noAnnotationLiteralName]', which lacks return-type annotation, implicitly has an 'any' return type. + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS9013: Expression type can't be inferred with --isolatedDeclarations. + } \ No newline at end of file diff --git a/tests/baselines/reference/isolatedDeclarationErrorsClasses.js b/tests/baselines/reference/isolatedDeclarationErrorsClasses.js new file mode 100644 index 0000000000000..9be39e7476159 --- /dev/null +++ b/tests/baselines/reference/isolatedDeclarationErrorsClasses.js @@ -0,0 +1,94 @@ +//// [tests/cases/compiler/isolatedDeclarationErrorsClasses.ts] //// + +//// [isolatedDeclarationErrorsClasses.ts] +export class Cls { + + field = 1 + 1; + method() {} + + methodOk(): void {} + + methodParams(p): void {} + methodParams2(p = 1 + 1): void {} + + get getOnly() { return 1 + 1 } + set setOnly(value) { } + + get getSetBad() { return 0 } + set getSetBad(value) { } + + get getSetOk(): number { return 0 } + set getSetOk(value) { } + + get getSetOk2() { return 0 } + set getSetOk2(value: number) { } + + get getSetOk3(): number { return 0 } + set getSetOk3(value: number) { } +} + +let noAnnotationStringName: string = "noAnnotationStringName"; +let noParamAnnotationStringName: string = "noParamAnnotationStringName"; + +const noAnnotationLiteralName = "noAnnotationLiteralName"; +const noParamAnnotationLiteralName = "noParamAnnotationLiteralName"; + +export class C { + + // Should not be reported as an isolated declaration error + [missing] = 1; + + [noAnnotationLiteralName](): void { } + + [noParamAnnotationLiteralName](v: string): void { } + + [noAnnotationStringName]() { } + + [noParamAnnotationStringName](v): void { } + + get [noAnnotationStringName]() { return 0;} + + set [noParamAnnotationStringName](value) { } + + [("A" + "B") as "AB"] = 1; + +} + +export interface I { + [noAnnotationStringName]: 10; + [noAnnotationLiteralName](); +} + +//// [isolatedDeclarationErrorsClasses.js] +export class Cls { + field = 1 + 1; + method() { } + methodOk() { } + methodParams(p) { } + methodParams2(p = 1 + 1) { } + get getOnly() { return 1 + 1; } + set setOnly(value) { } + get getSetBad() { return 0; } + set getSetBad(value) { } + get getSetOk() { return 0; } + set getSetOk(value) { } + get getSetOk2() { return 0; } + set getSetOk2(value) { } + get getSetOk3() { return 0; } + set getSetOk3(value) { } +} +let noAnnotationStringName = "noAnnotationStringName"; +let noParamAnnotationStringName = "noParamAnnotationStringName"; +const noAnnotationLiteralName = "noAnnotationLiteralName"; +const noParamAnnotationLiteralName = "noParamAnnotationLiteralName"; +export class C { + // Should not be reported as an isolated declaration error + [missing] = 1; + [noAnnotationLiteralName]() { } + [noParamAnnotationLiteralName](v) { } + [noAnnotationStringName]() { } + [noParamAnnotationStringName](v) { } + get [noAnnotationStringName]() { return 0; } + set [noParamAnnotationStringName](value) { } + [("A" + "B")] = 1; +} diff --git a/tests/baselines/reference/isolatedDeclarationErrorsClasses.symbols b/tests/baselines/reference/isolatedDeclarationErrorsClasses.symbols new file mode 100644 index 0000000000000..8a49eee4ad712 --- /dev/null +++ b/tests/baselines/reference/isolatedDeclarationErrorsClasses.symbols @@ -0,0 +1,121 @@ +//// [tests/cases/compiler/isolatedDeclarationErrorsClasses.ts] //// + +=== isolatedDeclarationErrorsClasses.ts === +export class Cls { +>Cls : Symbol(Cls, Decl(isolatedDeclarationErrorsClasses.ts, 0, 0)) + + field = 1 + 1; +>field : Symbol(Cls.field, Decl(isolatedDeclarationErrorsClasses.ts, 0, 18)) + + method() {} +>method : Symbol(Cls.method, Decl(isolatedDeclarationErrorsClasses.ts, 2, 18)) + + methodOk(): void {} +>methodOk : Symbol(Cls.methodOk, Decl(isolatedDeclarationErrorsClasses.ts, 3, 15)) + + methodParams(p): void {} +>methodParams : Symbol(Cls.methodParams, Decl(isolatedDeclarationErrorsClasses.ts, 5, 23)) +>p : Symbol(p, Decl(isolatedDeclarationErrorsClasses.ts, 7, 17)) + + methodParams2(p = 1 + 1): void {} +>methodParams2 : Symbol(Cls.methodParams2, Decl(isolatedDeclarationErrorsClasses.ts, 7, 28)) +>p : Symbol(p, Decl(isolatedDeclarationErrorsClasses.ts, 8, 18)) + + get getOnly() { return 1 + 1 } +>getOnly : Symbol(Cls.getOnly, Decl(isolatedDeclarationErrorsClasses.ts, 8, 37)) + + set setOnly(value) { } +>setOnly : Symbol(Cls.setOnly, Decl(isolatedDeclarationErrorsClasses.ts, 10, 34)) +>value : Symbol(value, Decl(isolatedDeclarationErrorsClasses.ts, 11, 16)) + + get getSetBad() { return 0 } +>getSetBad : Symbol(Cls.getSetBad, Decl(isolatedDeclarationErrorsClasses.ts, 11, 26), Decl(isolatedDeclarationErrorsClasses.ts, 13, 32)) + + set getSetBad(value) { } +>getSetBad : Symbol(Cls.getSetBad, Decl(isolatedDeclarationErrorsClasses.ts, 11, 26), Decl(isolatedDeclarationErrorsClasses.ts, 13, 32)) +>value : Symbol(value, Decl(isolatedDeclarationErrorsClasses.ts, 14, 18)) + + get getSetOk(): number { return 0 } +>getSetOk : Symbol(Cls.getSetOk, Decl(isolatedDeclarationErrorsClasses.ts, 14, 28), Decl(isolatedDeclarationErrorsClasses.ts, 16, 39)) + + set getSetOk(value) { } +>getSetOk : Symbol(Cls.getSetOk, Decl(isolatedDeclarationErrorsClasses.ts, 14, 28), Decl(isolatedDeclarationErrorsClasses.ts, 16, 39)) +>value : Symbol(value, Decl(isolatedDeclarationErrorsClasses.ts, 17, 17)) + + get getSetOk2() { return 0 } +>getSetOk2 : Symbol(Cls.getSetOk2, Decl(isolatedDeclarationErrorsClasses.ts, 17, 27), Decl(isolatedDeclarationErrorsClasses.ts, 19, 32)) + + set getSetOk2(value: number) { } +>getSetOk2 : Symbol(Cls.getSetOk2, Decl(isolatedDeclarationErrorsClasses.ts, 17, 27), Decl(isolatedDeclarationErrorsClasses.ts, 19, 32)) +>value : Symbol(value, Decl(isolatedDeclarationErrorsClasses.ts, 20, 18)) + + get getSetOk3(): number { return 0 } +>getSetOk3 : Symbol(Cls.getSetOk3, Decl(isolatedDeclarationErrorsClasses.ts, 20, 36), Decl(isolatedDeclarationErrorsClasses.ts, 22, 40)) + + set getSetOk3(value: number) { } +>getSetOk3 : Symbol(Cls.getSetOk3, Decl(isolatedDeclarationErrorsClasses.ts, 20, 36), Decl(isolatedDeclarationErrorsClasses.ts, 22, 40)) +>value : Symbol(value, Decl(isolatedDeclarationErrorsClasses.ts, 23, 18)) +} + +let noAnnotationStringName: string = "noAnnotationStringName"; +>noAnnotationStringName : Symbol(noAnnotationStringName, Decl(isolatedDeclarationErrorsClasses.ts, 26, 3)) + +let noParamAnnotationStringName: string = "noParamAnnotationStringName"; +>noParamAnnotationStringName : Symbol(noParamAnnotationStringName, Decl(isolatedDeclarationErrorsClasses.ts, 27, 3)) + +const noAnnotationLiteralName = "noAnnotationLiteralName"; +>noAnnotationLiteralName : Symbol(noAnnotationLiteralName, Decl(isolatedDeclarationErrorsClasses.ts, 29, 5)) + +const noParamAnnotationLiteralName = "noParamAnnotationLiteralName"; +>noParamAnnotationLiteralName : Symbol(noParamAnnotationLiteralName, Decl(isolatedDeclarationErrorsClasses.ts, 30, 5)) + +export class C { +>C : Symbol(C, Decl(isolatedDeclarationErrorsClasses.ts, 30, 68)) + + // Should not be reported as an isolated declaration error + [missing] = 1; +>[missing] : Symbol(C[missing], Decl(isolatedDeclarationErrorsClasses.ts, 32, 16)) + + [noAnnotationLiteralName](): void { } +>[noAnnotationLiteralName] : Symbol(C[noAnnotationLiteralName], Decl(isolatedDeclarationErrorsClasses.ts, 35, 18)) +>noAnnotationLiteralName : Symbol(noAnnotationLiteralName, Decl(isolatedDeclarationErrorsClasses.ts, 29, 5)) + + [noParamAnnotationLiteralName](v: string): void { } +>[noParamAnnotationLiteralName] : Symbol(C[noParamAnnotationLiteralName], Decl(isolatedDeclarationErrorsClasses.ts, 37, 41)) +>noParamAnnotationLiteralName : Symbol(noParamAnnotationLiteralName, Decl(isolatedDeclarationErrorsClasses.ts, 30, 5)) +>v : Symbol(v, Decl(isolatedDeclarationErrorsClasses.ts, 39, 35)) + + [noAnnotationStringName]() { } +>[noAnnotationStringName] : Symbol(C[noAnnotationStringName], Decl(isolatedDeclarationErrorsClasses.ts, 39, 55)) +>noAnnotationStringName : Symbol(noAnnotationStringName, Decl(isolatedDeclarationErrorsClasses.ts, 26, 3)) + + [noParamAnnotationStringName](v): void { } +>[noParamAnnotationStringName] : Symbol(C[noParamAnnotationStringName], Decl(isolatedDeclarationErrorsClasses.ts, 41, 34)) +>noParamAnnotationStringName : Symbol(noParamAnnotationStringName, Decl(isolatedDeclarationErrorsClasses.ts, 27, 3)) +>v : Symbol(v, Decl(isolatedDeclarationErrorsClasses.ts, 43, 34)) + + get [noAnnotationStringName]() { return 0;} +>[noAnnotationStringName] : Symbol(C[noAnnotationStringName], Decl(isolatedDeclarationErrorsClasses.ts, 43, 46)) +>noAnnotationStringName : Symbol(noAnnotationStringName, Decl(isolatedDeclarationErrorsClasses.ts, 26, 3)) + + set [noParamAnnotationStringName](value) { } +>[noParamAnnotationStringName] : Symbol(C[noParamAnnotationStringName], Decl(isolatedDeclarationErrorsClasses.ts, 45, 47)) +>noParamAnnotationStringName : Symbol(noParamAnnotationStringName, Decl(isolatedDeclarationErrorsClasses.ts, 27, 3)) +>value : Symbol(value, Decl(isolatedDeclarationErrorsClasses.ts, 47, 38)) + + [("A" + "B") as "AB"] = 1; +>[("A" + "B") as "AB"] : Symbol(C[("A" + "B") as "AB"], Decl(isolatedDeclarationErrorsClasses.ts, 47, 48)) + +} + +export interface I { +>I : Symbol(I, Decl(isolatedDeclarationErrorsClasses.ts, 51, 1)) + + [noAnnotationStringName]: 10; +>[noAnnotationStringName] : Symbol(I[noAnnotationStringName], Decl(isolatedDeclarationErrorsClasses.ts, 53, 20)) +>noAnnotationStringName : Symbol(noAnnotationStringName, Decl(isolatedDeclarationErrorsClasses.ts, 26, 3)) + + [noAnnotationLiteralName](); +>[noAnnotationLiteralName] : Symbol(I[noAnnotationLiteralName], Decl(isolatedDeclarationErrorsClasses.ts, 54, 33)) +>noAnnotationLiteralName : Symbol(noAnnotationLiteralName, Decl(isolatedDeclarationErrorsClasses.ts, 29, 5)) +} diff --git a/tests/baselines/reference/isolatedDeclarationErrorsClasses.types b/tests/baselines/reference/isolatedDeclarationErrorsClasses.types new file mode 100644 index 0000000000000..aa310b6119e7c --- /dev/null +++ b/tests/baselines/reference/isolatedDeclarationErrorsClasses.types @@ -0,0 +1,220 @@ +//// [tests/cases/compiler/isolatedDeclarationErrorsClasses.ts] //// + +=== isolatedDeclarationErrorsClasses.ts === +export class Cls { +>Cls : Cls +> : ^^^ + + field = 1 + 1; +>field : number +> : ^^^^^^ +>1 + 1 : number +> : ^^^^^^ +>1 : 1 +> : ^ +>1 : 1 +> : ^ + + method() {} +>method : () => void +> : ^^^^^^^^^^ + + methodOk(): void {} +>methodOk : () => void +> : ^^^^^^ + + methodParams(p): void {} +>methodParams : (p: any) => void +> : ^ ^^^^^^^^^^ +>p : any +> : ^^^ + + methodParams2(p = 1 + 1): void {} +>methodParams2 : (p?: number) => void +> : ^ ^^^^^^^^^^^^^^ +>p : number +> : ^^^^^^ +>1 + 1 : number +> : ^^^^^^ +>1 : 1 +> : ^ +>1 : 1 +> : ^ + + get getOnly() { return 1 + 1 } +>getOnly : number +> : ^^^^^^ +>1 + 1 : number +> : ^^^^^^ +>1 : 1 +> : ^ +>1 : 1 +> : ^ + + set setOnly(value) { } +>setOnly : any +> : ^^^ +>value : any +> : ^^^ + + get getSetBad() { return 0 } +>getSetBad : number +> : ^^^^^^ +>0 : 0 +> : ^ + + set getSetBad(value) { } +>getSetBad : number +> : ^^^^^^ +>value : number +> : ^^^^^^ + + get getSetOk(): number { return 0 } +>getSetOk : number +> : ^^^^^^ +>0 : 0 +> : ^ + + set getSetOk(value) { } +>getSetOk : number +> : ^^^^^^ +>value : number +> : ^^^^^^ + + get getSetOk2() { return 0 } +>getSetOk2 : number +> : ^^^^^^ +>0 : 0 +> : ^ + + set getSetOk2(value: number) { } +>getSetOk2 : number +> : ^^^^^^ +>value : number +> : ^^^^^^ + + get getSetOk3(): number { return 0 } +>getSetOk3 : number +> : ^^^^^^ +>0 : 0 +> : ^ + + set getSetOk3(value: number) { } +>getSetOk3 : number +> : ^^^^^^ +>value : number +> : ^^^^^^ +} + +let noAnnotationStringName: string = "noAnnotationStringName"; +>noAnnotationStringName : string +> : ^^^^^^ +>"noAnnotationStringName" : "noAnnotationStringName" +> : ^^^^^^^^^^^^^^^^^^^^^^^^ + +let noParamAnnotationStringName: string = "noParamAnnotationStringName"; +>noParamAnnotationStringName : string +> : ^^^^^^ +>"noParamAnnotationStringName" : "noParamAnnotationStringName" +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +const noAnnotationLiteralName = "noAnnotationLiteralName"; +>noAnnotationLiteralName : "noAnnotationLiteralName" +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +>"noAnnotationLiteralName" : "noAnnotationLiteralName" +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ + +const noParamAnnotationLiteralName = "noParamAnnotationLiteralName"; +>noParamAnnotationLiteralName : "noParamAnnotationLiteralName" +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>"noParamAnnotationLiteralName" : "noParamAnnotationLiteralName" +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +export class C { +>C : C +> : ^ + + // Should not be reported as an isolated declaration error + [missing] = 1; +>[missing] : number +> : ^^^^^^ +>missing : any +> : ^^^ +>1 : 1 +> : ^ + + [noAnnotationLiteralName](): void { } +>[noAnnotationLiteralName] : () => void +> : ^^^^^^ +>noAnnotationLiteralName : "noAnnotationLiteralName" +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ + + [noParamAnnotationLiteralName](v: string): void { } +>[noParamAnnotationLiteralName] : (v: string) => void +> : ^ ^^ ^^^^^ +>noParamAnnotationLiteralName : "noParamAnnotationLiteralName" +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>v : string +> : ^^^^^^ + + [noAnnotationStringName]() { } +>[noAnnotationStringName] : () => void +> : ^^^^^^^^^^ +>noAnnotationStringName : string +> : ^^^^^^ + + [noParamAnnotationStringName](v): void { } +>[noParamAnnotationStringName] : (v: any) => void +> : ^ ^^^^^^^^^^ +>noParamAnnotationStringName : string +> : ^^^^^^ +>v : any +> : ^^^ + + get [noAnnotationStringName]() { return 0;} +>[noAnnotationStringName] : number +> : ^^^^^^ +>noAnnotationStringName : string +> : ^^^^^^ +>0 : 0 +> : ^ + + set [noParamAnnotationStringName](value) { } +>[noParamAnnotationStringName] : any +> : ^^^ +>noParamAnnotationStringName : string +> : ^^^^^^ +>value : any +> : ^^^ + + [("A" + "B") as "AB"] = 1; +>[("A" + "B") as "AB"] : number +> : ^^^^^^ +>("A" + "B") as "AB" : "AB" +> : ^^^^ +>("A" + "B") : string +> : ^^^^^^ +>"A" + "B" : string +> : ^^^^^^ +>"A" : "A" +> : ^^^ +>"B" : "B" +> : ^^^ +>1 : 1 +> : ^ + +} + +export interface I { + [noAnnotationStringName]: 10; +>[noAnnotationStringName] : 10 +> : ^^ +>noAnnotationStringName : string +> : ^^^^^^ + + [noAnnotationLiteralName](); +>[noAnnotationLiteralName] : () => any +> : ^^^^^^^^^ +>noAnnotationLiteralName : "noAnnotationLiteralName" +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +} From d59c6650d9f34c28be2294ab3340a6a28765ded5 Mon Sep 17 00:00:00 2001 From: Wesley Wigham Date: Fri, 3 May 2024 17:18:55 -0700 Subject: [PATCH 6/8] Change giant.ts to have a resolvable [p] so declaration emit is not blocked --- tests/baselines/reference/giant.errors.txt | 513 ++++---- tests/baselines/reference/giant.js | 303 +++++ tests/baselines/reference/giant.symbols | 1291 ++++++++++---------- tests/baselines/reference/giant.types | 38 +- tests/cases/compiler/giant.ts | 1 + 5 files changed, 1204 insertions(+), 942 deletions(-) diff --git a/tests/baselines/reference/giant.errors.txt b/tests/baselines/reference/giant.errors.txt index 467716adbeb20..47c79a67ce938 100644 --- a/tests/baselines/reference/giant.errors.txt +++ b/tests/baselines/reference/giant.errors.txt @@ -1,257 +1,237 @@ -giant.ts(22,12): error TS2300: Duplicate identifier 'pgF'. -giant.ts(23,16): error TS2300: Duplicate identifier 'pgF'. -giant.ts(23,20): error TS1005: '{' expected. -giant.ts(24,12): error TS2300: Duplicate identifier 'psF'. -giant.ts(25,16): error TS2300: Duplicate identifier 'psF'. -giant.ts(25,29): error TS1005: '{' expected. -giant.ts(26,13): error TS2300: Duplicate identifier 'rgF'. -giant.ts(27,17): error TS2300: Duplicate identifier 'rgF'. -giant.ts(27,21): error TS1005: '{' expected. -giant.ts(28,13): error TS2300: Duplicate identifier 'rsF'. -giant.ts(29,17): error TS2300: Duplicate identifier 'rsF'. -giant.ts(29,30): error TS1005: '{' expected. -giant.ts(32,12): error TS2300: Duplicate identifier 'tsF'. -giant.ts(33,16): error TS2300: Duplicate identifier 'tsF'. -giant.ts(33,29): error TS1005: '{' expected. -giant.ts(34,12): error TS2300: Duplicate identifier 'tgF'. -giant.ts(35,16): error TS2300: Duplicate identifier 'tgF'. -giant.ts(35,20): error TS1005: '{' expected. -giant.ts(60,5): error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type. -giant.ts(60,6): error TS2304: Cannot find name 'p'. -giant.ts(61,5): error TS1021: An index signature must have a type annotation. -giant.ts(62,6): error TS1096: An index signature must have exactly one parameter. -giant.ts(75,5): error TS2386: Overload signatures must all be optional or required. -giant.ts(86,16): error TS2300: Duplicate identifier 'pgF'. -giant.ts(87,20): error TS2300: Duplicate identifier 'pgF'. -giant.ts(87,24): error TS1005: '{' expected. -giant.ts(88,16): error TS2300: Duplicate identifier 'psF'. -giant.ts(89,20): error TS2300: Duplicate identifier 'psF'. -giant.ts(89,33): error TS1005: '{' expected. -giant.ts(90,17): error TS2300: Duplicate identifier 'rgF'. -giant.ts(91,21): error TS2300: Duplicate identifier 'rgF'. -giant.ts(91,25): error TS1005: '{' expected. -giant.ts(92,17): error TS2300: Duplicate identifier 'rsF'. -giant.ts(93,21): error TS2300: Duplicate identifier 'rsF'. -giant.ts(93,34): error TS1005: '{' expected. -giant.ts(96,16): error TS2300: Duplicate identifier 'tsF'. -giant.ts(97,20): error TS2300: Duplicate identifier 'tsF'. -giant.ts(97,33): error TS1005: '{' expected. -giant.ts(98,16): error TS2300: Duplicate identifier 'tgF'. -giant.ts(99,20): error TS2300: Duplicate identifier 'tgF'. -giant.ts(99,24): error TS1005: '{' expected. -giant.ts(124,9): error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type. -giant.ts(124,10): error TS2304: Cannot find name 'p'. -giant.ts(125,9): error TS1021: An index signature must have a type annotation. -giant.ts(126,10): error TS1096: An index signature must have exactly one parameter. -giant.ts(139,9): error TS2386: Overload signatures must all be optional or required. -giant.ts(153,39): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(165,16): error TS2300: Duplicate identifier 'pgF'. -giant.ts(166,20): error TS2300: Duplicate identifier 'pgF'. -giant.ts(166,24): error TS1005: '{' expected. -giant.ts(167,16): error TS2300: Duplicate identifier 'psF'. -giant.ts(168,20): error TS2300: Duplicate identifier 'psF'. -giant.ts(168,33): error TS1005: '{' expected. -giant.ts(169,17): error TS2300: Duplicate identifier 'rgF'. -giant.ts(170,21): error TS2300: Duplicate identifier 'rgF'. -giant.ts(170,25): error TS1005: '{' expected. -giant.ts(171,17): error TS2300: Duplicate identifier 'rsF'. -giant.ts(172,21): error TS2300: Duplicate identifier 'rsF'. -giant.ts(172,34): error TS1005: '{' expected. -giant.ts(175,16): error TS2300: Duplicate identifier 'tsF'. -giant.ts(176,20): error TS2300: Duplicate identifier 'tsF'. -giant.ts(176,33): error TS1005: '{' expected. -giant.ts(177,16): error TS2300: Duplicate identifier 'tgF'. -giant.ts(178,20): error TS2300: Duplicate identifier 'tgF'. -giant.ts(178,24): error TS1005: '{' expected. -giant.ts(203,9): error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type. -giant.ts(203,10): error TS2304: Cannot find name 'p'. -giant.ts(204,9): error TS1021: An index signature must have a type annotation. -giant.ts(205,10): error TS1096: An index signature must have exactly one parameter. -giant.ts(218,9): error TS2386: Overload signatures must all be optional or required. -giant.ts(232,39): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(237,35): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(239,24): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(242,21): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(243,22): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(244,16): error TS2300: Duplicate identifier 'pgF'. +giant.ts(23,12): error TS2300: Duplicate identifier 'pgF'. +giant.ts(24,16): error TS2300: Duplicate identifier 'pgF'. +giant.ts(24,20): error TS1005: '{' expected. +giant.ts(25,12): error TS2300: Duplicate identifier 'psF'. +giant.ts(26,16): error TS2300: Duplicate identifier 'psF'. +giant.ts(26,29): error TS1005: '{' expected. +giant.ts(27,13): error TS2300: Duplicate identifier 'rgF'. +giant.ts(28,17): error TS2300: Duplicate identifier 'rgF'. +giant.ts(28,21): error TS1005: '{' expected. +giant.ts(29,13): error TS2300: Duplicate identifier 'rsF'. +giant.ts(30,17): error TS2300: Duplicate identifier 'rsF'. +giant.ts(30,30): error TS1005: '{' expected. +giant.ts(33,12): error TS2300: Duplicate identifier 'tsF'. +giant.ts(34,16): error TS2300: Duplicate identifier 'tsF'. +giant.ts(34,29): error TS1005: '{' expected. +giant.ts(35,12): error TS2300: Duplicate identifier 'tgF'. +giant.ts(36,16): error TS2300: Duplicate identifier 'tgF'. +giant.ts(36,20): error TS1005: '{' expected. +giant.ts(62,5): error TS1021: An index signature must have a type annotation. +giant.ts(63,6): error TS1096: An index signature must have exactly one parameter. +giant.ts(76,5): error TS2386: Overload signatures must all be optional or required. +giant.ts(87,16): error TS2300: Duplicate identifier 'pgF'. +giant.ts(88,20): error TS2300: Duplicate identifier 'pgF'. +giant.ts(88,24): error TS1005: '{' expected. +giant.ts(89,16): error TS2300: Duplicate identifier 'psF'. +giant.ts(90,20): error TS2300: Duplicate identifier 'psF'. +giant.ts(90,33): error TS1005: '{' expected. +giant.ts(91,17): error TS2300: Duplicate identifier 'rgF'. +giant.ts(92,21): error TS2300: Duplicate identifier 'rgF'. +giant.ts(92,25): error TS1005: '{' expected. +giant.ts(93,17): error TS2300: Duplicate identifier 'rsF'. +giant.ts(94,21): error TS2300: Duplicate identifier 'rsF'. +giant.ts(94,34): error TS1005: '{' expected. +giant.ts(97,16): error TS2300: Duplicate identifier 'tsF'. +giant.ts(98,20): error TS2300: Duplicate identifier 'tsF'. +giant.ts(98,33): error TS1005: '{' expected. +giant.ts(99,16): error TS2300: Duplicate identifier 'tgF'. +giant.ts(100,20): error TS2300: Duplicate identifier 'tgF'. +giant.ts(100,24): error TS1005: '{' expected. +giant.ts(126,9): error TS1021: An index signature must have a type annotation. +giant.ts(127,10): error TS1096: An index signature must have exactly one parameter. +giant.ts(140,9): error TS2386: Overload signatures must all be optional or required. +giant.ts(154,39): error TS1183: An implementation cannot be declared in ambient contexts. +giant.ts(166,16): error TS2300: Duplicate identifier 'pgF'. +giant.ts(167,20): error TS2300: Duplicate identifier 'pgF'. +giant.ts(167,24): error TS1005: '{' expected. +giant.ts(168,16): error TS2300: Duplicate identifier 'psF'. +giant.ts(169,20): error TS2300: Duplicate identifier 'psF'. +giant.ts(169,33): error TS1005: '{' expected. +giant.ts(170,17): error TS2300: Duplicate identifier 'rgF'. +giant.ts(171,21): error TS2300: Duplicate identifier 'rgF'. +giant.ts(171,25): error TS1005: '{' expected. +giant.ts(172,17): error TS2300: Duplicate identifier 'rsF'. +giant.ts(173,21): error TS2300: Duplicate identifier 'rsF'. +giant.ts(173,34): error TS1005: '{' expected. +giant.ts(176,16): error TS2300: Duplicate identifier 'tsF'. +giant.ts(177,20): error TS2300: Duplicate identifier 'tsF'. +giant.ts(177,33): error TS1005: '{' expected. +giant.ts(178,16): error TS2300: Duplicate identifier 'tgF'. +giant.ts(179,20): error TS2300: Duplicate identifier 'tgF'. +giant.ts(179,24): error TS1005: '{' expected. +giant.ts(205,9): error TS1021: An index signature must have a type annotation. +giant.ts(206,10): error TS1096: An index signature must have exactly one parameter. +giant.ts(219,9): error TS2386: Overload signatures must all be optional or required. +giant.ts(233,39): error TS1183: An implementation cannot be declared in ambient contexts. +giant.ts(238,35): error TS1183: An implementation cannot be declared in ambient contexts. +giant.ts(240,24): error TS1183: An implementation cannot be declared in ambient contexts. +giant.ts(243,21): error TS1183: An implementation cannot be declared in ambient contexts. giant.ts(244,22): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(245,20): error TS2300: Duplicate identifier 'pgF'. -giant.ts(246,16): error TS2300: Duplicate identifier 'psF'. -giant.ts(246,31): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(247,20): error TS2300: Duplicate identifier 'psF'. -giant.ts(248,17): error TS2300: Duplicate identifier 'rgF'. -giant.ts(248,23): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(249,21): error TS2300: Duplicate identifier 'rgF'. -giant.ts(250,17): error TS2300: Duplicate identifier 'rsF'. -giant.ts(250,32): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(251,21): error TS2300: Duplicate identifier 'rsF'. -giant.ts(253,21): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(254,16): error TS2300: Duplicate identifier 'tsF'. -giant.ts(254,31): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(255,20): error TS2300: Duplicate identifier 'tsF'. -giant.ts(256,16): error TS2300: Duplicate identifier 'tgF'. -giant.ts(256,22): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(257,20): error TS2300: Duplicate identifier 'tgF'. -giant.ts(261,22): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(261,25): error TS1036: Statements are not allowed in ambient contexts. -giant.ts(266,30): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(280,12): error TS2300: Duplicate identifier 'pgF'. -giant.ts(281,16): error TS2300: Duplicate identifier 'pgF'. -giant.ts(281,20): error TS1005: '{' expected. -giant.ts(282,12): error TS2300: Duplicate identifier 'psF'. -giant.ts(283,16): error TS2300: Duplicate identifier 'psF'. -giant.ts(283,29): error TS1005: '{' expected. -giant.ts(284,13): error TS2300: Duplicate identifier 'rgF'. -giant.ts(285,17): error TS2300: Duplicate identifier 'rgF'. -giant.ts(285,21): error TS1005: '{' expected. -giant.ts(286,13): error TS2300: Duplicate identifier 'rsF'. -giant.ts(287,17): error TS2300: Duplicate identifier 'rsF'. -giant.ts(287,30): error TS1005: '{' expected. -giant.ts(290,12): error TS2300: Duplicate identifier 'tsF'. -giant.ts(291,16): error TS2300: Duplicate identifier 'tsF'. -giant.ts(291,29): error TS1005: '{' expected. -giant.ts(292,12): error TS2300: Duplicate identifier 'tgF'. -giant.ts(293,16): error TS2300: Duplicate identifier 'tgF'. -giant.ts(293,20): error TS1005: '{' expected. -giant.ts(318,5): error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type. -giant.ts(318,6): error TS2304: Cannot find name 'p'. -giant.ts(318,6): error TS4033: Property '[p]' of exported interface has or is using private name 'p'. -giant.ts(319,5): error TS1021: An index signature must have a type annotation. -giant.ts(320,6): error TS1096: An index signature must have exactly one parameter. -giant.ts(333,5): error TS2386: Overload signatures must all be optional or required. -giant.ts(344,16): error TS2300: Duplicate identifier 'pgF'. -giant.ts(345,20): error TS2300: Duplicate identifier 'pgF'. -giant.ts(345,24): error TS1005: '{' expected. -giant.ts(346,16): error TS2300: Duplicate identifier 'psF'. -giant.ts(347,20): error TS2300: Duplicate identifier 'psF'. -giant.ts(347,33): error TS1005: '{' expected. -giant.ts(348,17): error TS2300: Duplicate identifier 'rgF'. -giant.ts(349,21): error TS2300: Duplicate identifier 'rgF'. -giant.ts(349,25): error TS1005: '{' expected. -giant.ts(350,17): error TS2300: Duplicate identifier 'rsF'. -giant.ts(351,21): error TS2300: Duplicate identifier 'rsF'. -giant.ts(351,34): error TS1005: '{' expected. -giant.ts(354,16): error TS2300: Duplicate identifier 'tsF'. -giant.ts(355,20): error TS2300: Duplicate identifier 'tsF'. -giant.ts(355,33): error TS1005: '{' expected. -giant.ts(356,16): error TS2300: Duplicate identifier 'tgF'. -giant.ts(357,20): error TS2300: Duplicate identifier 'tgF'. -giant.ts(357,24): error TS1005: '{' expected. -giant.ts(382,9): error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type. -giant.ts(382,10): error TS2304: Cannot find name 'p'. -giant.ts(383,9): error TS1021: An index signature must have a type annotation. -giant.ts(384,10): error TS1096: An index signature must have exactly one parameter. -giant.ts(397,9): error TS2386: Overload signatures must all be optional or required. -giant.ts(411,39): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(423,16): error TS2300: Duplicate identifier 'pgF'. -giant.ts(424,20): error TS2300: Duplicate identifier 'pgF'. -giant.ts(424,24): error TS1005: '{' expected. -giant.ts(425,16): error TS2300: Duplicate identifier 'psF'. -giant.ts(426,20): error TS2300: Duplicate identifier 'psF'. -giant.ts(426,33): error TS1005: '{' expected. -giant.ts(427,17): error TS2300: Duplicate identifier 'rgF'. -giant.ts(428,21): error TS2300: Duplicate identifier 'rgF'. -giant.ts(428,25): error TS1005: '{' expected. -giant.ts(429,17): error TS2300: Duplicate identifier 'rsF'. -giant.ts(430,21): error TS2300: Duplicate identifier 'rsF'. -giant.ts(430,34): error TS1005: '{' expected. -giant.ts(433,16): error TS2300: Duplicate identifier 'tsF'. -giant.ts(434,20): error TS2300: Duplicate identifier 'tsF'. -giant.ts(434,33): error TS1005: '{' expected. -giant.ts(435,16): error TS2300: Duplicate identifier 'tgF'. -giant.ts(436,20): error TS2300: Duplicate identifier 'tgF'. -giant.ts(436,24): error TS1005: '{' expected. -giant.ts(461,9): error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type. -giant.ts(461,10): error TS2304: Cannot find name 'p'. -giant.ts(461,10): error TS4033: Property '[p]' of exported interface has or is using private name 'p'. -giant.ts(462,9): error TS1021: An index signature must have a type annotation. -giant.ts(463,10): error TS1096: An index signature must have exactly one parameter. -giant.ts(476,9): error TS2386: Overload signatures must all be optional or required. -giant.ts(490,39): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(495,35): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(497,24): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(500,21): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(501,22): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(502,16): error TS2300: Duplicate identifier 'pgF'. +giant.ts(245,16): error TS2300: Duplicate identifier 'pgF'. +giant.ts(245,22): error TS1183: An implementation cannot be declared in ambient contexts. +giant.ts(246,20): error TS2300: Duplicate identifier 'pgF'. +giant.ts(247,16): error TS2300: Duplicate identifier 'psF'. +giant.ts(247,31): error TS1183: An implementation cannot be declared in ambient contexts. +giant.ts(248,20): error TS2300: Duplicate identifier 'psF'. +giant.ts(249,17): error TS2300: Duplicate identifier 'rgF'. +giant.ts(249,23): error TS1183: An implementation cannot be declared in ambient contexts. +giant.ts(250,21): error TS2300: Duplicate identifier 'rgF'. +giant.ts(251,17): error TS2300: Duplicate identifier 'rsF'. +giant.ts(251,32): error TS1183: An implementation cannot be declared in ambient contexts. +giant.ts(252,21): error TS2300: Duplicate identifier 'rsF'. +giant.ts(254,21): error TS1183: An implementation cannot be declared in ambient contexts. +giant.ts(255,16): error TS2300: Duplicate identifier 'tsF'. +giant.ts(255,31): error TS1183: An implementation cannot be declared in ambient contexts. +giant.ts(256,20): error TS2300: Duplicate identifier 'tsF'. +giant.ts(257,16): error TS2300: Duplicate identifier 'tgF'. +giant.ts(257,22): error TS1183: An implementation cannot be declared in ambient contexts. +giant.ts(258,20): error TS2300: Duplicate identifier 'tgF'. +giant.ts(262,22): error TS1183: An implementation cannot be declared in ambient contexts. +giant.ts(262,25): error TS1036: Statements are not allowed in ambient contexts. +giant.ts(267,30): error TS1183: An implementation cannot be declared in ambient contexts. +giant.ts(281,12): error TS2300: Duplicate identifier 'pgF'. +giant.ts(282,16): error TS2300: Duplicate identifier 'pgF'. +giant.ts(282,20): error TS1005: '{' expected. +giant.ts(283,12): error TS2300: Duplicate identifier 'psF'. +giant.ts(284,16): error TS2300: Duplicate identifier 'psF'. +giant.ts(284,29): error TS1005: '{' expected. +giant.ts(285,13): error TS2300: Duplicate identifier 'rgF'. +giant.ts(286,17): error TS2300: Duplicate identifier 'rgF'. +giant.ts(286,21): error TS1005: '{' expected. +giant.ts(287,13): error TS2300: Duplicate identifier 'rsF'. +giant.ts(288,17): error TS2300: Duplicate identifier 'rsF'. +giant.ts(288,30): error TS1005: '{' expected. +giant.ts(291,12): error TS2300: Duplicate identifier 'tsF'. +giant.ts(292,16): error TS2300: Duplicate identifier 'tsF'. +giant.ts(292,29): error TS1005: '{' expected. +giant.ts(293,12): error TS2300: Duplicate identifier 'tgF'. +giant.ts(294,16): error TS2300: Duplicate identifier 'tgF'. +giant.ts(294,20): error TS1005: '{' expected. +giant.ts(320,5): error TS1021: An index signature must have a type annotation. +giant.ts(321,6): error TS1096: An index signature must have exactly one parameter. +giant.ts(334,5): error TS2386: Overload signatures must all be optional or required. +giant.ts(345,16): error TS2300: Duplicate identifier 'pgF'. +giant.ts(346,20): error TS2300: Duplicate identifier 'pgF'. +giant.ts(346,24): error TS1005: '{' expected. +giant.ts(347,16): error TS2300: Duplicate identifier 'psF'. +giant.ts(348,20): error TS2300: Duplicate identifier 'psF'. +giant.ts(348,33): error TS1005: '{' expected. +giant.ts(349,17): error TS2300: Duplicate identifier 'rgF'. +giant.ts(350,21): error TS2300: Duplicate identifier 'rgF'. +giant.ts(350,25): error TS1005: '{' expected. +giant.ts(351,17): error TS2300: Duplicate identifier 'rsF'. +giant.ts(352,21): error TS2300: Duplicate identifier 'rsF'. +giant.ts(352,34): error TS1005: '{' expected. +giant.ts(355,16): error TS2300: Duplicate identifier 'tsF'. +giant.ts(356,20): error TS2300: Duplicate identifier 'tsF'. +giant.ts(356,33): error TS1005: '{' expected. +giant.ts(357,16): error TS2300: Duplicate identifier 'tgF'. +giant.ts(358,20): error TS2300: Duplicate identifier 'tgF'. +giant.ts(358,24): error TS1005: '{' expected. +giant.ts(384,9): error TS1021: An index signature must have a type annotation. +giant.ts(385,10): error TS1096: An index signature must have exactly one parameter. +giant.ts(398,9): error TS2386: Overload signatures must all be optional or required. +giant.ts(412,39): error TS1183: An implementation cannot be declared in ambient contexts. +giant.ts(424,16): error TS2300: Duplicate identifier 'pgF'. +giant.ts(425,20): error TS2300: Duplicate identifier 'pgF'. +giant.ts(425,24): error TS1005: '{' expected. +giant.ts(426,16): error TS2300: Duplicate identifier 'psF'. +giant.ts(427,20): error TS2300: Duplicate identifier 'psF'. +giant.ts(427,33): error TS1005: '{' expected. +giant.ts(428,17): error TS2300: Duplicate identifier 'rgF'. +giant.ts(429,21): error TS2300: Duplicate identifier 'rgF'. +giant.ts(429,25): error TS1005: '{' expected. +giant.ts(430,17): error TS2300: Duplicate identifier 'rsF'. +giant.ts(431,21): error TS2300: Duplicate identifier 'rsF'. +giant.ts(431,34): error TS1005: '{' expected. +giant.ts(434,16): error TS2300: Duplicate identifier 'tsF'. +giant.ts(435,20): error TS2300: Duplicate identifier 'tsF'. +giant.ts(435,33): error TS1005: '{' expected. +giant.ts(436,16): error TS2300: Duplicate identifier 'tgF'. +giant.ts(437,20): error TS2300: Duplicate identifier 'tgF'. +giant.ts(437,24): error TS1005: '{' expected. +giant.ts(463,9): error TS1021: An index signature must have a type annotation. +giant.ts(464,10): error TS1096: An index signature must have exactly one parameter. +giant.ts(477,9): error TS2386: Overload signatures must all be optional or required. +giant.ts(491,39): error TS1183: An implementation cannot be declared in ambient contexts. +giant.ts(496,35): error TS1183: An implementation cannot be declared in ambient contexts. +giant.ts(498,24): error TS1183: An implementation cannot be declared in ambient contexts. +giant.ts(501,21): error TS1183: An implementation cannot be declared in ambient contexts. giant.ts(502,22): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(503,20): error TS2300: Duplicate identifier 'pgF'. -giant.ts(504,16): error TS2300: Duplicate identifier 'psF'. -giant.ts(504,31): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(505,20): error TS2300: Duplicate identifier 'psF'. -giant.ts(506,17): error TS2300: Duplicate identifier 'rgF'. -giant.ts(506,23): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(507,21): error TS2300: Duplicate identifier 'rgF'. -giant.ts(508,17): error TS2300: Duplicate identifier 'rsF'. -giant.ts(508,32): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(509,21): error TS2300: Duplicate identifier 'rsF'. -giant.ts(511,21): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(512,16): error TS2300: Duplicate identifier 'tsF'. -giant.ts(512,31): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(513,20): error TS2300: Duplicate identifier 'tsF'. -giant.ts(514,16): error TS2300: Duplicate identifier 'tgF'. -giant.ts(514,22): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(515,20): error TS2300: Duplicate identifier 'tgF'. -giant.ts(519,22): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(519,25): error TS1036: Statements are not allowed in ambient contexts. -giant.ts(524,30): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(531,31): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(533,20): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(536,17): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(537,18): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(538,12): error TS2300: Duplicate identifier 'pgF'. +giant.ts(503,16): error TS2300: Duplicate identifier 'pgF'. +giant.ts(503,22): error TS1183: An implementation cannot be declared in ambient contexts. +giant.ts(504,20): error TS2300: Duplicate identifier 'pgF'. +giant.ts(505,16): error TS2300: Duplicate identifier 'psF'. +giant.ts(505,31): error TS1183: An implementation cannot be declared in ambient contexts. +giant.ts(506,20): error TS2300: Duplicate identifier 'psF'. +giant.ts(507,17): error TS2300: Duplicate identifier 'rgF'. +giant.ts(507,23): error TS1183: An implementation cannot be declared in ambient contexts. +giant.ts(508,21): error TS2300: Duplicate identifier 'rgF'. +giant.ts(509,17): error TS2300: Duplicate identifier 'rsF'. +giant.ts(509,32): error TS1183: An implementation cannot be declared in ambient contexts. +giant.ts(510,21): error TS2300: Duplicate identifier 'rsF'. +giant.ts(512,21): error TS1183: An implementation cannot be declared in ambient contexts. +giant.ts(513,16): error TS2300: Duplicate identifier 'tsF'. +giant.ts(513,31): error TS1183: An implementation cannot be declared in ambient contexts. +giant.ts(514,20): error TS2300: Duplicate identifier 'tsF'. +giant.ts(515,16): error TS2300: Duplicate identifier 'tgF'. +giant.ts(515,22): error TS1183: An implementation cannot be declared in ambient contexts. +giant.ts(516,20): error TS2300: Duplicate identifier 'tgF'. +giant.ts(520,22): error TS1183: An implementation cannot be declared in ambient contexts. +giant.ts(520,25): error TS1036: Statements are not allowed in ambient contexts. +giant.ts(525,30): error TS1183: An implementation cannot be declared in ambient contexts. +giant.ts(532,31): error TS1183: An implementation cannot be declared in ambient contexts. +giant.ts(534,20): error TS1183: An implementation cannot be declared in ambient contexts. +giant.ts(537,17): error TS1183: An implementation cannot be declared in ambient contexts. giant.ts(538,18): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(539,16): error TS2300: Duplicate identifier 'pgF'. -giant.ts(540,12): error TS2300: Duplicate identifier 'psF'. -giant.ts(540,27): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(541,16): error TS2300: Duplicate identifier 'psF'. -giant.ts(542,13): error TS2300: Duplicate identifier 'rgF'. -giant.ts(542,19): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(543,17): error TS2300: Duplicate identifier 'rgF'. -giant.ts(544,13): error TS2300: Duplicate identifier 'rsF'. -giant.ts(544,28): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(545,17): error TS2300: Duplicate identifier 'rsF'. -giant.ts(547,17): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(548,12): error TS2300: Duplicate identifier 'tsF'. -giant.ts(548,27): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(549,16): error TS2300: Duplicate identifier 'tsF'. -giant.ts(550,12): error TS2300: Duplicate identifier 'tgF'. -giant.ts(550,18): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(551,16): error TS2300: Duplicate identifier 'tgF'. -giant.ts(555,18): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(555,21): error TS1036: Statements are not allowed in ambient contexts. -giant.ts(557,24): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(560,21): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(562,21): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(586,9): error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type. -giant.ts(586,10): error TS2304: Cannot find name 'p'. -giant.ts(586,10): error TS4033: Property '[p]' of exported interface has or is using private name 'p'. -giant.ts(587,9): error TS1021: An index signature must have a type annotation. -giant.ts(588,10): error TS1096: An index signature must have exactly one parameter. -giant.ts(601,9): error TS2386: Overload signatures must all be optional or required. -giant.ts(605,22): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(605,25): error TS1036: Statements are not allowed in ambient contexts. -giant.ts(610,30): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(614,16): error TS1038: A 'declare' modifier cannot be used in an already ambient context. +giant.ts(539,12): error TS2300: Duplicate identifier 'pgF'. +giant.ts(539,18): error TS1183: An implementation cannot be declared in ambient contexts. +giant.ts(540,16): error TS2300: Duplicate identifier 'pgF'. +giant.ts(541,12): error TS2300: Duplicate identifier 'psF'. +giant.ts(541,27): error TS1183: An implementation cannot be declared in ambient contexts. +giant.ts(542,16): error TS2300: Duplicate identifier 'psF'. +giant.ts(543,13): error TS2300: Duplicate identifier 'rgF'. +giant.ts(543,19): error TS1183: An implementation cannot be declared in ambient contexts. +giant.ts(544,17): error TS2300: Duplicate identifier 'rgF'. +giant.ts(545,13): error TS2300: Duplicate identifier 'rsF'. +giant.ts(545,28): error TS1183: An implementation cannot be declared in ambient contexts. +giant.ts(546,17): error TS2300: Duplicate identifier 'rsF'. +giant.ts(548,17): error TS1183: An implementation cannot be declared in ambient contexts. +giant.ts(549,12): error TS2300: Duplicate identifier 'tsF'. +giant.ts(549,27): error TS1183: An implementation cannot be declared in ambient contexts. +giant.ts(550,16): error TS2300: Duplicate identifier 'tsF'. +giant.ts(551,12): error TS2300: Duplicate identifier 'tgF'. +giant.ts(551,18): error TS1183: An implementation cannot be declared in ambient contexts. +giant.ts(552,16): error TS2300: Duplicate identifier 'tgF'. +giant.ts(556,18): error TS1183: An implementation cannot be declared in ambient contexts. +giant.ts(556,21): error TS1036: Statements are not allowed in ambient contexts. +giant.ts(558,24): error TS1183: An implementation cannot be declared in ambient contexts. +giant.ts(561,21): error TS1183: An implementation cannot be declared in ambient contexts. +giant.ts(563,21): error TS1183: An implementation cannot be declared in ambient contexts. +giant.ts(588,9): error TS1021: An index signature must have a type annotation. +giant.ts(589,10): error TS1096: An index signature must have exactly one parameter. +giant.ts(602,9): error TS2386: Overload signatures must all be optional or required. +giant.ts(606,22): error TS1183: An implementation cannot be declared in ambient contexts. +giant.ts(606,25): error TS1036: Statements are not allowed in ambient contexts. +giant.ts(611,30): error TS1183: An implementation cannot be declared in ambient contexts. giant.ts(615,16): error TS1038: A 'declare' modifier cannot be used in an already ambient context. -giant.ts(615,39): error TS1183: An implementation cannot be declared in ambient contexts. giant.ts(616,16): error TS1038: A 'declare' modifier cannot be used in an already ambient context. +giant.ts(616,39): error TS1183: An implementation cannot be declared in ambient contexts. giant.ts(617,16): error TS1038: A 'declare' modifier cannot be used in an already ambient context. -giant.ts(620,26): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(622,24): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(625,21): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(627,21): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(652,9): error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type. -giant.ts(652,10): error TS2304: Cannot find name 'p'. -giant.ts(652,10): error TS4033: Property '[p]' of exported interface has or is using private name 'p'. -giant.ts(653,9): error TS1021: An index signature must have a type annotation. -giant.ts(654,10): error TS1096: An index signature must have exactly one parameter. -giant.ts(667,9): error TS2386: Overload signatures must all be optional or required. -giant.ts(671,22): error TS1183: An implementation cannot be declared in ambient contexts. -giant.ts(671,25): error TS1036: Statements are not allowed in ambient contexts. -giant.ts(675,30): error TS1183: An implementation cannot be declared in ambient contexts. +giant.ts(618,16): error TS1038: A 'declare' modifier cannot be used in an already ambient context. +giant.ts(621,26): error TS1183: An implementation cannot be declared in ambient contexts. +giant.ts(623,24): error TS1183: An implementation cannot be declared in ambient contexts. +giant.ts(626,21): error TS1183: An implementation cannot be declared in ambient contexts. +giant.ts(628,21): error TS1183: An implementation cannot be declared in ambient contexts. +giant.ts(654,9): error TS1021: An index signature must have a type annotation. +giant.ts(655,10): error TS1096: An index signature must have exactly one parameter. +giant.ts(668,9): error TS2386: Overload signatures must all be optional or required. +giant.ts(672,22): error TS1183: An implementation cannot be declared in ambient contexts. +giant.ts(672,25): error TS1036: Statements are not allowed in ambient contexts. +giant.ts(676,30): error TS1183: An implementation cannot be declared in ambient contexts. -==== giant.ts (251 errors) ==== +==== giant.ts (231 errors) ==== /* Prefixes p -> public @@ -265,6 +245,7 @@ giant.ts(675,30): error TS1183: An implementation cannot be declared in ambient MAX DEPTH 3 LEVELS */ + const p = "propName"; var V; function F() { }; class C { @@ -348,10 +329,6 @@ giant.ts(675,30): error TS1183: An implementation cannot be declared in ambient //Index Signature [p]; - ~~~ -!!! error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type. - ~ -!!! error TS2304: Cannot find name 'p'. [p1: string]; ~~~~~~~~~~~~~ !!! error TS1021: An index signature must have a type annotation. @@ -458,10 +435,6 @@ giant.ts(675,30): error TS1183: An implementation cannot be declared in ambient //Index Signature [p]; - ~~~ -!!! error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type. - ~ -!!! error TS2304: Cannot find name 'p'. [p1: string]; ~~~~~~~~~~~~~ !!! error TS1021: An index signature must have a type annotation. @@ -585,10 +558,6 @@ giant.ts(675,30): error TS1183: An implementation cannot be declared in ambient //Index Signature [p]; - ~~~ -!!! error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type. - ~ -!!! error TS2304: Cannot find name 'p'. [p1: string]; ~~~~~~~~~~~~~ !!! error TS1021: An index signature must have a type annotation. @@ -800,12 +769,6 @@ giant.ts(675,30): error TS1183: An implementation cannot be declared in ambient //Index Signature [p]; - ~~~ -!!! error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type. - ~ -!!! error TS2304: Cannot find name 'p'. - ~ -!!! error TS4033: Property '[p]' of exported interface has or is using private name 'p'. [p1: string]; ~~~~~~~~~~~~~ !!! error TS1021: An index signature must have a type annotation. @@ -912,10 +875,6 @@ giant.ts(675,30): error TS1183: An implementation cannot be declared in ambient //Index Signature [p]; - ~~~ -!!! error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type. - ~ -!!! error TS2304: Cannot find name 'p'. [p1: string]; ~~~~~~~~~~~~~ !!! error TS1021: An index signature must have a type annotation. @@ -1039,12 +998,6 @@ giant.ts(675,30): error TS1183: An implementation cannot be declared in ambient //Index Signature [p]; - ~~~ -!!! error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type. - ~ -!!! error TS2304: Cannot find name 'p'. - ~ -!!! error TS4033: Property '[p]' of exported interface has or is using private name 'p'. [p1: string]; ~~~~~~~~~~~~~ !!! error TS1021: An index signature must have a type annotation. @@ -1286,12 +1239,6 @@ giant.ts(675,30): error TS1183: An implementation cannot be declared in ambient //Index Signature [p]; - ~~~ -!!! error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type. - ~ -!!! error TS2304: Cannot find name 'p'. - ~ -!!! error TS4033: Property '[p]' of exported interface has or is using private name 'p'. [p1: string]; ~~~~~~~~~~~~~ !!! error TS1021: An index signature must have a type annotation. @@ -1388,12 +1335,6 @@ giant.ts(675,30): error TS1183: An implementation cannot be declared in ambient //Index Signature [p]; - ~~~ -!!! error TS1169: A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type. - ~ -!!! error TS2304: Cannot find name 'p'. - ~ -!!! error TS4033: Property '[p]' of exported interface has or is using private name 'p'. [p1: string]; ~~~~~~~~~~~~~ !!! error TS1021: An index signature must have a type annotation. diff --git a/tests/baselines/reference/giant.js b/tests/baselines/reference/giant.js index d0b1d5d5ae6e4..be21e16431402 100644 --- a/tests/baselines/reference/giant.js +++ b/tests/baselines/reference/giant.js @@ -14,6 +14,7 @@ MAX DEPTH 3 LEVELS */ +const p = "propName"; var V; function F() { }; class C { @@ -701,6 +702,7 @@ define(["require", "exports"], function (require, exports) { MAX DEPTH 3 LEVELS */ + var p = "propName"; var V; function F() { } ; @@ -1111,3 +1113,304 @@ define(["require", "exports"], function (require, exports) { })(eM || (exports.eM = eM = {})); ; }); + + +//// [giant.d.ts] +declare const p = "propName"; +export declare var eV: any; +export declare function eF(): void; +export declare class eC { + constructor(); + pV: any; + private rV; + pF(): void; + private rF; + pgF(): void; + get pgF(): any; + psF(param: any): void; + set psF(param: any); + private rgF; + private get rgF(); + private rsF; + private set rsF(value); + static tV: any; + static tF(): void; + static tsF(param: any): void; + static set tsF(param: any); + static tgF(): void; + static get tgF(): any; +} +export interface eI { + (): any; + (): number; + (p: any): any; + (p1: string): any; + (p2?: string): any; + (...p3: any[]): any; + (p4: string, p5?: string): any; + (p6: string, ...p7: any[]): any; + new (): any; + new (): number; + new (p: string): any; + new (p2?: string): any; + new (...p3: any[]): any; + new (p4: string, p5?: string): any; + new (p6: string, ...p7: any[]): any; + [p]: any; + [p1: string]: any; + [p2: string, p3: number]: any; + p: any; + p1?: any; + p2?: string; + p3(): any; + p4?(): any; + p5?(): void; + p6(pa1: any): void; + p7(pa1: any, pa2: any): void; + p7?(pa1: any, pa2: any): void; +} +export declare namespace eM { + var eV: any; + function eF(): void; + class eC { + constructor(); + pV: any; + private rV; + pF(): void; + private rF; + pgF(): void; + get pgF(): any; + psF(param: any): void; + set psF(param: any); + private rgF; + private get rgF(); + private rsF; + private set rsF(value); + static tV: any; + static tF(): void; + static tsF(param: any): void; + static set tsF(param: any); + static tgF(): void; + static get tgF(): any; + } + interface eI { + (): any; + (): number; + (p: any): any; + (p1: string): any; + (p2?: string): any; + (...p3: any[]): any; + (p4: string, p5?: string): any; + (p6: string, ...p7: any[]): any; + new (): any; + new (): number; + new (p: string): any; + new (p2?: string): any; + new (...p3: any[]): any; + new (p4: string, p5?: string): any; + new (p6: string, ...p7: any[]): any; + [p]: any; + [p1: string]: any; + [p2: string, p3: number]: any; + p: any; + p1?: any; + p2?: string; + p3(): any; + p4?(): any; + p5?(): void; + p6(pa1: any): void; + p7(pa1: any, pa2: any): void; + p7?(pa1: any, pa2: any): void; + } + namespace eM { + var eV: any; + function eF(): void; + class eC { + } + interface eI { + } + namespace eM { } + var eaV: any; + function eaF(): void; + class eaC { + } + namespace eaM { } + } + var eaV: any; + function eaF(): void; + class eaC { + constructor(); + pV: any; + private rV; + pF(): void; + private rF; + pgF(): void; + get pgF(): any; + psF(param: any): void; + set psF(param: any); + private rgF; + private get rgF(); + private rsF; + private set rsF(value); + static tV: any; + static tF(): void; + static tsF(param: any): void; + static set tsF(param: any); + static tgF(): void; + static get tgF(): any; + } + namespace eaM { + var V: any; + function F(): void; + class C { + } + interface I { + } + namespace M { } + var eV: any; + function eF(): void; + class eC { + } + interface eI { + } + namespace eM { } + } +} +export declare var eaV: any; +export declare function eaF(): void; +export declare class eaC { + constructor(); + pV: any; + private rV; + pF(): void; + private rF; + pgF(): void; + get pgF(): any; + psF(param: any): void; + set psF(param: any); + private rgF; + private get rgF(); + private rsF; + private set rsF(value); + static tV: any; + static tF(): void; + static tsF(param: any): void; + static set tsF(param: any); + static tgF(): void; + static get tgF(): any; +} +export declare namespace eaM { + var V: any; + function F(): void; + class C { + constructor(); + pV: any; + private rV; + pF(): void; + static tV: any; + static tF(): void; + } + interface I { + (): any; + (): number; + (p: string): any; + (p2?: string): any; + (...p3: any[]): any; + (p4: string, p5?: string): any; + (p6: string, ...p7: any[]): any; + new (): any; + new (): number; + new (p: string): any; + new (p2?: string): any; + new (...p3: any[]): any; + new (p4: string, p5?: string): any; + new (p6: string, ...p7: any[]): any; + [p]: any; + [p1: string]: any; + [p2: string, p3: number]: any; + p: any; + p1?: any; + p2?: string; + p3(): any; + p4?(): any; + p5?(): void; + p6(pa1: any): void; + p7(pa1: any, pa2: any): void; + p7?(pa1: any, pa2: any): void; + } + namespace M { + var V: any; + function F(): void; + class C { + } + interface I { + } + namespace M { } + var eV: any; + function eF(): void; + class eC { + } + interface eI { + } + namespace eM { } + var eaV: any; + function eaF(): void; + class eaC { + } + namespace eaM { } + } + var eV: any; + function eF(): void; + class eC { + constructor(); + pV: any; + private rV; + pF(): void; + static tV: any; + static tF(): void; + } + interface eI { + (): any; + (): number; + (p: any): any; + (p1: string): any; + (p2?: string): any; + (...p3: any[]): any; + (p4: string, p5?: string): any; + (p6: string, ...p7: any[]): any; + new (): any; + new (): number; + new (p: string): any; + new (p2?: string): any; + new (...p3: any[]): any; + new (p4: string, p5?: string): any; + new (p6: string, ...p7: any[]): any; + [p]: any; + [p1: string]: any; + [p2: string, p3: number]: any; + p: any; + p1?: any; + p2?: string; + p3(): any; + p4?(): any; + p5?(): void; + p6(pa1: any): void; + p7(pa1: any, pa2: any): void; + p7?(pa1: any, pa2: any): void; + } + namespace eM { + var V: any; + function F(): void; + class C { + } + namespace M { } + var eV: any; + function eF(): void; + class eC { + } + interface eI { + } + namespace eM { } + } +} +export {}; diff --git a/tests/baselines/reference/giant.symbols b/tests/baselines/reference/giant.symbols index 2d5d95f697c5b..0c7d9c2b21256 100644 --- a/tests/baselines/reference/giant.symbols +++ b/tests/baselines/reference/giant.symbols @@ -14,101 +14,104 @@ MAX DEPTH 3 LEVELS */ +const p = "propName"; +>p : Symbol(p, Decl(giant.ts, 13, 5)) + var V; ->V : Symbol(V, Decl(giant.ts, 13, 3)) +>V : Symbol(V, Decl(giant.ts, 14, 3)) function F() { }; ->F : Symbol(F, Decl(giant.ts, 13, 6)) +>F : Symbol(F, Decl(giant.ts, 14, 6)) class C { ->C : Symbol(C, Decl(giant.ts, 14, 17)) +>C : Symbol(C, Decl(giant.ts, 15, 17)) constructor () { } public pV; ->pV : Symbol(C.pV, Decl(giant.ts, 16, 22)) +>pV : Symbol(C.pV, Decl(giant.ts, 17, 22)) private rV; ->rV : Symbol(C.rV, Decl(giant.ts, 17, 14)) +>rV : Symbol(C.rV, Decl(giant.ts, 18, 14)) public pF() { } ->pF : Symbol(C.pF, Decl(giant.ts, 18, 15)) +>pF : Symbol(C.pF, Decl(giant.ts, 19, 15)) private rF() { } ->rF : Symbol(C.rF, Decl(giant.ts, 19, 19)) +>rF : Symbol(C.rF, Decl(giant.ts, 20, 19)) public pgF() { } ->pgF : Symbol(C.pgF, Decl(giant.ts, 20, 20)) +>pgF : Symbol(C.pgF, Decl(giant.ts, 21, 20)) public get pgF() ->pgF : Symbol(C.pgF, Decl(giant.ts, 21, 20)) +>pgF : Symbol(C.pgF, Decl(giant.ts, 22, 20)) public psF(param:any) { } ->psF : Symbol(C.psF, Decl(giant.ts, 22, 20)) ->param : Symbol(param, Decl(giant.ts, 23, 15)) +>psF : Symbol(C.psF, Decl(giant.ts, 23, 20)) +>param : Symbol(param, Decl(giant.ts, 24, 15)) public set psF(param:any) ->psF : Symbol(C.psF, Decl(giant.ts, 23, 29)) ->param : Symbol(param, Decl(giant.ts, 24, 19)) +>psF : Symbol(C.psF, Decl(giant.ts, 24, 29)) +>param : Symbol(param, Decl(giant.ts, 25, 19)) private rgF() { } ->rgF : Symbol(C.rgF, Decl(giant.ts, 24, 29)) +>rgF : Symbol(C.rgF, Decl(giant.ts, 25, 29)) private get rgF() ->rgF : Symbol(C.rgF, Decl(giant.ts, 25, 21)) +>rgF : Symbol(C.rgF, Decl(giant.ts, 26, 21)) private rsF(param:any) { } ->rsF : Symbol(C.rsF, Decl(giant.ts, 26, 21)) ->param : Symbol(param, Decl(giant.ts, 27, 16)) +>rsF : Symbol(C.rsF, Decl(giant.ts, 27, 21)) +>param : Symbol(param, Decl(giant.ts, 28, 16)) private set rsF(param:any) ->rsF : Symbol(C.rsF, Decl(giant.ts, 27, 30)) ->param : Symbol(param, Decl(giant.ts, 28, 20)) +>rsF : Symbol(C.rsF, Decl(giant.ts, 28, 30)) +>param : Symbol(param, Decl(giant.ts, 29, 20)) static tV; ->tV : Symbol(C.tV, Decl(giant.ts, 28, 30)) +>tV : Symbol(C.tV, Decl(giant.ts, 29, 30)) static tF() { } ->tF : Symbol(C.tF, Decl(giant.ts, 29, 14)) +>tF : Symbol(C.tF, Decl(giant.ts, 30, 14)) static tsF(param:any) { } ->tsF : Symbol(C.tsF, Decl(giant.ts, 30, 19)) ->param : Symbol(param, Decl(giant.ts, 31, 15)) +>tsF : Symbol(C.tsF, Decl(giant.ts, 31, 19)) +>param : Symbol(param, Decl(giant.ts, 32, 15)) static set tsF(param:any) ->tsF : Symbol(C.tsF, Decl(giant.ts, 31, 29)) ->param : Symbol(param, Decl(giant.ts, 32, 19)) +>tsF : Symbol(C.tsF, Decl(giant.ts, 32, 29)) +>param : Symbol(param, Decl(giant.ts, 33, 19)) static tgF() { } ->tgF : Symbol(C.tgF, Decl(giant.ts, 32, 29)) +>tgF : Symbol(C.tgF, Decl(giant.ts, 33, 29)) static get tgF() ->tgF : Symbol(C.tgF, Decl(giant.ts, 33, 20)) +>tgF : Symbol(C.tgF, Decl(giant.ts, 34, 20)) } interface I { ->I : Symbol(I, Decl(giant.ts, 35, 1)) +>I : Symbol(I, Decl(giant.ts, 36, 1)) //Call Signature (); (): number; (p); ->p : Symbol(p, Decl(giant.ts, 40, 5)) +>p : Symbol(p, Decl(giant.ts, 41, 5)) (p1: string); ->p1 : Symbol(p1, Decl(giant.ts, 41, 5)) +>p1 : Symbol(p1, Decl(giant.ts, 42, 5)) (p2?: string); ->p2 : Symbol(p2, Decl(giant.ts, 42, 5)) +>p2 : Symbol(p2, Decl(giant.ts, 43, 5)) (...p3: any[]); ->p3 : Symbol(p3, Decl(giant.ts, 43, 5)) +>p3 : Symbol(p3, Decl(giant.ts, 44, 5)) (p4: string, p5?: string); ->p4 : Symbol(p4, Decl(giant.ts, 44, 5)) ->p5 : Symbol(p5, Decl(giant.ts, 44, 16)) +>p4 : Symbol(p4, Decl(giant.ts, 45, 5)) +>p5 : Symbol(p5, Decl(giant.ts, 45, 16)) (p6: string, ...p7: any[]); ->p6 : Symbol(p6, Decl(giant.ts, 45, 5)) ->p7 : Symbol(p7, Decl(giant.ts, 45, 16)) +>p6 : Symbol(p6, Decl(giant.ts, 46, 5)) +>p7 : Symbol(p7, Decl(giant.ts, 46, 16)) //(p8?: string, ...p9: any[]); //(p10:string, p8?: string, ...p9: any[]); @@ -117,165 +120,166 @@ interface I { new (); new (): number; new (p: string); ->p : Symbol(p, Decl(giant.ts, 52, 9)) +>p : Symbol(p, Decl(giant.ts, 53, 9)) new (p2?: string); ->p2 : Symbol(p2, Decl(giant.ts, 53, 9)) +>p2 : Symbol(p2, Decl(giant.ts, 54, 9)) new (...p3: any[]); ->p3 : Symbol(p3, Decl(giant.ts, 54, 9)) +>p3 : Symbol(p3, Decl(giant.ts, 55, 9)) new (p4: string, p5?: string); ->p4 : Symbol(p4, Decl(giant.ts, 55, 9)) ->p5 : Symbol(p5, Decl(giant.ts, 55, 20)) +>p4 : Symbol(p4, Decl(giant.ts, 56, 9)) +>p5 : Symbol(p5, Decl(giant.ts, 56, 20)) new (p6: string, ...p7: any[]); ->p6 : Symbol(p6, Decl(giant.ts, 56, 9)) ->p7 : Symbol(p7, Decl(giant.ts, 56, 20)) +>p6 : Symbol(p6, Decl(giant.ts, 57, 9)) +>p7 : Symbol(p7, Decl(giant.ts, 57, 20)) //Index Signature [p]; ->[p] : Symbol(I[p], Decl(giant.ts, 56, 35)) +>[p] : Symbol(I[p], Decl(giant.ts, 57, 35)) +>p : Symbol(p, Decl(giant.ts, 13, 5)) [p1: string]; ->p1 : Symbol(p1, Decl(giant.ts, 60, 5)) +>p1 : Symbol(p1, Decl(giant.ts, 61, 5)) [p2: string, p3: number]; ->p2 : Symbol(p2, Decl(giant.ts, 61, 5)) ->p3 : Symbol(p3, Decl(giant.ts, 61, 16)) +>p2 : Symbol(p2, Decl(giant.ts, 62, 5)) +>p3 : Symbol(p3, Decl(giant.ts, 62, 16)) //Property Signature p; ->p : Symbol(I.p, Decl(giant.ts, 61, 29)) +>p : Symbol(I.p, Decl(giant.ts, 62, 29)) p1?; ->p1 : Symbol(I.p1, Decl(giant.ts, 64, 6)) +>p1 : Symbol(I.p1, Decl(giant.ts, 65, 6)) p2?: string; ->p2 : Symbol(I.p2, Decl(giant.ts, 65, 8)) +>p2 : Symbol(I.p2, Decl(giant.ts, 66, 8)) //Function Signature p3(); ->p3 : Symbol(I.p3, Decl(giant.ts, 66, 16)) +>p3 : Symbol(I.p3, Decl(giant.ts, 67, 16)) p4? (); ->p4 : Symbol(I.p4, Decl(giant.ts, 69, 9)) +>p4 : Symbol(I.p4, Decl(giant.ts, 70, 9)) p5? (): void; ->p5 : Symbol(I.p5, Decl(giant.ts, 70, 11)) +>p5 : Symbol(I.p5, Decl(giant.ts, 71, 11)) p6(pa1): void; ->p6 : Symbol(I.p6, Decl(giant.ts, 71, 17)) ->pa1 : Symbol(pa1, Decl(giant.ts, 72, 7)) +>p6 : Symbol(I.p6, Decl(giant.ts, 72, 17)) +>pa1 : Symbol(pa1, Decl(giant.ts, 73, 7)) p7(pa1, pa2): void; ->p7 : Symbol(I.p7, Decl(giant.ts, 72, 18), Decl(giant.ts, 73, 23)) ->pa1 : Symbol(pa1, Decl(giant.ts, 73, 7)) ->pa2 : Symbol(pa2, Decl(giant.ts, 73, 11)) +>p7 : Symbol(I.p7, Decl(giant.ts, 73, 18), Decl(giant.ts, 74, 23)) +>pa1 : Symbol(pa1, Decl(giant.ts, 74, 7)) +>pa2 : Symbol(pa2, Decl(giant.ts, 74, 11)) p7? (pa1, pa2): void; ->p7 : Symbol(I.p7, Decl(giant.ts, 72, 18), Decl(giant.ts, 73, 23)) ->pa1 : Symbol(pa1, Decl(giant.ts, 74, 9)) ->pa2 : Symbol(pa2, Decl(giant.ts, 74, 13)) +>p7 : Symbol(I.p7, Decl(giant.ts, 73, 18), Decl(giant.ts, 74, 23)) +>pa1 : Symbol(pa1, Decl(giant.ts, 75, 9)) +>pa2 : Symbol(pa2, Decl(giant.ts, 75, 13)) } module M { ->M : Symbol(M, Decl(giant.ts, 75, 1)) +>M : Symbol(M, Decl(giant.ts, 76, 1)) var V; ->V : Symbol(V, Decl(giant.ts, 77, 7)) +>V : Symbol(V, Decl(giant.ts, 78, 7)) function F() { }; ->F : Symbol(F, Decl(giant.ts, 77, 10)) +>F : Symbol(F, Decl(giant.ts, 78, 10)) class C { ->C : Symbol(C, Decl(giant.ts, 78, 21)) +>C : Symbol(C, Decl(giant.ts, 79, 21)) constructor () { } public pV; ->pV : Symbol(C.pV, Decl(giant.ts, 80, 26)) +>pV : Symbol(C.pV, Decl(giant.ts, 81, 26)) private rV; ->rV : Symbol(C.rV, Decl(giant.ts, 81, 18)) +>rV : Symbol(C.rV, Decl(giant.ts, 82, 18)) public pF() { } ->pF : Symbol(C.pF, Decl(giant.ts, 82, 19)) +>pF : Symbol(C.pF, Decl(giant.ts, 83, 19)) private rF() { } ->rF : Symbol(C.rF, Decl(giant.ts, 83, 23)) +>rF : Symbol(C.rF, Decl(giant.ts, 84, 23)) public pgF() { } ->pgF : Symbol(C.pgF, Decl(giant.ts, 84, 24)) +>pgF : Symbol(C.pgF, Decl(giant.ts, 85, 24)) public get pgF() ->pgF : Symbol(C.pgF, Decl(giant.ts, 85, 24)) +>pgF : Symbol(C.pgF, Decl(giant.ts, 86, 24)) public psF(param:any) { } ->psF : Symbol(C.psF, Decl(giant.ts, 86, 24)) ->param : Symbol(param, Decl(giant.ts, 87, 19)) +>psF : Symbol(C.psF, Decl(giant.ts, 87, 24)) +>param : Symbol(param, Decl(giant.ts, 88, 19)) public set psF(param:any) ->psF : Symbol(C.psF, Decl(giant.ts, 87, 33)) ->param : Symbol(param, Decl(giant.ts, 88, 23)) +>psF : Symbol(C.psF, Decl(giant.ts, 88, 33)) +>param : Symbol(param, Decl(giant.ts, 89, 23)) private rgF() { } ->rgF : Symbol(C.rgF, Decl(giant.ts, 88, 33)) +>rgF : Symbol(C.rgF, Decl(giant.ts, 89, 33)) private get rgF() ->rgF : Symbol(C.rgF, Decl(giant.ts, 89, 25)) +>rgF : Symbol(C.rgF, Decl(giant.ts, 90, 25)) private rsF(param:any) { } ->rsF : Symbol(C.rsF, Decl(giant.ts, 90, 25)) ->param : Symbol(param, Decl(giant.ts, 91, 20)) +>rsF : Symbol(C.rsF, Decl(giant.ts, 91, 25)) +>param : Symbol(param, Decl(giant.ts, 92, 20)) private set rsF(param:any) ->rsF : Symbol(C.rsF, Decl(giant.ts, 91, 34)) ->param : Symbol(param, Decl(giant.ts, 92, 24)) +>rsF : Symbol(C.rsF, Decl(giant.ts, 92, 34)) +>param : Symbol(param, Decl(giant.ts, 93, 24)) static tV; ->tV : Symbol(C.tV, Decl(giant.ts, 92, 34)) +>tV : Symbol(C.tV, Decl(giant.ts, 93, 34)) static tF() { } ->tF : Symbol(C.tF, Decl(giant.ts, 93, 18)) +>tF : Symbol(C.tF, Decl(giant.ts, 94, 18)) static tsF(param:any) { } ->tsF : Symbol(C.tsF, Decl(giant.ts, 94, 23)) ->param : Symbol(param, Decl(giant.ts, 95, 19)) +>tsF : Symbol(C.tsF, Decl(giant.ts, 95, 23)) +>param : Symbol(param, Decl(giant.ts, 96, 19)) static set tsF(param:any) ->tsF : Symbol(C.tsF, Decl(giant.ts, 95, 33)) ->param : Symbol(param, Decl(giant.ts, 96, 23)) +>tsF : Symbol(C.tsF, Decl(giant.ts, 96, 33)) +>param : Symbol(param, Decl(giant.ts, 97, 23)) static tgF() { } ->tgF : Symbol(C.tgF, Decl(giant.ts, 96, 33)) +>tgF : Symbol(C.tgF, Decl(giant.ts, 97, 33)) static get tgF() ->tgF : Symbol(C.tgF, Decl(giant.ts, 97, 24)) +>tgF : Symbol(C.tgF, Decl(giant.ts, 98, 24)) } interface I { ->I : Symbol(I, Decl(giant.ts, 99, 5)) +>I : Symbol(I, Decl(giant.ts, 100, 5)) //Call Signature (); (): number; (p); ->p : Symbol(p, Decl(giant.ts, 104, 9)) +>p : Symbol(p, Decl(giant.ts, 105, 9)) (p1: string); ->p1 : Symbol(p1, Decl(giant.ts, 105, 9)) +>p1 : Symbol(p1, Decl(giant.ts, 106, 9)) (p2?: string); ->p2 : Symbol(p2, Decl(giant.ts, 106, 9)) +>p2 : Symbol(p2, Decl(giant.ts, 107, 9)) (...p3: any[]); ->p3 : Symbol(p3, Decl(giant.ts, 107, 9)) +>p3 : Symbol(p3, Decl(giant.ts, 108, 9)) (p4: string, p5?: string); ->p4 : Symbol(p4, Decl(giant.ts, 108, 9)) ->p5 : Symbol(p5, Decl(giant.ts, 108, 20)) +>p4 : Symbol(p4, Decl(giant.ts, 109, 9)) +>p5 : Symbol(p5, Decl(giant.ts, 109, 20)) (p6: string, ...p7: any[]); ->p6 : Symbol(p6, Decl(giant.ts, 109, 9)) ->p7 : Symbol(p7, Decl(giant.ts, 109, 20)) +>p6 : Symbol(p6, Decl(giant.ts, 110, 9)) +>p7 : Symbol(p7, Decl(giant.ts, 110, 20)) //(p8?: string, ...p9: any[]); //(p10:string, p8?: string, ...p9: any[]); @@ -284,207 +288,208 @@ module M { new (); new (): number; new (p: string); ->p : Symbol(p, Decl(giant.ts, 116, 13)) +>p : Symbol(p, Decl(giant.ts, 117, 13)) new (p2?: string); ->p2 : Symbol(p2, Decl(giant.ts, 117, 13)) +>p2 : Symbol(p2, Decl(giant.ts, 118, 13)) new (...p3: any[]); ->p3 : Symbol(p3, Decl(giant.ts, 118, 13)) +>p3 : Symbol(p3, Decl(giant.ts, 119, 13)) new (p4: string, p5?: string); ->p4 : Symbol(p4, Decl(giant.ts, 119, 13)) ->p5 : Symbol(p5, Decl(giant.ts, 119, 24)) +>p4 : Symbol(p4, Decl(giant.ts, 120, 13)) +>p5 : Symbol(p5, Decl(giant.ts, 120, 24)) new (p6: string, ...p7: any[]); ->p6 : Symbol(p6, Decl(giant.ts, 120, 13)) ->p7 : Symbol(p7, Decl(giant.ts, 120, 24)) +>p6 : Symbol(p6, Decl(giant.ts, 121, 13)) +>p7 : Symbol(p7, Decl(giant.ts, 121, 24)) //Index Signature [p]; ->[p] : Symbol(I[p], Decl(giant.ts, 120, 39)) +>[p] : Symbol(I[p], Decl(giant.ts, 121, 39)) +>p : Symbol(p, Decl(giant.ts, 13, 5)) [p1: string]; ->p1 : Symbol(p1, Decl(giant.ts, 124, 9)) +>p1 : Symbol(p1, Decl(giant.ts, 125, 9)) [p2: string, p3: number]; ->p2 : Symbol(p2, Decl(giant.ts, 125, 9)) ->p3 : Symbol(p3, Decl(giant.ts, 125, 20)) +>p2 : Symbol(p2, Decl(giant.ts, 126, 9)) +>p3 : Symbol(p3, Decl(giant.ts, 126, 20)) //Property Signature p; ->p : Symbol(I.p, Decl(giant.ts, 125, 33)) +>p : Symbol(I.p, Decl(giant.ts, 126, 33)) p1?; ->p1 : Symbol(I.p1, Decl(giant.ts, 128, 10)) +>p1 : Symbol(I.p1, Decl(giant.ts, 129, 10)) p2?: string; ->p2 : Symbol(I.p2, Decl(giant.ts, 129, 12)) +>p2 : Symbol(I.p2, Decl(giant.ts, 130, 12)) //Function Signature p3(); ->p3 : Symbol(I.p3, Decl(giant.ts, 130, 20)) +>p3 : Symbol(I.p3, Decl(giant.ts, 131, 20)) p4? (); ->p4 : Symbol(I.p4, Decl(giant.ts, 133, 13)) +>p4 : Symbol(I.p4, Decl(giant.ts, 134, 13)) p5? (): void; ->p5 : Symbol(I.p5, Decl(giant.ts, 134, 15)) +>p5 : Symbol(I.p5, Decl(giant.ts, 135, 15)) p6(pa1): void; ->p6 : Symbol(I.p6, Decl(giant.ts, 135, 21)) ->pa1 : Symbol(pa1, Decl(giant.ts, 136, 11)) +>p6 : Symbol(I.p6, Decl(giant.ts, 136, 21)) +>pa1 : Symbol(pa1, Decl(giant.ts, 137, 11)) p7(pa1, pa2): void; ->p7 : Symbol(I.p7, Decl(giant.ts, 136, 22), Decl(giant.ts, 137, 27)) ->pa1 : Symbol(pa1, Decl(giant.ts, 137, 11)) ->pa2 : Symbol(pa2, Decl(giant.ts, 137, 15)) +>p7 : Symbol(I.p7, Decl(giant.ts, 137, 22), Decl(giant.ts, 138, 27)) +>pa1 : Symbol(pa1, Decl(giant.ts, 138, 11)) +>pa2 : Symbol(pa2, Decl(giant.ts, 138, 15)) p7? (pa1, pa2): void; ->p7 : Symbol(I.p7, Decl(giant.ts, 136, 22), Decl(giant.ts, 137, 27)) ->pa1 : Symbol(pa1, Decl(giant.ts, 138, 13)) ->pa2 : Symbol(pa2, Decl(giant.ts, 138, 17)) +>p7 : Symbol(I.p7, Decl(giant.ts, 137, 22), Decl(giant.ts, 138, 27)) +>pa1 : Symbol(pa1, Decl(giant.ts, 139, 13)) +>pa2 : Symbol(pa2, Decl(giant.ts, 139, 17)) } module M { ->M : Symbol(M, Decl(giant.ts, 139, 5)) +>M : Symbol(M, Decl(giant.ts, 140, 5)) var V; ->V : Symbol(V, Decl(giant.ts, 141, 11)) +>V : Symbol(V, Decl(giant.ts, 142, 11)) function F() { }; ->F : Symbol(F, Decl(giant.ts, 141, 14)) +>F : Symbol(F, Decl(giant.ts, 142, 14)) class C { }; ->C : Symbol(C, Decl(giant.ts, 142, 25)) +>C : Symbol(C, Decl(giant.ts, 143, 25)) interface I { }; ->I : Symbol(I, Decl(giant.ts, 143, 20)) +>I : Symbol(I, Decl(giant.ts, 144, 20)) module M { }; ->M : Symbol(M, Decl(giant.ts, 144, 24)) +>M : Symbol(M, Decl(giant.ts, 145, 24)) export var eV; ->eV : Symbol(eV, Decl(giant.ts, 146, 18)) +>eV : Symbol(eV, Decl(giant.ts, 147, 18)) export function eF() { }; ->eF : Symbol(eF, Decl(giant.ts, 146, 22)) +>eF : Symbol(eF, Decl(giant.ts, 147, 22)) export class eC { }; ->eC : Symbol(eC, Decl(giant.ts, 147, 33)) +>eC : Symbol(eC, Decl(giant.ts, 148, 33)) export interface eI { }; ->eI : Symbol(eI, Decl(giant.ts, 148, 28)) +>eI : Symbol(eI, Decl(giant.ts, 149, 28)) export module eM { }; ->eM : Symbol(eM, Decl(giant.ts, 149, 32)) +>eM : Symbol(eM, Decl(giant.ts, 150, 32)) export declare var eaV; ->eaV : Symbol(eaV, Decl(giant.ts, 151, 26)) +>eaV : Symbol(eaV, Decl(giant.ts, 152, 26)) export declare function eaF() { }; ->eaF : Symbol(eaF, Decl(giant.ts, 151, 31)) +>eaF : Symbol(eaF, Decl(giant.ts, 152, 31)) export declare class eaC { }; ->eaC : Symbol(eaC, Decl(giant.ts, 152, 42)) +>eaC : Symbol(eaC, Decl(giant.ts, 153, 42)) export declare module eaM { }; ->eaM : Symbol(eaM, Decl(giant.ts, 153, 37)) +>eaM : Symbol(eaM, Decl(giant.ts, 154, 37)) } export var eV; ->eV : Symbol(eV, Decl(giant.ts, 156, 14)) +>eV : Symbol(eV, Decl(giant.ts, 157, 14)) export function eF() { }; ->eF : Symbol(eF, Decl(giant.ts, 156, 18)) +>eF : Symbol(eF, Decl(giant.ts, 157, 18)) export class eC { ->eC : Symbol(eC, Decl(giant.ts, 157, 29)) +>eC : Symbol(eC, Decl(giant.ts, 158, 29)) constructor () { } public pV; ->pV : Symbol(eC.pV, Decl(giant.ts, 159, 26)) +>pV : Symbol(eC.pV, Decl(giant.ts, 160, 26)) private rV; ->rV : Symbol(eC.rV, Decl(giant.ts, 160, 18)) +>rV : Symbol(eC.rV, Decl(giant.ts, 161, 18)) public pF() { } ->pF : Symbol(eC.pF, Decl(giant.ts, 161, 19)) +>pF : Symbol(eC.pF, Decl(giant.ts, 162, 19)) private rF() { } ->rF : Symbol(eC.rF, Decl(giant.ts, 162, 23)) +>rF : Symbol(eC.rF, Decl(giant.ts, 163, 23)) public pgF() { } ->pgF : Symbol(eC.pgF, Decl(giant.ts, 163, 24)) +>pgF : Symbol(eC.pgF, Decl(giant.ts, 164, 24)) public get pgF() ->pgF : Symbol(eC.pgF, Decl(giant.ts, 164, 24)) +>pgF : Symbol(eC.pgF, Decl(giant.ts, 165, 24)) public psF(param:any) { } ->psF : Symbol(eC.psF, Decl(giant.ts, 165, 24)) ->param : Symbol(param, Decl(giant.ts, 166, 19)) +>psF : Symbol(eC.psF, Decl(giant.ts, 166, 24)) +>param : Symbol(param, Decl(giant.ts, 167, 19)) public set psF(param:any) ->psF : Symbol(eC.psF, Decl(giant.ts, 166, 33)) ->param : Symbol(param, Decl(giant.ts, 167, 23)) +>psF : Symbol(eC.psF, Decl(giant.ts, 167, 33)) +>param : Symbol(param, Decl(giant.ts, 168, 23)) private rgF() { } ->rgF : Symbol(eC.rgF, Decl(giant.ts, 167, 33)) +>rgF : Symbol(eC.rgF, Decl(giant.ts, 168, 33)) private get rgF() ->rgF : Symbol(eC.rgF, Decl(giant.ts, 168, 25)) +>rgF : Symbol(eC.rgF, Decl(giant.ts, 169, 25)) private rsF(param:any) { } ->rsF : Symbol(eC.rsF, Decl(giant.ts, 169, 25)) ->param : Symbol(param, Decl(giant.ts, 170, 20)) +>rsF : Symbol(eC.rsF, Decl(giant.ts, 170, 25)) +>param : Symbol(param, Decl(giant.ts, 171, 20)) private set rsF(param:any) ->rsF : Symbol(eC.rsF, Decl(giant.ts, 170, 34)) ->param : Symbol(param, Decl(giant.ts, 171, 24)) +>rsF : Symbol(eC.rsF, Decl(giant.ts, 171, 34)) +>param : Symbol(param, Decl(giant.ts, 172, 24)) static tV; ->tV : Symbol(eC.tV, Decl(giant.ts, 171, 34)) +>tV : Symbol(eC.tV, Decl(giant.ts, 172, 34)) static tF() { } ->tF : Symbol(eC.tF, Decl(giant.ts, 172, 18)) +>tF : Symbol(eC.tF, Decl(giant.ts, 173, 18)) static tsF(param:any) { } ->tsF : Symbol(eC.tsF, Decl(giant.ts, 173, 23)) ->param : Symbol(param, Decl(giant.ts, 174, 19)) +>tsF : Symbol(eC.tsF, Decl(giant.ts, 174, 23)) +>param : Symbol(param, Decl(giant.ts, 175, 19)) static set tsF(param:any) ->tsF : Symbol(eC.tsF, Decl(giant.ts, 174, 33)) ->param : Symbol(param, Decl(giant.ts, 175, 23)) +>tsF : Symbol(eC.tsF, Decl(giant.ts, 175, 33)) +>param : Symbol(param, Decl(giant.ts, 176, 23)) static tgF() { } ->tgF : Symbol(eC.tgF, Decl(giant.ts, 175, 33)) +>tgF : Symbol(eC.tgF, Decl(giant.ts, 176, 33)) static get tgF() ->tgF : Symbol(eC.tgF, Decl(giant.ts, 176, 24)) +>tgF : Symbol(eC.tgF, Decl(giant.ts, 177, 24)) } export interface eI { ->eI : Symbol(eI, Decl(giant.ts, 178, 5)) +>eI : Symbol(eI, Decl(giant.ts, 179, 5)) //Call Signature (); (): number; (p); ->p : Symbol(p, Decl(giant.ts, 183, 9)) +>p : Symbol(p, Decl(giant.ts, 184, 9)) (p1: string); ->p1 : Symbol(p1, Decl(giant.ts, 184, 9)) +>p1 : Symbol(p1, Decl(giant.ts, 185, 9)) (p2?: string); ->p2 : Symbol(p2, Decl(giant.ts, 185, 9)) +>p2 : Symbol(p2, Decl(giant.ts, 186, 9)) (...p3: any[]); ->p3 : Symbol(p3, Decl(giant.ts, 186, 9)) +>p3 : Symbol(p3, Decl(giant.ts, 187, 9)) (p4: string, p5?: string); ->p4 : Symbol(p4, Decl(giant.ts, 187, 9)) ->p5 : Symbol(p5, Decl(giant.ts, 187, 20)) +>p4 : Symbol(p4, Decl(giant.ts, 188, 9)) +>p5 : Symbol(p5, Decl(giant.ts, 188, 20)) (p6: string, ...p7: any[]); ->p6 : Symbol(p6, Decl(giant.ts, 188, 9)) ->p7 : Symbol(p7, Decl(giant.ts, 188, 20)) +>p6 : Symbol(p6, Decl(giant.ts, 189, 9)) +>p7 : Symbol(p7, Decl(giant.ts, 189, 20)) //(p8?: string, ...p9: any[]); //(p10:string, p8?: string, ...p9: any[]); @@ -493,311 +498,312 @@ module M { new (); new (): number; new (p: string); ->p : Symbol(p, Decl(giant.ts, 195, 13)) +>p : Symbol(p, Decl(giant.ts, 196, 13)) new (p2?: string); ->p2 : Symbol(p2, Decl(giant.ts, 196, 13)) +>p2 : Symbol(p2, Decl(giant.ts, 197, 13)) new (...p3: any[]); ->p3 : Symbol(p3, Decl(giant.ts, 197, 13)) +>p3 : Symbol(p3, Decl(giant.ts, 198, 13)) new (p4: string, p5?: string); ->p4 : Symbol(p4, Decl(giant.ts, 198, 13)) ->p5 : Symbol(p5, Decl(giant.ts, 198, 24)) +>p4 : Symbol(p4, Decl(giant.ts, 199, 13)) +>p5 : Symbol(p5, Decl(giant.ts, 199, 24)) new (p6: string, ...p7: any[]); ->p6 : Symbol(p6, Decl(giant.ts, 199, 13)) ->p7 : Symbol(p7, Decl(giant.ts, 199, 24)) +>p6 : Symbol(p6, Decl(giant.ts, 200, 13)) +>p7 : Symbol(p7, Decl(giant.ts, 200, 24)) //Index Signature [p]; ->[p] : Symbol(eI[p], Decl(giant.ts, 199, 39)) +>[p] : Symbol(eI[p], Decl(giant.ts, 200, 39)) +>p : Symbol(p, Decl(giant.ts, 13, 5)) [p1: string]; ->p1 : Symbol(p1, Decl(giant.ts, 203, 9)) +>p1 : Symbol(p1, Decl(giant.ts, 204, 9)) [p2: string, p3: number]; ->p2 : Symbol(p2, Decl(giant.ts, 204, 9)) ->p3 : Symbol(p3, Decl(giant.ts, 204, 20)) +>p2 : Symbol(p2, Decl(giant.ts, 205, 9)) +>p3 : Symbol(p3, Decl(giant.ts, 205, 20)) //Property Signature p; ->p : Symbol(eI.p, Decl(giant.ts, 204, 33)) +>p : Symbol(eI.p, Decl(giant.ts, 205, 33)) p1?; ->p1 : Symbol(eI.p1, Decl(giant.ts, 207, 10)) +>p1 : Symbol(eI.p1, Decl(giant.ts, 208, 10)) p2?: string; ->p2 : Symbol(eI.p2, Decl(giant.ts, 208, 12)) +>p2 : Symbol(eI.p2, Decl(giant.ts, 209, 12)) //Function Signature p3(); ->p3 : Symbol(eI.p3, Decl(giant.ts, 209, 20)) +>p3 : Symbol(eI.p3, Decl(giant.ts, 210, 20)) p4? (); ->p4 : Symbol(eI.p4, Decl(giant.ts, 212, 13)) +>p4 : Symbol(eI.p4, Decl(giant.ts, 213, 13)) p5? (): void; ->p5 : Symbol(eI.p5, Decl(giant.ts, 213, 15)) +>p5 : Symbol(eI.p5, Decl(giant.ts, 214, 15)) p6(pa1): void; ->p6 : Symbol(eI.p6, Decl(giant.ts, 214, 21)) ->pa1 : Symbol(pa1, Decl(giant.ts, 215, 11)) +>p6 : Symbol(eI.p6, Decl(giant.ts, 215, 21)) +>pa1 : Symbol(pa1, Decl(giant.ts, 216, 11)) p7(pa1, pa2): void; ->p7 : Symbol(eI.p7, Decl(giant.ts, 215, 22), Decl(giant.ts, 216, 27)) ->pa1 : Symbol(pa1, Decl(giant.ts, 216, 11)) ->pa2 : Symbol(pa2, Decl(giant.ts, 216, 15)) +>p7 : Symbol(eI.p7, Decl(giant.ts, 216, 22), Decl(giant.ts, 217, 27)) +>pa1 : Symbol(pa1, Decl(giant.ts, 217, 11)) +>pa2 : Symbol(pa2, Decl(giant.ts, 217, 15)) p7? (pa1, pa2): void; ->p7 : Symbol(eI.p7, Decl(giant.ts, 215, 22), Decl(giant.ts, 216, 27)) ->pa1 : Symbol(pa1, Decl(giant.ts, 217, 13)) ->pa2 : Symbol(pa2, Decl(giant.ts, 217, 17)) +>p7 : Symbol(eI.p7, Decl(giant.ts, 216, 22), Decl(giant.ts, 217, 27)) +>pa1 : Symbol(pa1, Decl(giant.ts, 218, 13)) +>pa2 : Symbol(pa2, Decl(giant.ts, 218, 17)) } export module eM { ->eM : Symbol(eM, Decl(giant.ts, 218, 5)) +>eM : Symbol(eM, Decl(giant.ts, 219, 5)) var V; ->V : Symbol(V, Decl(giant.ts, 220, 11)) +>V : Symbol(V, Decl(giant.ts, 221, 11)) function F() { }; ->F : Symbol(F, Decl(giant.ts, 220, 14)) +>F : Symbol(F, Decl(giant.ts, 221, 14)) class C { }; ->C : Symbol(C, Decl(giant.ts, 221, 25)) +>C : Symbol(C, Decl(giant.ts, 222, 25)) interface I { }; ->I : Symbol(I, Decl(giant.ts, 222, 20)) +>I : Symbol(I, Decl(giant.ts, 223, 20)) module M { }; ->M : Symbol(M, Decl(giant.ts, 223, 24)) +>M : Symbol(M, Decl(giant.ts, 224, 24)) export var eV; ->eV : Symbol(eV, Decl(giant.ts, 225, 18)) +>eV : Symbol(eV, Decl(giant.ts, 226, 18)) export function eF() { }; ->eF : Symbol(eF, Decl(giant.ts, 225, 22)) +>eF : Symbol(eF, Decl(giant.ts, 226, 22)) export class eC { }; ->eC : Symbol(eC, Decl(giant.ts, 226, 33)) +>eC : Symbol(eC, Decl(giant.ts, 227, 33)) export interface eI { }; ->eI : Symbol(eI, Decl(giant.ts, 227, 28)) +>eI : Symbol(eI, Decl(giant.ts, 228, 28)) export module eM { }; ->eM : Symbol(eM, Decl(giant.ts, 228, 32)) +>eM : Symbol(eM, Decl(giant.ts, 229, 32)) export declare var eaV; ->eaV : Symbol(eaV, Decl(giant.ts, 230, 26)) +>eaV : Symbol(eaV, Decl(giant.ts, 231, 26)) export declare function eaF() { }; ->eaF : Symbol(eaF, Decl(giant.ts, 230, 31)) +>eaF : Symbol(eaF, Decl(giant.ts, 231, 31)) export declare class eaC { }; ->eaC : Symbol(eaC, Decl(giant.ts, 231, 42)) +>eaC : Symbol(eaC, Decl(giant.ts, 232, 42)) export declare module eaM { }; ->eaM : Symbol(eaM, Decl(giant.ts, 232, 37)) +>eaM : Symbol(eaM, Decl(giant.ts, 233, 37)) } export declare var eaV; ->eaV : Symbol(eaV, Decl(giant.ts, 235, 22)) +>eaV : Symbol(eaV, Decl(giant.ts, 236, 22)) export declare function eaF() { }; ->eaF : Symbol(eaF, Decl(giant.ts, 235, 27)) +>eaF : Symbol(eaF, Decl(giant.ts, 236, 27)) export declare class eaC { ->eaC : Symbol(eaC, Decl(giant.ts, 236, 38)) +>eaC : Symbol(eaC, Decl(giant.ts, 237, 38)) constructor () { } public pV; ->pV : Symbol(eaC.pV, Decl(giant.ts, 238, 26)) +>pV : Symbol(eaC.pV, Decl(giant.ts, 239, 26)) private rV; ->rV : Symbol(eaC.rV, Decl(giant.ts, 239, 18)) +>rV : Symbol(eaC.rV, Decl(giant.ts, 240, 18)) public pF() { } ->pF : Symbol(eaC.pF, Decl(giant.ts, 240, 19)) +>pF : Symbol(eaC.pF, Decl(giant.ts, 241, 19)) private rF() { } ->rF : Symbol(eaC.rF, Decl(giant.ts, 241, 23)) +>rF : Symbol(eaC.rF, Decl(giant.ts, 242, 23)) public pgF() { } ->pgF : Symbol(eaC.pgF, Decl(giant.ts, 242, 24)) +>pgF : Symbol(eaC.pgF, Decl(giant.ts, 243, 24)) public get pgF() ->pgF : Symbol(eaC.pgF, Decl(giant.ts, 243, 24)) +>pgF : Symbol(eaC.pgF, Decl(giant.ts, 244, 24)) public psF(param:any) { } ->psF : Symbol(eaC.psF, Decl(giant.ts, 244, 24)) ->param : Symbol(param, Decl(giant.ts, 245, 19)) +>psF : Symbol(eaC.psF, Decl(giant.ts, 245, 24)) +>param : Symbol(param, Decl(giant.ts, 246, 19)) public set psF(param:any) ->psF : Symbol(eaC.psF, Decl(giant.ts, 245, 33)) ->param : Symbol(param, Decl(giant.ts, 246, 23)) +>psF : Symbol(eaC.psF, Decl(giant.ts, 246, 33)) +>param : Symbol(param, Decl(giant.ts, 247, 23)) private rgF() { } ->rgF : Symbol(eaC.rgF, Decl(giant.ts, 246, 33)) +>rgF : Symbol(eaC.rgF, Decl(giant.ts, 247, 33)) private get rgF() ->rgF : Symbol(eaC.rgF, Decl(giant.ts, 247, 25)) +>rgF : Symbol(eaC.rgF, Decl(giant.ts, 248, 25)) private rsF(param:any) { } ->rsF : Symbol(eaC.rsF, Decl(giant.ts, 248, 25)) ->param : Symbol(param, Decl(giant.ts, 249, 20)) +>rsF : Symbol(eaC.rsF, Decl(giant.ts, 249, 25)) +>param : Symbol(param, Decl(giant.ts, 250, 20)) private set rsF(param:any) ->rsF : Symbol(eaC.rsF, Decl(giant.ts, 249, 34)) ->param : Symbol(param, Decl(giant.ts, 250, 24)) +>rsF : Symbol(eaC.rsF, Decl(giant.ts, 250, 34)) +>param : Symbol(param, Decl(giant.ts, 251, 24)) static tV; ->tV : Symbol(eaC.tV, Decl(giant.ts, 250, 34)) +>tV : Symbol(eaC.tV, Decl(giant.ts, 251, 34)) static tF() { } ->tF : Symbol(eaC.tF, Decl(giant.ts, 251, 18)) +>tF : Symbol(eaC.tF, Decl(giant.ts, 252, 18)) static tsF(param:any) { } ->tsF : Symbol(eaC.tsF, Decl(giant.ts, 252, 23)) ->param : Symbol(param, Decl(giant.ts, 253, 19)) +>tsF : Symbol(eaC.tsF, Decl(giant.ts, 253, 23)) +>param : Symbol(param, Decl(giant.ts, 254, 19)) static set tsF(param:any) ->tsF : Symbol(eaC.tsF, Decl(giant.ts, 253, 33)) ->param : Symbol(param, Decl(giant.ts, 254, 23)) +>tsF : Symbol(eaC.tsF, Decl(giant.ts, 254, 33)) +>param : Symbol(param, Decl(giant.ts, 255, 23)) static tgF() { } ->tgF : Symbol(eaC.tgF, Decl(giant.ts, 254, 33)) +>tgF : Symbol(eaC.tgF, Decl(giant.ts, 255, 33)) static get tgF() ->tgF : Symbol(eaC.tgF, Decl(giant.ts, 255, 24)) +>tgF : Symbol(eaC.tgF, Decl(giant.ts, 256, 24)) } export declare module eaM { ->eaM : Symbol(eaM, Decl(giant.ts, 257, 5)) +>eaM : Symbol(eaM, Decl(giant.ts, 258, 5)) var V; ->V : Symbol(V, Decl(giant.ts, 259, 11)) +>V : Symbol(V, Decl(giant.ts, 260, 11)) function F() { }; ->F : Symbol(F, Decl(giant.ts, 259, 14)) +>F : Symbol(F, Decl(giant.ts, 260, 14)) class C { } ->C : Symbol(C, Decl(giant.ts, 260, 25)) +>C : Symbol(C, Decl(giant.ts, 261, 25)) interface I { } ->I : Symbol(I, Decl(giant.ts, 261, 19)) +>I : Symbol(I, Decl(giant.ts, 262, 19)) module M { } ->M : Symbol(M, Decl(giant.ts, 262, 23)) +>M : Symbol(M, Decl(giant.ts, 263, 23)) export var eV; ->eV : Symbol(eV, Decl(giant.ts, 264, 18)) +>eV : Symbol(eV, Decl(giant.ts, 265, 18)) export function eF() { }; ->eF : Symbol(eF, Decl(giant.ts, 264, 22)) +>eF : Symbol(eF, Decl(giant.ts, 265, 22)) export class eC { } ->eC : Symbol(eC, Decl(giant.ts, 265, 33)) +>eC : Symbol(eC, Decl(giant.ts, 266, 33)) export interface eI { } ->eI : Symbol(eI, Decl(giant.ts, 266, 27)) +>eI : Symbol(eI, Decl(giant.ts, 267, 27)) export module eM { } ->eM : Symbol(eM, Decl(giant.ts, 267, 31)) +>eM : Symbol(eM, Decl(giant.ts, 268, 31)) } } export var eV; ->eV : Symbol(eV, Decl(giant.ts, 271, 10)) +>eV : Symbol(eV, Decl(giant.ts, 272, 10)) export function eF() { }; ->eF : Symbol(eF, Decl(giant.ts, 271, 14)) +>eF : Symbol(eF, Decl(giant.ts, 272, 14)) export class eC { ->eC : Symbol(eC, Decl(giant.ts, 272, 25)) +>eC : Symbol(eC, Decl(giant.ts, 273, 25)) constructor () { } public pV; ->pV : Symbol(eC.pV, Decl(giant.ts, 274, 22)) +>pV : Symbol(eC.pV, Decl(giant.ts, 275, 22)) private rV; ->rV : Symbol(eC.rV, Decl(giant.ts, 275, 14)) +>rV : Symbol(eC.rV, Decl(giant.ts, 276, 14)) public pF() { } ->pF : Symbol(eC.pF, Decl(giant.ts, 276, 15)) +>pF : Symbol(eC.pF, Decl(giant.ts, 277, 15)) private rF() { } ->rF : Symbol(eC.rF, Decl(giant.ts, 277, 19)) +>rF : Symbol(eC.rF, Decl(giant.ts, 278, 19)) public pgF() { } ->pgF : Symbol(eC.pgF, Decl(giant.ts, 278, 20)) +>pgF : Symbol(eC.pgF, Decl(giant.ts, 279, 20)) public get pgF() ->pgF : Symbol(eC.pgF, Decl(giant.ts, 279, 20)) +>pgF : Symbol(eC.pgF, Decl(giant.ts, 280, 20)) public psF(param:any) { } ->psF : Symbol(eC.psF, Decl(giant.ts, 280, 20)) ->param : Symbol(param, Decl(giant.ts, 281, 15)) +>psF : Symbol(eC.psF, Decl(giant.ts, 281, 20)) +>param : Symbol(param, Decl(giant.ts, 282, 15)) public set psF(param:any) ->psF : Symbol(eC.psF, Decl(giant.ts, 281, 29)) ->param : Symbol(param, Decl(giant.ts, 282, 19)) +>psF : Symbol(eC.psF, Decl(giant.ts, 282, 29)) +>param : Symbol(param, Decl(giant.ts, 283, 19)) private rgF() { } ->rgF : Symbol(eC.rgF, Decl(giant.ts, 282, 29)) +>rgF : Symbol(eC.rgF, Decl(giant.ts, 283, 29)) private get rgF() ->rgF : Symbol(eC.rgF, Decl(giant.ts, 283, 21)) +>rgF : Symbol(eC.rgF, Decl(giant.ts, 284, 21)) private rsF(param:any) { } ->rsF : Symbol(eC.rsF, Decl(giant.ts, 284, 21)) ->param : Symbol(param, Decl(giant.ts, 285, 16)) +>rsF : Symbol(eC.rsF, Decl(giant.ts, 285, 21)) +>param : Symbol(param, Decl(giant.ts, 286, 16)) private set rsF(param:any) ->rsF : Symbol(eC.rsF, Decl(giant.ts, 285, 30)) ->param : Symbol(param, Decl(giant.ts, 286, 20)) +>rsF : Symbol(eC.rsF, Decl(giant.ts, 286, 30)) +>param : Symbol(param, Decl(giant.ts, 287, 20)) static tV; ->tV : Symbol(eC.tV, Decl(giant.ts, 286, 30)) +>tV : Symbol(eC.tV, Decl(giant.ts, 287, 30)) static tF() { } ->tF : Symbol(eC.tF, Decl(giant.ts, 287, 14)) +>tF : Symbol(eC.tF, Decl(giant.ts, 288, 14)) static tsF(param:any) { } ->tsF : Symbol(eC.tsF, Decl(giant.ts, 288, 19)) ->param : Symbol(param, Decl(giant.ts, 289, 15)) +>tsF : Symbol(eC.tsF, Decl(giant.ts, 289, 19)) +>param : Symbol(param, Decl(giant.ts, 290, 15)) static set tsF(param:any) ->tsF : Symbol(eC.tsF, Decl(giant.ts, 289, 29)) ->param : Symbol(param, Decl(giant.ts, 290, 19)) +>tsF : Symbol(eC.tsF, Decl(giant.ts, 290, 29)) +>param : Symbol(param, Decl(giant.ts, 291, 19)) static tgF() { } ->tgF : Symbol(eC.tgF, Decl(giant.ts, 290, 29)) +>tgF : Symbol(eC.tgF, Decl(giant.ts, 291, 29)) static get tgF() ->tgF : Symbol(eC.tgF, Decl(giant.ts, 291, 20)) +>tgF : Symbol(eC.tgF, Decl(giant.ts, 292, 20)) } export interface eI { ->eI : Symbol(eI, Decl(giant.ts, 293, 1)) +>eI : Symbol(eI, Decl(giant.ts, 294, 1)) //Call Signature (); (): number; (p); ->p : Symbol(p, Decl(giant.ts, 298, 5)) +>p : Symbol(p, Decl(giant.ts, 299, 5)) (p1: string); ->p1 : Symbol(p1, Decl(giant.ts, 299, 5)) +>p1 : Symbol(p1, Decl(giant.ts, 300, 5)) (p2?: string); ->p2 : Symbol(p2, Decl(giant.ts, 300, 5)) +>p2 : Symbol(p2, Decl(giant.ts, 301, 5)) (...p3: any[]); ->p3 : Symbol(p3, Decl(giant.ts, 301, 5)) +>p3 : Symbol(p3, Decl(giant.ts, 302, 5)) (p4: string, p5?: string); ->p4 : Symbol(p4, Decl(giant.ts, 302, 5)) ->p5 : Symbol(p5, Decl(giant.ts, 302, 16)) +>p4 : Symbol(p4, Decl(giant.ts, 303, 5)) +>p5 : Symbol(p5, Decl(giant.ts, 303, 16)) (p6: string, ...p7: any[]); ->p6 : Symbol(p6, Decl(giant.ts, 303, 5)) ->p7 : Symbol(p7, Decl(giant.ts, 303, 16)) +>p6 : Symbol(p6, Decl(giant.ts, 304, 5)) +>p7 : Symbol(p7, Decl(giant.ts, 304, 16)) //(p8?: string, ...p9: any[]); //(p10:string, p8?: string, ...p9: any[]); @@ -806,165 +812,166 @@ export interface eI { new (); new (): number; new (p: string); ->p : Symbol(p, Decl(giant.ts, 310, 9)) +>p : Symbol(p, Decl(giant.ts, 311, 9)) new (p2?: string); ->p2 : Symbol(p2, Decl(giant.ts, 311, 9)) +>p2 : Symbol(p2, Decl(giant.ts, 312, 9)) new (...p3: any[]); ->p3 : Symbol(p3, Decl(giant.ts, 312, 9)) +>p3 : Symbol(p3, Decl(giant.ts, 313, 9)) new (p4: string, p5?: string); ->p4 : Symbol(p4, Decl(giant.ts, 313, 9)) ->p5 : Symbol(p5, Decl(giant.ts, 313, 20)) +>p4 : Symbol(p4, Decl(giant.ts, 314, 9)) +>p5 : Symbol(p5, Decl(giant.ts, 314, 20)) new (p6: string, ...p7: any[]); ->p6 : Symbol(p6, Decl(giant.ts, 314, 9)) ->p7 : Symbol(p7, Decl(giant.ts, 314, 20)) +>p6 : Symbol(p6, Decl(giant.ts, 315, 9)) +>p7 : Symbol(p7, Decl(giant.ts, 315, 20)) //Index Signature [p]; ->[p] : Symbol(eI[p], Decl(giant.ts, 314, 35)) +>[p] : Symbol(eI[p], Decl(giant.ts, 315, 35)) +>p : Symbol(p, Decl(giant.ts, 13, 5)) [p1: string]; ->p1 : Symbol(p1, Decl(giant.ts, 318, 5)) +>p1 : Symbol(p1, Decl(giant.ts, 319, 5)) [p2: string, p3: number]; ->p2 : Symbol(p2, Decl(giant.ts, 319, 5)) ->p3 : Symbol(p3, Decl(giant.ts, 319, 16)) +>p2 : Symbol(p2, Decl(giant.ts, 320, 5)) +>p3 : Symbol(p3, Decl(giant.ts, 320, 16)) //Property Signature p; ->p : Symbol(eI.p, Decl(giant.ts, 319, 29)) +>p : Symbol(eI.p, Decl(giant.ts, 320, 29)) p1?; ->p1 : Symbol(eI.p1, Decl(giant.ts, 322, 6)) +>p1 : Symbol(eI.p1, Decl(giant.ts, 323, 6)) p2?: string; ->p2 : Symbol(eI.p2, Decl(giant.ts, 323, 8)) +>p2 : Symbol(eI.p2, Decl(giant.ts, 324, 8)) //Function Signature p3(); ->p3 : Symbol(eI.p3, Decl(giant.ts, 324, 16)) +>p3 : Symbol(eI.p3, Decl(giant.ts, 325, 16)) p4? (); ->p4 : Symbol(eI.p4, Decl(giant.ts, 327, 9)) +>p4 : Symbol(eI.p4, Decl(giant.ts, 328, 9)) p5? (): void; ->p5 : Symbol(eI.p5, Decl(giant.ts, 328, 11)) +>p5 : Symbol(eI.p5, Decl(giant.ts, 329, 11)) p6(pa1): void; ->p6 : Symbol(eI.p6, Decl(giant.ts, 329, 17)) ->pa1 : Symbol(pa1, Decl(giant.ts, 330, 7)) +>p6 : Symbol(eI.p6, Decl(giant.ts, 330, 17)) +>pa1 : Symbol(pa1, Decl(giant.ts, 331, 7)) p7(pa1, pa2): void; ->p7 : Symbol(eI.p7, Decl(giant.ts, 330, 18), Decl(giant.ts, 331, 23)) ->pa1 : Symbol(pa1, Decl(giant.ts, 331, 7)) ->pa2 : Symbol(pa2, Decl(giant.ts, 331, 11)) +>p7 : Symbol(eI.p7, Decl(giant.ts, 331, 18), Decl(giant.ts, 332, 23)) +>pa1 : Symbol(pa1, Decl(giant.ts, 332, 7)) +>pa2 : Symbol(pa2, Decl(giant.ts, 332, 11)) p7? (pa1, pa2): void; ->p7 : Symbol(eI.p7, Decl(giant.ts, 330, 18), Decl(giant.ts, 331, 23)) ->pa1 : Symbol(pa1, Decl(giant.ts, 332, 9)) ->pa2 : Symbol(pa2, Decl(giant.ts, 332, 13)) +>p7 : Symbol(eI.p7, Decl(giant.ts, 331, 18), Decl(giant.ts, 332, 23)) +>pa1 : Symbol(pa1, Decl(giant.ts, 333, 9)) +>pa2 : Symbol(pa2, Decl(giant.ts, 333, 13)) } export module eM { ->eM : Symbol(eM, Decl(giant.ts, 333, 1)) +>eM : Symbol(eM, Decl(giant.ts, 334, 1)) var V; ->V : Symbol(V, Decl(giant.ts, 335, 7)) +>V : Symbol(V, Decl(giant.ts, 336, 7)) function F() { }; ->F : Symbol(F, Decl(giant.ts, 335, 10)) +>F : Symbol(F, Decl(giant.ts, 336, 10)) class C { ->C : Symbol(C, Decl(giant.ts, 336, 21)) +>C : Symbol(C, Decl(giant.ts, 337, 21)) constructor () { } public pV; ->pV : Symbol(C.pV, Decl(giant.ts, 338, 26)) +>pV : Symbol(C.pV, Decl(giant.ts, 339, 26)) private rV; ->rV : Symbol(C.rV, Decl(giant.ts, 339, 18)) +>rV : Symbol(C.rV, Decl(giant.ts, 340, 18)) public pF() { } ->pF : Symbol(C.pF, Decl(giant.ts, 340, 19)) +>pF : Symbol(C.pF, Decl(giant.ts, 341, 19)) private rF() { } ->rF : Symbol(C.rF, Decl(giant.ts, 341, 23)) +>rF : Symbol(C.rF, Decl(giant.ts, 342, 23)) public pgF() { } ->pgF : Symbol(C.pgF, Decl(giant.ts, 342, 24)) +>pgF : Symbol(C.pgF, Decl(giant.ts, 343, 24)) public get pgF() ->pgF : Symbol(C.pgF, Decl(giant.ts, 343, 24)) +>pgF : Symbol(C.pgF, Decl(giant.ts, 344, 24)) public psF(param:any) { } ->psF : Symbol(C.psF, Decl(giant.ts, 344, 24)) ->param : Symbol(param, Decl(giant.ts, 345, 19)) +>psF : Symbol(C.psF, Decl(giant.ts, 345, 24)) +>param : Symbol(param, Decl(giant.ts, 346, 19)) public set psF(param:any) ->psF : Symbol(C.psF, Decl(giant.ts, 345, 33)) ->param : Symbol(param, Decl(giant.ts, 346, 23)) +>psF : Symbol(C.psF, Decl(giant.ts, 346, 33)) +>param : Symbol(param, Decl(giant.ts, 347, 23)) private rgF() { } ->rgF : Symbol(C.rgF, Decl(giant.ts, 346, 33)) +>rgF : Symbol(C.rgF, Decl(giant.ts, 347, 33)) private get rgF() ->rgF : Symbol(C.rgF, Decl(giant.ts, 347, 25)) +>rgF : Symbol(C.rgF, Decl(giant.ts, 348, 25)) private rsF(param:any) { } ->rsF : Symbol(C.rsF, Decl(giant.ts, 348, 25)) ->param : Symbol(param, Decl(giant.ts, 349, 20)) +>rsF : Symbol(C.rsF, Decl(giant.ts, 349, 25)) +>param : Symbol(param, Decl(giant.ts, 350, 20)) private set rsF(param:any) ->rsF : Symbol(C.rsF, Decl(giant.ts, 349, 34)) ->param : Symbol(param, Decl(giant.ts, 350, 24)) +>rsF : Symbol(C.rsF, Decl(giant.ts, 350, 34)) +>param : Symbol(param, Decl(giant.ts, 351, 24)) static tV; ->tV : Symbol(C.tV, Decl(giant.ts, 350, 34)) +>tV : Symbol(C.tV, Decl(giant.ts, 351, 34)) static tF() { } ->tF : Symbol(C.tF, Decl(giant.ts, 351, 18)) +>tF : Symbol(C.tF, Decl(giant.ts, 352, 18)) static tsF(param:any) { } ->tsF : Symbol(C.tsF, Decl(giant.ts, 352, 23)) ->param : Symbol(param, Decl(giant.ts, 353, 19)) +>tsF : Symbol(C.tsF, Decl(giant.ts, 353, 23)) +>param : Symbol(param, Decl(giant.ts, 354, 19)) static set tsF(param:any) ->tsF : Symbol(C.tsF, Decl(giant.ts, 353, 33)) ->param : Symbol(param, Decl(giant.ts, 354, 23)) +>tsF : Symbol(C.tsF, Decl(giant.ts, 354, 33)) +>param : Symbol(param, Decl(giant.ts, 355, 23)) static tgF() { } ->tgF : Symbol(C.tgF, Decl(giant.ts, 354, 33)) +>tgF : Symbol(C.tgF, Decl(giant.ts, 355, 33)) static get tgF() ->tgF : Symbol(C.tgF, Decl(giant.ts, 355, 24)) +>tgF : Symbol(C.tgF, Decl(giant.ts, 356, 24)) } interface I { ->I : Symbol(I, Decl(giant.ts, 357, 5)) +>I : Symbol(I, Decl(giant.ts, 358, 5)) //Call Signature (); (): number; (p); ->p : Symbol(p, Decl(giant.ts, 362, 9)) +>p : Symbol(p, Decl(giant.ts, 363, 9)) (p1: string); ->p1 : Symbol(p1, Decl(giant.ts, 363, 9)) +>p1 : Symbol(p1, Decl(giant.ts, 364, 9)) (p2?: string); ->p2 : Symbol(p2, Decl(giant.ts, 364, 9)) +>p2 : Symbol(p2, Decl(giant.ts, 365, 9)) (...p3: any[]); ->p3 : Symbol(p3, Decl(giant.ts, 365, 9)) +>p3 : Symbol(p3, Decl(giant.ts, 366, 9)) (p4: string, p5?: string); ->p4 : Symbol(p4, Decl(giant.ts, 366, 9)) ->p5 : Symbol(p5, Decl(giant.ts, 366, 20)) +>p4 : Symbol(p4, Decl(giant.ts, 367, 9)) +>p5 : Symbol(p5, Decl(giant.ts, 367, 20)) (p6: string, ...p7: any[]); ->p6 : Symbol(p6, Decl(giant.ts, 367, 9)) ->p7 : Symbol(p7, Decl(giant.ts, 367, 20)) +>p6 : Symbol(p6, Decl(giant.ts, 368, 9)) +>p7 : Symbol(p7, Decl(giant.ts, 368, 20)) //(p8?: string, ...p9: any[]); //(p10:string, p8?: string, ...p9: any[]); @@ -973,207 +980,208 @@ export module eM { new (); new (): number; new (p: string); ->p : Symbol(p, Decl(giant.ts, 374, 13)) +>p : Symbol(p, Decl(giant.ts, 375, 13)) new (p2?: string); ->p2 : Symbol(p2, Decl(giant.ts, 375, 13)) +>p2 : Symbol(p2, Decl(giant.ts, 376, 13)) new (...p3: any[]); ->p3 : Symbol(p3, Decl(giant.ts, 376, 13)) +>p3 : Symbol(p3, Decl(giant.ts, 377, 13)) new (p4: string, p5?: string); ->p4 : Symbol(p4, Decl(giant.ts, 377, 13)) ->p5 : Symbol(p5, Decl(giant.ts, 377, 24)) +>p4 : Symbol(p4, Decl(giant.ts, 378, 13)) +>p5 : Symbol(p5, Decl(giant.ts, 378, 24)) new (p6: string, ...p7: any[]); ->p6 : Symbol(p6, Decl(giant.ts, 378, 13)) ->p7 : Symbol(p7, Decl(giant.ts, 378, 24)) +>p6 : Symbol(p6, Decl(giant.ts, 379, 13)) +>p7 : Symbol(p7, Decl(giant.ts, 379, 24)) //Index Signature [p]; ->[p] : Symbol(I[p], Decl(giant.ts, 378, 39)) +>[p] : Symbol(I[p], Decl(giant.ts, 379, 39)) +>p : Symbol(p, Decl(giant.ts, 13, 5)) [p1: string]; ->p1 : Symbol(p1, Decl(giant.ts, 382, 9)) +>p1 : Symbol(p1, Decl(giant.ts, 383, 9)) [p2: string, p3: number]; ->p2 : Symbol(p2, Decl(giant.ts, 383, 9)) ->p3 : Symbol(p3, Decl(giant.ts, 383, 20)) +>p2 : Symbol(p2, Decl(giant.ts, 384, 9)) +>p3 : Symbol(p3, Decl(giant.ts, 384, 20)) //Property Signature p; ->p : Symbol(I.p, Decl(giant.ts, 383, 33)) +>p : Symbol(I.p, Decl(giant.ts, 384, 33)) p1?; ->p1 : Symbol(I.p1, Decl(giant.ts, 386, 10)) +>p1 : Symbol(I.p1, Decl(giant.ts, 387, 10)) p2?: string; ->p2 : Symbol(I.p2, Decl(giant.ts, 387, 12)) +>p2 : Symbol(I.p2, Decl(giant.ts, 388, 12)) //Function Signature p3(); ->p3 : Symbol(I.p3, Decl(giant.ts, 388, 20)) +>p3 : Symbol(I.p3, Decl(giant.ts, 389, 20)) p4? (); ->p4 : Symbol(I.p4, Decl(giant.ts, 391, 13)) +>p4 : Symbol(I.p4, Decl(giant.ts, 392, 13)) p5? (): void; ->p5 : Symbol(I.p5, Decl(giant.ts, 392, 15)) +>p5 : Symbol(I.p5, Decl(giant.ts, 393, 15)) p6(pa1): void; ->p6 : Symbol(I.p6, Decl(giant.ts, 393, 21)) ->pa1 : Symbol(pa1, Decl(giant.ts, 394, 11)) +>p6 : Symbol(I.p6, Decl(giant.ts, 394, 21)) +>pa1 : Symbol(pa1, Decl(giant.ts, 395, 11)) p7(pa1, pa2): void; ->p7 : Symbol(I.p7, Decl(giant.ts, 394, 22), Decl(giant.ts, 395, 27)) ->pa1 : Symbol(pa1, Decl(giant.ts, 395, 11)) ->pa2 : Symbol(pa2, Decl(giant.ts, 395, 15)) +>p7 : Symbol(I.p7, Decl(giant.ts, 395, 22), Decl(giant.ts, 396, 27)) +>pa1 : Symbol(pa1, Decl(giant.ts, 396, 11)) +>pa2 : Symbol(pa2, Decl(giant.ts, 396, 15)) p7? (pa1, pa2): void; ->p7 : Symbol(I.p7, Decl(giant.ts, 394, 22), Decl(giant.ts, 395, 27)) ->pa1 : Symbol(pa1, Decl(giant.ts, 396, 13)) ->pa2 : Symbol(pa2, Decl(giant.ts, 396, 17)) +>p7 : Symbol(I.p7, Decl(giant.ts, 395, 22), Decl(giant.ts, 396, 27)) +>pa1 : Symbol(pa1, Decl(giant.ts, 397, 13)) +>pa2 : Symbol(pa2, Decl(giant.ts, 397, 17)) } module M { ->M : Symbol(M, Decl(giant.ts, 397, 5)) +>M : Symbol(M, Decl(giant.ts, 398, 5)) var V; ->V : Symbol(V, Decl(giant.ts, 399, 11)) +>V : Symbol(V, Decl(giant.ts, 400, 11)) function F() { }; ->F : Symbol(F, Decl(giant.ts, 399, 14)) +>F : Symbol(F, Decl(giant.ts, 400, 14)) class C { }; ->C : Symbol(C, Decl(giant.ts, 400, 25)) +>C : Symbol(C, Decl(giant.ts, 401, 25)) interface I { }; ->I : Symbol(I, Decl(giant.ts, 401, 20)) +>I : Symbol(I, Decl(giant.ts, 402, 20)) module M { }; ->M : Symbol(M, Decl(giant.ts, 402, 24)) +>M : Symbol(M, Decl(giant.ts, 403, 24)) export var eV; ->eV : Symbol(eV, Decl(giant.ts, 404, 18)) +>eV : Symbol(eV, Decl(giant.ts, 405, 18)) export function eF() { }; ->eF : Symbol(eF, Decl(giant.ts, 404, 22)) +>eF : Symbol(eF, Decl(giant.ts, 405, 22)) export class eC { }; ->eC : Symbol(eC, Decl(giant.ts, 405, 33)) +>eC : Symbol(eC, Decl(giant.ts, 406, 33)) export interface eI { }; ->eI : Symbol(eI, Decl(giant.ts, 406, 28)) +>eI : Symbol(eI, Decl(giant.ts, 407, 28)) export module eM { }; ->eM : Symbol(eM, Decl(giant.ts, 407, 32)) +>eM : Symbol(eM, Decl(giant.ts, 408, 32)) export declare var eaV; ->eaV : Symbol(eaV, Decl(giant.ts, 409, 26)) +>eaV : Symbol(eaV, Decl(giant.ts, 410, 26)) export declare function eaF() { }; ->eaF : Symbol(eaF, Decl(giant.ts, 409, 31)) +>eaF : Symbol(eaF, Decl(giant.ts, 410, 31)) export declare class eaC { }; ->eaC : Symbol(eaC, Decl(giant.ts, 410, 42)) +>eaC : Symbol(eaC, Decl(giant.ts, 411, 42)) export declare module eaM { }; ->eaM : Symbol(eaM, Decl(giant.ts, 411, 37)) +>eaM : Symbol(eaM, Decl(giant.ts, 412, 37)) } export var eV; ->eV : Symbol(eV, Decl(giant.ts, 414, 14)) +>eV : Symbol(eV, Decl(giant.ts, 415, 14)) export function eF() { }; ->eF : Symbol(eF, Decl(giant.ts, 414, 18)) +>eF : Symbol(eF, Decl(giant.ts, 415, 18)) export class eC { ->eC : Symbol(eC, Decl(giant.ts, 415, 29)) +>eC : Symbol(eC, Decl(giant.ts, 416, 29)) constructor () { } public pV; ->pV : Symbol(eC.pV, Decl(giant.ts, 417, 26)) +>pV : Symbol(eC.pV, Decl(giant.ts, 418, 26)) private rV; ->rV : Symbol(eC.rV, Decl(giant.ts, 418, 18)) +>rV : Symbol(eC.rV, Decl(giant.ts, 419, 18)) public pF() { } ->pF : Symbol(eC.pF, Decl(giant.ts, 419, 19)) +>pF : Symbol(eC.pF, Decl(giant.ts, 420, 19)) private rF() { } ->rF : Symbol(eC.rF, Decl(giant.ts, 420, 23)) +>rF : Symbol(eC.rF, Decl(giant.ts, 421, 23)) public pgF() { } ->pgF : Symbol(eC.pgF, Decl(giant.ts, 421, 24)) +>pgF : Symbol(eC.pgF, Decl(giant.ts, 422, 24)) public get pgF() ->pgF : Symbol(eC.pgF, Decl(giant.ts, 422, 24)) +>pgF : Symbol(eC.pgF, Decl(giant.ts, 423, 24)) public psF(param:any) { } ->psF : Symbol(eC.psF, Decl(giant.ts, 423, 24)) ->param : Symbol(param, Decl(giant.ts, 424, 19)) +>psF : Symbol(eC.psF, Decl(giant.ts, 424, 24)) +>param : Symbol(param, Decl(giant.ts, 425, 19)) public set psF(param:any) ->psF : Symbol(eC.psF, Decl(giant.ts, 424, 33)) ->param : Symbol(param, Decl(giant.ts, 425, 23)) +>psF : Symbol(eC.psF, Decl(giant.ts, 425, 33)) +>param : Symbol(param, Decl(giant.ts, 426, 23)) private rgF() { } ->rgF : Symbol(eC.rgF, Decl(giant.ts, 425, 33)) +>rgF : Symbol(eC.rgF, Decl(giant.ts, 426, 33)) private get rgF() ->rgF : Symbol(eC.rgF, Decl(giant.ts, 426, 25)) +>rgF : Symbol(eC.rgF, Decl(giant.ts, 427, 25)) private rsF(param:any) { } ->rsF : Symbol(eC.rsF, Decl(giant.ts, 427, 25)) ->param : Symbol(param, Decl(giant.ts, 428, 20)) +>rsF : Symbol(eC.rsF, Decl(giant.ts, 428, 25)) +>param : Symbol(param, Decl(giant.ts, 429, 20)) private set rsF(param:any) ->rsF : Symbol(eC.rsF, Decl(giant.ts, 428, 34)) ->param : Symbol(param, Decl(giant.ts, 429, 24)) +>rsF : Symbol(eC.rsF, Decl(giant.ts, 429, 34)) +>param : Symbol(param, Decl(giant.ts, 430, 24)) static tV; ->tV : Symbol(eC.tV, Decl(giant.ts, 429, 34)) +>tV : Symbol(eC.tV, Decl(giant.ts, 430, 34)) static tF() { } ->tF : Symbol(eC.tF, Decl(giant.ts, 430, 18)) +>tF : Symbol(eC.tF, Decl(giant.ts, 431, 18)) static tsF(param:any) { } ->tsF : Symbol(eC.tsF, Decl(giant.ts, 431, 23)) ->param : Symbol(param, Decl(giant.ts, 432, 19)) +>tsF : Symbol(eC.tsF, Decl(giant.ts, 432, 23)) +>param : Symbol(param, Decl(giant.ts, 433, 19)) static set tsF(param:any) ->tsF : Symbol(eC.tsF, Decl(giant.ts, 432, 33)) ->param : Symbol(param, Decl(giant.ts, 433, 23)) +>tsF : Symbol(eC.tsF, Decl(giant.ts, 433, 33)) +>param : Symbol(param, Decl(giant.ts, 434, 23)) static tgF() { } ->tgF : Symbol(eC.tgF, Decl(giant.ts, 433, 33)) +>tgF : Symbol(eC.tgF, Decl(giant.ts, 434, 33)) static get tgF() ->tgF : Symbol(eC.tgF, Decl(giant.ts, 434, 24)) +>tgF : Symbol(eC.tgF, Decl(giant.ts, 435, 24)) } export interface eI { ->eI : Symbol(eI, Decl(giant.ts, 436, 5)) +>eI : Symbol(eI, Decl(giant.ts, 437, 5)) //Call Signature (); (): number; (p); ->p : Symbol(p, Decl(giant.ts, 441, 9)) +>p : Symbol(p, Decl(giant.ts, 442, 9)) (p1: string); ->p1 : Symbol(p1, Decl(giant.ts, 442, 9)) +>p1 : Symbol(p1, Decl(giant.ts, 443, 9)) (p2?: string); ->p2 : Symbol(p2, Decl(giant.ts, 443, 9)) +>p2 : Symbol(p2, Decl(giant.ts, 444, 9)) (...p3: any[]); ->p3 : Symbol(p3, Decl(giant.ts, 444, 9)) +>p3 : Symbol(p3, Decl(giant.ts, 445, 9)) (p4: string, p5?: string); ->p4 : Symbol(p4, Decl(giant.ts, 445, 9)) ->p5 : Symbol(p5, Decl(giant.ts, 445, 20)) +>p4 : Symbol(p4, Decl(giant.ts, 446, 9)) +>p5 : Symbol(p5, Decl(giant.ts, 446, 20)) (p6: string, ...p7: any[]); ->p6 : Symbol(p6, Decl(giant.ts, 446, 9)) ->p7 : Symbol(p7, Decl(giant.ts, 446, 20)) +>p6 : Symbol(p6, Decl(giant.ts, 447, 9)) +>p7 : Symbol(p7, Decl(giant.ts, 447, 20)) //(p8?: string, ...p9: any[]); //(p10:string, p8?: string, ...p9: any[]); @@ -1182,336 +1190,337 @@ export module eM { new (); new (): number; new (p: string); ->p : Symbol(p, Decl(giant.ts, 453, 13)) +>p : Symbol(p, Decl(giant.ts, 454, 13)) new (p2?: string); ->p2 : Symbol(p2, Decl(giant.ts, 454, 13)) +>p2 : Symbol(p2, Decl(giant.ts, 455, 13)) new (...p3: any[]); ->p3 : Symbol(p3, Decl(giant.ts, 455, 13)) +>p3 : Symbol(p3, Decl(giant.ts, 456, 13)) new (p4: string, p5?: string); ->p4 : Symbol(p4, Decl(giant.ts, 456, 13)) ->p5 : Symbol(p5, Decl(giant.ts, 456, 24)) +>p4 : Symbol(p4, Decl(giant.ts, 457, 13)) +>p5 : Symbol(p5, Decl(giant.ts, 457, 24)) new (p6: string, ...p7: any[]); ->p6 : Symbol(p6, Decl(giant.ts, 457, 13)) ->p7 : Symbol(p7, Decl(giant.ts, 457, 24)) +>p6 : Symbol(p6, Decl(giant.ts, 458, 13)) +>p7 : Symbol(p7, Decl(giant.ts, 458, 24)) //Index Signature [p]; ->[p] : Symbol(eI[p], Decl(giant.ts, 457, 39)) +>[p] : Symbol(eI[p], Decl(giant.ts, 458, 39)) +>p : Symbol(p, Decl(giant.ts, 13, 5)) [p1: string]; ->p1 : Symbol(p1, Decl(giant.ts, 461, 9)) +>p1 : Symbol(p1, Decl(giant.ts, 462, 9)) [p2: string, p3: number]; ->p2 : Symbol(p2, Decl(giant.ts, 462, 9)) ->p3 : Symbol(p3, Decl(giant.ts, 462, 20)) +>p2 : Symbol(p2, Decl(giant.ts, 463, 9)) +>p3 : Symbol(p3, Decl(giant.ts, 463, 20)) //Property Signature p; ->p : Symbol(eI.p, Decl(giant.ts, 462, 33)) +>p : Symbol(eI.p, Decl(giant.ts, 463, 33)) p1?; ->p1 : Symbol(eI.p1, Decl(giant.ts, 465, 10)) +>p1 : Symbol(eI.p1, Decl(giant.ts, 466, 10)) p2?: string; ->p2 : Symbol(eI.p2, Decl(giant.ts, 466, 12)) +>p2 : Symbol(eI.p2, Decl(giant.ts, 467, 12)) //Function Signature p3(); ->p3 : Symbol(eI.p3, Decl(giant.ts, 467, 20)) +>p3 : Symbol(eI.p3, Decl(giant.ts, 468, 20)) p4? (); ->p4 : Symbol(eI.p4, Decl(giant.ts, 470, 13)) +>p4 : Symbol(eI.p4, Decl(giant.ts, 471, 13)) p5? (): void; ->p5 : Symbol(eI.p5, Decl(giant.ts, 471, 15)) +>p5 : Symbol(eI.p5, Decl(giant.ts, 472, 15)) p6(pa1): void; ->p6 : Symbol(eI.p6, Decl(giant.ts, 472, 21)) ->pa1 : Symbol(pa1, Decl(giant.ts, 473, 11)) +>p6 : Symbol(eI.p6, Decl(giant.ts, 473, 21)) +>pa1 : Symbol(pa1, Decl(giant.ts, 474, 11)) p7(pa1, pa2): void; ->p7 : Symbol(eI.p7, Decl(giant.ts, 473, 22), Decl(giant.ts, 474, 27)) ->pa1 : Symbol(pa1, Decl(giant.ts, 474, 11)) ->pa2 : Symbol(pa2, Decl(giant.ts, 474, 15)) +>p7 : Symbol(eI.p7, Decl(giant.ts, 474, 22), Decl(giant.ts, 475, 27)) +>pa1 : Symbol(pa1, Decl(giant.ts, 475, 11)) +>pa2 : Symbol(pa2, Decl(giant.ts, 475, 15)) p7? (pa1, pa2): void; ->p7 : Symbol(eI.p7, Decl(giant.ts, 473, 22), Decl(giant.ts, 474, 27)) ->pa1 : Symbol(pa1, Decl(giant.ts, 475, 13)) ->pa2 : Symbol(pa2, Decl(giant.ts, 475, 17)) +>p7 : Symbol(eI.p7, Decl(giant.ts, 474, 22), Decl(giant.ts, 475, 27)) +>pa1 : Symbol(pa1, Decl(giant.ts, 476, 13)) +>pa2 : Symbol(pa2, Decl(giant.ts, 476, 17)) } export module eM { ->eM : Symbol(eM, Decl(giant.ts, 476, 5)) +>eM : Symbol(eM, Decl(giant.ts, 477, 5)) var V; ->V : Symbol(V, Decl(giant.ts, 478, 11)) +>V : Symbol(V, Decl(giant.ts, 479, 11)) function F() { }; ->F : Symbol(F, Decl(giant.ts, 478, 14)) +>F : Symbol(F, Decl(giant.ts, 479, 14)) class C { }; ->C : Symbol(C, Decl(giant.ts, 479, 25)) +>C : Symbol(C, Decl(giant.ts, 480, 25)) interface I { }; ->I : Symbol(I, Decl(giant.ts, 480, 20)) +>I : Symbol(I, Decl(giant.ts, 481, 20)) module M { }; ->M : Symbol(M, Decl(giant.ts, 481, 24)) +>M : Symbol(M, Decl(giant.ts, 482, 24)) export var eV; ->eV : Symbol(eV, Decl(giant.ts, 483, 18)) +>eV : Symbol(eV, Decl(giant.ts, 484, 18)) export function eF() { }; ->eF : Symbol(eF, Decl(giant.ts, 483, 22)) +>eF : Symbol(eF, Decl(giant.ts, 484, 22)) export class eC { }; ->eC : Symbol(eC, Decl(giant.ts, 484, 33)) +>eC : Symbol(eC, Decl(giant.ts, 485, 33)) export interface eI { }; ->eI : Symbol(eI, Decl(giant.ts, 485, 28)) +>eI : Symbol(eI, Decl(giant.ts, 486, 28)) export module eM { }; ->eM : Symbol(eM, Decl(giant.ts, 486, 32)) +>eM : Symbol(eM, Decl(giant.ts, 487, 32)) export declare var eaV; ->eaV : Symbol(eaV, Decl(giant.ts, 488, 26)) +>eaV : Symbol(eaV, Decl(giant.ts, 489, 26)) export declare function eaF() { }; ->eaF : Symbol(eaF, Decl(giant.ts, 488, 31)) +>eaF : Symbol(eaF, Decl(giant.ts, 489, 31)) export declare class eaC { }; ->eaC : Symbol(eaC, Decl(giant.ts, 489, 42)) +>eaC : Symbol(eaC, Decl(giant.ts, 490, 42)) export declare module eaM { }; ->eaM : Symbol(eaM, Decl(giant.ts, 490, 37)) +>eaM : Symbol(eaM, Decl(giant.ts, 491, 37)) } export declare var eaV; ->eaV : Symbol(eaV, Decl(giant.ts, 493, 22)) +>eaV : Symbol(eaV, Decl(giant.ts, 494, 22)) export declare function eaF() { }; ->eaF : Symbol(eaF, Decl(giant.ts, 493, 27)) +>eaF : Symbol(eaF, Decl(giant.ts, 494, 27)) export declare class eaC { ->eaC : Symbol(eaC, Decl(giant.ts, 494, 38)) +>eaC : Symbol(eaC, Decl(giant.ts, 495, 38)) constructor () { } public pV; ->pV : Symbol(eaC.pV, Decl(giant.ts, 496, 26)) +>pV : Symbol(eaC.pV, Decl(giant.ts, 497, 26)) private rV; ->rV : Symbol(eaC.rV, Decl(giant.ts, 497, 18)) +>rV : Symbol(eaC.rV, Decl(giant.ts, 498, 18)) public pF() { } ->pF : Symbol(eaC.pF, Decl(giant.ts, 498, 19)) +>pF : Symbol(eaC.pF, Decl(giant.ts, 499, 19)) private rF() { } ->rF : Symbol(eaC.rF, Decl(giant.ts, 499, 23)) +>rF : Symbol(eaC.rF, Decl(giant.ts, 500, 23)) public pgF() { } ->pgF : Symbol(eaC.pgF, Decl(giant.ts, 500, 24)) +>pgF : Symbol(eaC.pgF, Decl(giant.ts, 501, 24)) public get pgF() ->pgF : Symbol(eaC.pgF, Decl(giant.ts, 501, 24)) +>pgF : Symbol(eaC.pgF, Decl(giant.ts, 502, 24)) public psF(param:any) { } ->psF : Symbol(eaC.psF, Decl(giant.ts, 502, 24)) ->param : Symbol(param, Decl(giant.ts, 503, 19)) +>psF : Symbol(eaC.psF, Decl(giant.ts, 503, 24)) +>param : Symbol(param, Decl(giant.ts, 504, 19)) public set psF(param:any) ->psF : Symbol(eaC.psF, Decl(giant.ts, 503, 33)) ->param : Symbol(param, Decl(giant.ts, 504, 23)) +>psF : Symbol(eaC.psF, Decl(giant.ts, 504, 33)) +>param : Symbol(param, Decl(giant.ts, 505, 23)) private rgF() { } ->rgF : Symbol(eaC.rgF, Decl(giant.ts, 504, 33)) +>rgF : Symbol(eaC.rgF, Decl(giant.ts, 505, 33)) private get rgF() ->rgF : Symbol(eaC.rgF, Decl(giant.ts, 505, 25)) +>rgF : Symbol(eaC.rgF, Decl(giant.ts, 506, 25)) private rsF(param:any) { } ->rsF : Symbol(eaC.rsF, Decl(giant.ts, 506, 25)) ->param : Symbol(param, Decl(giant.ts, 507, 20)) +>rsF : Symbol(eaC.rsF, Decl(giant.ts, 507, 25)) +>param : Symbol(param, Decl(giant.ts, 508, 20)) private set rsF(param:any) ->rsF : Symbol(eaC.rsF, Decl(giant.ts, 507, 34)) ->param : Symbol(param, Decl(giant.ts, 508, 24)) +>rsF : Symbol(eaC.rsF, Decl(giant.ts, 508, 34)) +>param : Symbol(param, Decl(giant.ts, 509, 24)) static tV; ->tV : Symbol(eaC.tV, Decl(giant.ts, 508, 34)) +>tV : Symbol(eaC.tV, Decl(giant.ts, 509, 34)) static tF() { } ->tF : Symbol(eaC.tF, Decl(giant.ts, 509, 18)) +>tF : Symbol(eaC.tF, Decl(giant.ts, 510, 18)) static tsF(param:any) { } ->tsF : Symbol(eaC.tsF, Decl(giant.ts, 510, 23)) ->param : Symbol(param, Decl(giant.ts, 511, 19)) +>tsF : Symbol(eaC.tsF, Decl(giant.ts, 511, 23)) +>param : Symbol(param, Decl(giant.ts, 512, 19)) static set tsF(param:any) ->tsF : Symbol(eaC.tsF, Decl(giant.ts, 511, 33)) ->param : Symbol(param, Decl(giant.ts, 512, 23)) +>tsF : Symbol(eaC.tsF, Decl(giant.ts, 512, 33)) +>param : Symbol(param, Decl(giant.ts, 513, 23)) static tgF() { } ->tgF : Symbol(eaC.tgF, Decl(giant.ts, 512, 33)) +>tgF : Symbol(eaC.tgF, Decl(giant.ts, 513, 33)) static get tgF() ->tgF : Symbol(eaC.tgF, Decl(giant.ts, 513, 24)) +>tgF : Symbol(eaC.tgF, Decl(giant.ts, 514, 24)) } export declare module eaM { ->eaM : Symbol(eaM, Decl(giant.ts, 515, 5)) +>eaM : Symbol(eaM, Decl(giant.ts, 516, 5)) var V; ->V : Symbol(V, Decl(giant.ts, 517, 11)) +>V : Symbol(V, Decl(giant.ts, 518, 11)) function F() { }; ->F : Symbol(F, Decl(giant.ts, 517, 14)) +>F : Symbol(F, Decl(giant.ts, 518, 14)) class C { } ->C : Symbol(C, Decl(giant.ts, 518, 25)) +>C : Symbol(C, Decl(giant.ts, 519, 25)) interface I { } ->I : Symbol(I, Decl(giant.ts, 519, 19)) +>I : Symbol(I, Decl(giant.ts, 520, 19)) module M { } ->M : Symbol(M, Decl(giant.ts, 520, 23)) +>M : Symbol(M, Decl(giant.ts, 521, 23)) export var eV; ->eV : Symbol(eV, Decl(giant.ts, 522, 18)) +>eV : Symbol(eV, Decl(giant.ts, 523, 18)) export function eF() { }; ->eF : Symbol(eF, Decl(giant.ts, 522, 22)) +>eF : Symbol(eF, Decl(giant.ts, 523, 22)) export class eC { } ->eC : Symbol(eC, Decl(giant.ts, 523, 33)) +>eC : Symbol(eC, Decl(giant.ts, 524, 33)) export interface eI { } ->eI : Symbol(eI, Decl(giant.ts, 524, 27)) +>eI : Symbol(eI, Decl(giant.ts, 525, 27)) export module eM { } ->eM : Symbol(eM, Decl(giant.ts, 525, 31)) +>eM : Symbol(eM, Decl(giant.ts, 526, 31)) } } export declare var eaV; ->eaV : Symbol(eaV, Decl(giant.ts, 529, 18)) +>eaV : Symbol(eaV, Decl(giant.ts, 530, 18)) export declare function eaF() { }; ->eaF : Symbol(eaF, Decl(giant.ts, 529, 23)) +>eaF : Symbol(eaF, Decl(giant.ts, 530, 23)) export declare class eaC { ->eaC : Symbol(eaC, Decl(giant.ts, 530, 34)) +>eaC : Symbol(eaC, Decl(giant.ts, 531, 34)) constructor () { } public pV; ->pV : Symbol(eaC.pV, Decl(giant.ts, 532, 22)) +>pV : Symbol(eaC.pV, Decl(giant.ts, 533, 22)) private rV; ->rV : Symbol(eaC.rV, Decl(giant.ts, 533, 14)) +>rV : Symbol(eaC.rV, Decl(giant.ts, 534, 14)) public pF() { } ->pF : Symbol(eaC.pF, Decl(giant.ts, 534, 15)) +>pF : Symbol(eaC.pF, Decl(giant.ts, 535, 15)) private rF() { } ->rF : Symbol(eaC.rF, Decl(giant.ts, 535, 19)) +>rF : Symbol(eaC.rF, Decl(giant.ts, 536, 19)) public pgF() { } ->pgF : Symbol(eaC.pgF, Decl(giant.ts, 536, 20)) +>pgF : Symbol(eaC.pgF, Decl(giant.ts, 537, 20)) public get pgF() ->pgF : Symbol(eaC.pgF, Decl(giant.ts, 537, 20)) +>pgF : Symbol(eaC.pgF, Decl(giant.ts, 538, 20)) public psF(param:any) { } ->psF : Symbol(eaC.psF, Decl(giant.ts, 538, 20)) ->param : Symbol(param, Decl(giant.ts, 539, 15)) +>psF : Symbol(eaC.psF, Decl(giant.ts, 539, 20)) +>param : Symbol(param, Decl(giant.ts, 540, 15)) public set psF(param:any) ->psF : Symbol(eaC.psF, Decl(giant.ts, 539, 29)) ->param : Symbol(param, Decl(giant.ts, 540, 19)) +>psF : Symbol(eaC.psF, Decl(giant.ts, 540, 29)) +>param : Symbol(param, Decl(giant.ts, 541, 19)) private rgF() { } ->rgF : Symbol(eaC.rgF, Decl(giant.ts, 540, 29)) +>rgF : Symbol(eaC.rgF, Decl(giant.ts, 541, 29)) private get rgF() ->rgF : Symbol(eaC.rgF, Decl(giant.ts, 541, 21)) +>rgF : Symbol(eaC.rgF, Decl(giant.ts, 542, 21)) private rsF(param:any) { } ->rsF : Symbol(eaC.rsF, Decl(giant.ts, 542, 21)) ->param : Symbol(param, Decl(giant.ts, 543, 16)) +>rsF : Symbol(eaC.rsF, Decl(giant.ts, 543, 21)) +>param : Symbol(param, Decl(giant.ts, 544, 16)) private set rsF(param:any) ->rsF : Symbol(eaC.rsF, Decl(giant.ts, 543, 30)) ->param : Symbol(param, Decl(giant.ts, 544, 20)) +>rsF : Symbol(eaC.rsF, Decl(giant.ts, 544, 30)) +>param : Symbol(param, Decl(giant.ts, 545, 20)) static tV; ->tV : Symbol(eaC.tV, Decl(giant.ts, 544, 30)) +>tV : Symbol(eaC.tV, Decl(giant.ts, 545, 30)) static tF() { } ->tF : Symbol(eaC.tF, Decl(giant.ts, 545, 14)) +>tF : Symbol(eaC.tF, Decl(giant.ts, 546, 14)) static tsF(param:any) { } ->tsF : Symbol(eaC.tsF, Decl(giant.ts, 546, 19)) ->param : Symbol(param, Decl(giant.ts, 547, 15)) +>tsF : Symbol(eaC.tsF, Decl(giant.ts, 547, 19)) +>param : Symbol(param, Decl(giant.ts, 548, 15)) static set tsF(param:any) ->tsF : Symbol(eaC.tsF, Decl(giant.ts, 547, 29)) ->param : Symbol(param, Decl(giant.ts, 548, 19)) +>tsF : Symbol(eaC.tsF, Decl(giant.ts, 548, 29)) +>param : Symbol(param, Decl(giant.ts, 549, 19)) static tgF() { } ->tgF : Symbol(eaC.tgF, Decl(giant.ts, 548, 29)) +>tgF : Symbol(eaC.tgF, Decl(giant.ts, 549, 29)) static get tgF() ->tgF : Symbol(eaC.tgF, Decl(giant.ts, 549, 20)) +>tgF : Symbol(eaC.tgF, Decl(giant.ts, 550, 20)) } export declare module eaM { ->eaM : Symbol(eaM, Decl(giant.ts, 551, 1)) +>eaM : Symbol(eaM, Decl(giant.ts, 552, 1)) var V; ->V : Symbol(V, Decl(giant.ts, 553, 7)) +>V : Symbol(V, Decl(giant.ts, 554, 7)) function F() { }; ->F : Symbol(F, Decl(giant.ts, 553, 10)) +>F : Symbol(F, Decl(giant.ts, 554, 10)) class C { ->C : Symbol(C, Decl(giant.ts, 554, 21)) +>C : Symbol(C, Decl(giant.ts, 555, 21)) constructor () { } public pV; ->pV : Symbol(C.pV, Decl(giant.ts, 556, 26)) +>pV : Symbol(C.pV, Decl(giant.ts, 557, 26)) private rV; ->rV : Symbol(C.rV, Decl(giant.ts, 557, 18)) +>rV : Symbol(C.rV, Decl(giant.ts, 558, 18)) public pF() { } ->pF : Symbol(C.pF, Decl(giant.ts, 558, 19)) +>pF : Symbol(C.pF, Decl(giant.ts, 559, 19)) static tV; ->tV : Symbol(C.tV, Decl(giant.ts, 559, 23)) +>tV : Symbol(C.tV, Decl(giant.ts, 560, 23)) static tF() { } ->tF : Symbol(C.tF, Decl(giant.ts, 560, 18)) +>tF : Symbol(C.tF, Decl(giant.ts, 561, 18)) } interface I { ->I : Symbol(I, Decl(giant.ts, 562, 5)) +>I : Symbol(I, Decl(giant.ts, 563, 5)) //Call Signature (); (): number; (p: string); ->p : Symbol(p, Decl(giant.ts, 567, 9)) +>p : Symbol(p, Decl(giant.ts, 568, 9)) (p2?: string); ->p2 : Symbol(p2, Decl(giant.ts, 568, 9)) +>p2 : Symbol(p2, Decl(giant.ts, 569, 9)) (...p3: any[]); ->p3 : Symbol(p3, Decl(giant.ts, 569, 9)) +>p3 : Symbol(p3, Decl(giant.ts, 570, 9)) (p4: string, p5?: string); ->p4 : Symbol(p4, Decl(giant.ts, 570, 9)) ->p5 : Symbol(p5, Decl(giant.ts, 570, 20)) +>p4 : Symbol(p4, Decl(giant.ts, 571, 9)) +>p5 : Symbol(p5, Decl(giant.ts, 571, 20)) (p6: string, ...p7: any[]); ->p6 : Symbol(p6, Decl(giant.ts, 571, 9)) ->p7 : Symbol(p7, Decl(giant.ts, 571, 20)) +>p6 : Symbol(p6, Decl(giant.ts, 572, 9)) +>p7 : Symbol(p7, Decl(giant.ts, 572, 20)) //(p8?: string, ...p9: any[]); //(p10:string, p8?: string, ...p9: any[]); @@ -1520,162 +1529,163 @@ export declare module eaM { new (); new (): number; new (p: string); ->p : Symbol(p, Decl(giant.ts, 578, 13)) +>p : Symbol(p, Decl(giant.ts, 579, 13)) new (p2?: string); ->p2 : Symbol(p2, Decl(giant.ts, 579, 13)) +>p2 : Symbol(p2, Decl(giant.ts, 580, 13)) new (...p3: any[]); ->p3 : Symbol(p3, Decl(giant.ts, 580, 13)) +>p3 : Symbol(p3, Decl(giant.ts, 581, 13)) new (p4: string, p5?: string); ->p4 : Symbol(p4, Decl(giant.ts, 581, 13)) ->p5 : Symbol(p5, Decl(giant.ts, 581, 24)) +>p4 : Symbol(p4, Decl(giant.ts, 582, 13)) +>p5 : Symbol(p5, Decl(giant.ts, 582, 24)) new (p6: string, ...p7: any[]); ->p6 : Symbol(p6, Decl(giant.ts, 582, 13)) ->p7 : Symbol(p7, Decl(giant.ts, 582, 24)) +>p6 : Symbol(p6, Decl(giant.ts, 583, 13)) +>p7 : Symbol(p7, Decl(giant.ts, 583, 24)) //Index Signature [p]; ->[p] : Symbol(I[p], Decl(giant.ts, 582, 39)) +>[p] : Symbol(I[p], Decl(giant.ts, 583, 39)) +>p : Symbol(p, Decl(giant.ts, 13, 5)) [p1: string]; ->p1 : Symbol(p1, Decl(giant.ts, 586, 9)) +>p1 : Symbol(p1, Decl(giant.ts, 587, 9)) [p2: string, p3: number]; ->p2 : Symbol(p2, Decl(giant.ts, 587, 9)) ->p3 : Symbol(p3, Decl(giant.ts, 587, 20)) +>p2 : Symbol(p2, Decl(giant.ts, 588, 9)) +>p3 : Symbol(p3, Decl(giant.ts, 588, 20)) //Property Signature p; ->p : Symbol(I.p, Decl(giant.ts, 587, 33)) +>p : Symbol(I.p, Decl(giant.ts, 588, 33)) p1?; ->p1 : Symbol(I.p1, Decl(giant.ts, 590, 10)) +>p1 : Symbol(I.p1, Decl(giant.ts, 591, 10)) p2?: string; ->p2 : Symbol(I.p2, Decl(giant.ts, 591, 12)) +>p2 : Symbol(I.p2, Decl(giant.ts, 592, 12)) //Function Signature p3(); ->p3 : Symbol(I.p3, Decl(giant.ts, 592, 20)) +>p3 : Symbol(I.p3, Decl(giant.ts, 593, 20)) p4? (); ->p4 : Symbol(I.p4, Decl(giant.ts, 595, 13)) +>p4 : Symbol(I.p4, Decl(giant.ts, 596, 13)) p5? (): void; ->p5 : Symbol(I.p5, Decl(giant.ts, 596, 15)) +>p5 : Symbol(I.p5, Decl(giant.ts, 597, 15)) p6(pa1): void; ->p6 : Symbol(I.p6, Decl(giant.ts, 597, 21)) ->pa1 : Symbol(pa1, Decl(giant.ts, 598, 11)) +>p6 : Symbol(I.p6, Decl(giant.ts, 598, 21)) +>pa1 : Symbol(pa1, Decl(giant.ts, 599, 11)) p7(pa1, pa2): void; ->p7 : Symbol(I.p7, Decl(giant.ts, 598, 22), Decl(giant.ts, 599, 27)) ->pa1 : Symbol(pa1, Decl(giant.ts, 599, 11)) ->pa2 : Symbol(pa2, Decl(giant.ts, 599, 15)) +>p7 : Symbol(I.p7, Decl(giant.ts, 599, 22), Decl(giant.ts, 600, 27)) +>pa1 : Symbol(pa1, Decl(giant.ts, 600, 11)) +>pa2 : Symbol(pa2, Decl(giant.ts, 600, 15)) p7? (pa1, pa2): void; ->p7 : Symbol(I.p7, Decl(giant.ts, 598, 22), Decl(giant.ts, 599, 27)) ->pa1 : Symbol(pa1, Decl(giant.ts, 600, 13)) ->pa2 : Symbol(pa2, Decl(giant.ts, 600, 17)) +>p7 : Symbol(I.p7, Decl(giant.ts, 599, 22), Decl(giant.ts, 600, 27)) +>pa1 : Symbol(pa1, Decl(giant.ts, 601, 13)) +>pa2 : Symbol(pa2, Decl(giant.ts, 601, 17)) } module M { ->M : Symbol(M, Decl(giant.ts, 601, 5)) +>M : Symbol(M, Decl(giant.ts, 602, 5)) var V; ->V : Symbol(V, Decl(giant.ts, 603, 11)) +>V : Symbol(V, Decl(giant.ts, 604, 11)) function F() { }; ->F : Symbol(F, Decl(giant.ts, 603, 14)) +>F : Symbol(F, Decl(giant.ts, 604, 14)) class C { } ->C : Symbol(C, Decl(giant.ts, 604, 25)) +>C : Symbol(C, Decl(giant.ts, 605, 25)) interface I { } ->I : Symbol(I, Decl(giant.ts, 605, 19)) +>I : Symbol(I, Decl(giant.ts, 606, 19)) module M { } ->M : Symbol(M, Decl(giant.ts, 606, 23)) +>M : Symbol(M, Decl(giant.ts, 607, 23)) export var eV; ->eV : Symbol(eV, Decl(giant.ts, 608, 18)) +>eV : Symbol(eV, Decl(giant.ts, 609, 18)) export function eF() { }; ->eF : Symbol(eF, Decl(giant.ts, 608, 22)) +>eF : Symbol(eF, Decl(giant.ts, 609, 22)) export class eC { } ->eC : Symbol(eC, Decl(giant.ts, 609, 33)) +>eC : Symbol(eC, Decl(giant.ts, 610, 33)) export interface eI { } ->eI : Symbol(eI, Decl(giant.ts, 610, 27)) +>eI : Symbol(eI, Decl(giant.ts, 611, 27)) export module eM { } ->eM : Symbol(eM, Decl(giant.ts, 611, 31)) +>eM : Symbol(eM, Decl(giant.ts, 612, 31)) export declare var eaV ->eaV : Symbol(eaV, Decl(giant.ts, 613, 26)) +>eaV : Symbol(eaV, Decl(giant.ts, 614, 26)) export declare function eaF() { }; ->eaF : Symbol(eaF, Decl(giant.ts, 613, 30)) +>eaF : Symbol(eaF, Decl(giant.ts, 614, 30)) export declare class eaC { } ->eaC : Symbol(eaC, Decl(giant.ts, 614, 42)) +>eaC : Symbol(eaC, Decl(giant.ts, 615, 42)) export declare module eaM { } ->eaM : Symbol(eaM, Decl(giant.ts, 615, 36)) +>eaM : Symbol(eaM, Decl(giant.ts, 616, 36)) } export var eV; ->eV : Symbol(eV, Decl(giant.ts, 618, 14)) +>eV : Symbol(eV, Decl(giant.ts, 619, 14)) export function eF() { }; ->eF : Symbol(eF, Decl(giant.ts, 618, 18)) +>eF : Symbol(eF, Decl(giant.ts, 619, 18)) export class eC { ->eC : Symbol(eC, Decl(giant.ts, 619, 29)) +>eC : Symbol(eC, Decl(giant.ts, 620, 29)) constructor () { } public pV; ->pV : Symbol(eC.pV, Decl(giant.ts, 621, 26)) +>pV : Symbol(eC.pV, Decl(giant.ts, 622, 26)) private rV; ->rV : Symbol(eC.rV, Decl(giant.ts, 622, 18)) +>rV : Symbol(eC.rV, Decl(giant.ts, 623, 18)) public pF() { } ->pF : Symbol(eC.pF, Decl(giant.ts, 623, 19)) +>pF : Symbol(eC.pF, Decl(giant.ts, 624, 19)) static tV ->tV : Symbol(eC.tV, Decl(giant.ts, 624, 23)) +>tV : Symbol(eC.tV, Decl(giant.ts, 625, 23)) static tF() { } ->tF : Symbol(eC.tF, Decl(giant.ts, 625, 17)) +>tF : Symbol(eC.tF, Decl(giant.ts, 626, 17)) } export interface eI { ->eI : Symbol(eI, Decl(giant.ts, 627, 5)) +>eI : Symbol(eI, Decl(giant.ts, 628, 5)) //Call Signature (); (): number; (p); ->p : Symbol(p, Decl(giant.ts, 632, 9)) +>p : Symbol(p, Decl(giant.ts, 633, 9)) (p1: string); ->p1 : Symbol(p1, Decl(giant.ts, 633, 9)) +>p1 : Symbol(p1, Decl(giant.ts, 634, 9)) (p2?: string); ->p2 : Symbol(p2, Decl(giant.ts, 634, 9)) +>p2 : Symbol(p2, Decl(giant.ts, 635, 9)) (...p3: any[]); ->p3 : Symbol(p3, Decl(giant.ts, 635, 9)) +>p3 : Symbol(p3, Decl(giant.ts, 636, 9)) (p4: string, p5?: string); ->p4 : Symbol(p4, Decl(giant.ts, 636, 9)) ->p5 : Symbol(p5, Decl(giant.ts, 636, 20)) +>p4 : Symbol(p4, Decl(giant.ts, 637, 9)) +>p5 : Symbol(p5, Decl(giant.ts, 637, 20)) (p6: string, ...p7: any[]); ->p6 : Symbol(p6, Decl(giant.ts, 637, 9)) ->p7 : Symbol(p7, Decl(giant.ts, 637, 20)) +>p6 : Symbol(p6, Decl(giant.ts, 638, 9)) +>p7 : Symbol(p7, Decl(giant.ts, 638, 20)) //(p8?: string, ...p9: any[]); //(p10:string, p8?: string, ...p9: any[]); @@ -1684,95 +1694,96 @@ export declare module eaM { new (); new (): number; new (p: string); ->p : Symbol(p, Decl(giant.ts, 644, 13)) +>p : Symbol(p, Decl(giant.ts, 645, 13)) new (p2?: string); ->p2 : Symbol(p2, Decl(giant.ts, 645, 13)) +>p2 : Symbol(p2, Decl(giant.ts, 646, 13)) new (...p3: any[]); ->p3 : Symbol(p3, Decl(giant.ts, 646, 13)) +>p3 : Symbol(p3, Decl(giant.ts, 647, 13)) new (p4: string, p5?: string); ->p4 : Symbol(p4, Decl(giant.ts, 647, 13)) ->p5 : Symbol(p5, Decl(giant.ts, 647, 24)) +>p4 : Symbol(p4, Decl(giant.ts, 648, 13)) +>p5 : Symbol(p5, Decl(giant.ts, 648, 24)) new (p6: string, ...p7: any[]); ->p6 : Symbol(p6, Decl(giant.ts, 648, 13)) ->p7 : Symbol(p7, Decl(giant.ts, 648, 24)) +>p6 : Symbol(p6, Decl(giant.ts, 649, 13)) +>p7 : Symbol(p7, Decl(giant.ts, 649, 24)) //Index Signature [p]; ->[p] : Symbol(eI[p], Decl(giant.ts, 648, 39)) +>[p] : Symbol(eI[p], Decl(giant.ts, 649, 39)) +>p : Symbol(p, Decl(giant.ts, 13, 5)) [p1: string]; ->p1 : Symbol(p1, Decl(giant.ts, 652, 9)) +>p1 : Symbol(p1, Decl(giant.ts, 653, 9)) [p2: string, p3: number]; ->p2 : Symbol(p2, Decl(giant.ts, 653, 9)) ->p3 : Symbol(p3, Decl(giant.ts, 653, 20)) +>p2 : Symbol(p2, Decl(giant.ts, 654, 9)) +>p3 : Symbol(p3, Decl(giant.ts, 654, 20)) //Property Signature p; ->p : Symbol(eI.p, Decl(giant.ts, 653, 33)) +>p : Symbol(eI.p, Decl(giant.ts, 654, 33)) p1?; ->p1 : Symbol(eI.p1, Decl(giant.ts, 656, 10)) +>p1 : Symbol(eI.p1, Decl(giant.ts, 657, 10)) p2?: string; ->p2 : Symbol(eI.p2, Decl(giant.ts, 657, 12)) +>p2 : Symbol(eI.p2, Decl(giant.ts, 658, 12)) //Function Signature p3(); ->p3 : Symbol(eI.p3, Decl(giant.ts, 658, 20)) +>p3 : Symbol(eI.p3, Decl(giant.ts, 659, 20)) p4? (); ->p4 : Symbol(eI.p4, Decl(giant.ts, 661, 13)) +>p4 : Symbol(eI.p4, Decl(giant.ts, 662, 13)) p5? (): void; ->p5 : Symbol(eI.p5, Decl(giant.ts, 662, 15)) +>p5 : Symbol(eI.p5, Decl(giant.ts, 663, 15)) p6(pa1): void; ->p6 : Symbol(eI.p6, Decl(giant.ts, 663, 21)) ->pa1 : Symbol(pa1, Decl(giant.ts, 664, 11)) +>p6 : Symbol(eI.p6, Decl(giant.ts, 664, 21)) +>pa1 : Symbol(pa1, Decl(giant.ts, 665, 11)) p7(pa1, pa2): void; ->p7 : Symbol(eI.p7, Decl(giant.ts, 664, 22), Decl(giant.ts, 665, 27)) ->pa1 : Symbol(pa1, Decl(giant.ts, 665, 11)) ->pa2 : Symbol(pa2, Decl(giant.ts, 665, 15)) +>p7 : Symbol(eI.p7, Decl(giant.ts, 665, 22), Decl(giant.ts, 666, 27)) +>pa1 : Symbol(pa1, Decl(giant.ts, 666, 11)) +>pa2 : Symbol(pa2, Decl(giant.ts, 666, 15)) p7? (pa1, pa2): void; ->p7 : Symbol(eI.p7, Decl(giant.ts, 664, 22), Decl(giant.ts, 665, 27)) ->pa1 : Symbol(pa1, Decl(giant.ts, 666, 13)) ->pa2 : Symbol(pa2, Decl(giant.ts, 666, 17)) +>p7 : Symbol(eI.p7, Decl(giant.ts, 665, 22), Decl(giant.ts, 666, 27)) +>pa1 : Symbol(pa1, Decl(giant.ts, 667, 13)) +>pa2 : Symbol(pa2, Decl(giant.ts, 667, 17)) } export module eM { ->eM : Symbol(eM, Decl(giant.ts, 667, 5)) +>eM : Symbol(eM, Decl(giant.ts, 668, 5)) var V; ->V : Symbol(V, Decl(giant.ts, 669, 11)) +>V : Symbol(V, Decl(giant.ts, 670, 11)) function F() { }; ->F : Symbol(F, Decl(giant.ts, 669, 14)) +>F : Symbol(F, Decl(giant.ts, 670, 14)) class C { } ->C : Symbol(C, Decl(giant.ts, 670, 25)) +>C : Symbol(C, Decl(giant.ts, 671, 25)) module M { } ->M : Symbol(M, Decl(giant.ts, 671, 19)) +>M : Symbol(M, Decl(giant.ts, 672, 19)) export var eV; ->eV : Symbol(eV, Decl(giant.ts, 673, 18)) +>eV : Symbol(eV, Decl(giant.ts, 674, 18)) export function eF() { }; ->eF : Symbol(eF, Decl(giant.ts, 673, 22)) +>eF : Symbol(eF, Decl(giant.ts, 674, 22)) export class eC { } ->eC : Symbol(eC, Decl(giant.ts, 674, 33)) +>eC : Symbol(eC, Decl(giant.ts, 675, 33)) export interface eI { } ->eI : Symbol(eI, Decl(giant.ts, 675, 27)) +>eI : Symbol(eI, Decl(giant.ts, 676, 27)) export module eM { } ->eM : Symbol(eM, Decl(giant.ts, 676, 31)) +>eM : Symbol(eM, Decl(giant.ts, 677, 31)) } } diff --git a/tests/baselines/reference/giant.types b/tests/baselines/reference/giant.types index 30b2b8a873d7c..115a9929d824d 100644 --- a/tests/baselines/reference/giant.types +++ b/tests/baselines/reference/giant.types @@ -14,6 +14,12 @@ MAX DEPTH 3 LEVELS */ +const p = "propName"; +>p : "propName" +> : ^^^^^^^^^^ +>"propName" : "propName" +> : ^^^^^^^^^^ + var V; >V : any > : ^^^ @@ -177,8 +183,8 @@ interface I { [p]; >[p] : any > : ^^^ ->p : any -> : ^^^ +>p : "propName" +> : ^^^^^^^^^^ [p1: string]; >p1 : string @@ -405,8 +411,8 @@ module M { [p]; >[p] : any > : ^^^ ->p : any -> : ^^^ +>p : "propName" +> : ^^^^^^^^^^ [p1: string]; >p1 : string @@ -675,8 +681,8 @@ module M { [p]; >[p] : any > : ^^^ ->p : any -> : ^^^ +>p : "propName" +> : ^^^^^^^^^^ [p1: string]; >p1 : string @@ -1076,8 +1082,8 @@ export interface eI { [p]; >[p] : any > : ^^^ ->p : any -> : ^^^ +>p : "propName" +> : ^^^^^^^^^^ [p1: string]; >p1 : string @@ -1304,8 +1310,8 @@ export module eM { [p]; >[p] : any > : ^^^ ->p : any -> : ^^^ +>p : "propName" +> : ^^^^^^^^^^ [p1: string]; >p1 : string @@ -1574,8 +1580,8 @@ export module eM { [p]; >[p] : any > : ^^^ ->p : any -> : ^^^ +>p : "propName" +> : ^^^^^^^^^^ [p1: string]; >p1 : string @@ -2008,8 +2014,8 @@ export declare module eaM { [p]; >[p] : any > : ^^^ ->p : any -> : ^^^ +>p : "propName" +> : ^^^^^^^^^^ [p1: string]; >p1 : string @@ -2214,8 +2220,8 @@ export declare module eaM { [p]; >[p] : any > : ^^^ ->p : any -> : ^^^ +>p : "propName" +> : ^^^^^^^^^^ [p1: string]; >p1 : string diff --git a/tests/cases/compiler/giant.ts b/tests/cases/compiler/giant.ts index a7618cd56e2db..09d1787fcaada 100644 --- a/tests/cases/compiler/giant.ts +++ b/tests/cases/compiler/giant.ts @@ -14,6 +14,7 @@ MAX DEPTH 3 LEVELS */ +const p = "propName"; var V; function F() { }; class C { From 02b65ac096f520f2e6080e1dfdfaa8ac6165b264 Mon Sep 17 00:00:00 2001 From: Wesley Wigham Date: Fri, 3 May 2024 17:39:26 -0700 Subject: [PATCH 7/8] Modify node builder to have the same unresolved computed name retaining behavior --- src/compiler/checker.ts | 4 +++- src/compiler/transformers/declarations.ts | 1 + src/compiler/types.ts | 1 + .../transpile/declarationTypeWithComputedName.d.ts | 11 ++++++++++- .../transpile/declarationTypeWithComputedName.ts | 7 ++++++- 5 files changed, 21 insertions(+), 3 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 33e86be3a9ba9..fdf4697cfac15 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -8459,7 +8459,9 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { ); } if (isNamedDeclaration(node) && node.name.kind === SyntaxKind.ComputedPropertyName && !isLateBindableName(node.name)) { - return undefined; + if (!(context.flags & NodeBuilderFlags.AllowUnresolvedComputedNames && hasDynamicName(node) && isEntityNameExpression(node.name.expression) && checkComputedPropertyName(node.name).flags & TypeFlags.Any)) { + return undefined; + } } if ( (isFunctionLike(node) && !node.type) diff --git a/src/compiler/transformers/declarations.ts b/src/compiler/transformers/declarations.ts index 32adf3bd26c7a..dcf7eb4bc649e 100644 --- a/src/compiler/transformers/declarations.ts +++ b/src/compiler/transformers/declarations.ts @@ -233,6 +233,7 @@ const declarationEmitNodeBuilderFlags = NodeBuilderFlags.MultilineObjectLiterals NodeBuilderFlags.UseTypeOfFunction | NodeBuilderFlags.UseStructuralFallback | NodeBuilderFlags.AllowEmptyTuple | + NodeBuilderFlags.AllowUnresolvedComputedNames | NodeBuilderFlags.GenerateNamesForShadowedTypeParams | NodeBuilderFlags.NoTruncation; diff --git a/src/compiler/types.ts b/src/compiler/types.ts index ad08381d2eff1..0aafb183b0d65 100644 --- a/src/compiler/types.ts +++ b/src/compiler/types.ts @@ -5433,6 +5433,7 @@ export const enum NodeBuilderFlags { // Errors (cont.) AllowNodeModulesRelativePaths = 1 << 26, /** @internal */ DoNotIncludeSymbolChain = 1 << 27, // Skip looking up and printing an accessible symbol chain + /** @internal */ AllowUnresolvedComputedNames = 1 << 32, IgnoreErrors = AllowThisInObjectLiteral | AllowQualifiedNameInPlaceOfIdentifier | AllowAnonymousIdentifier | AllowEmptyUnionOrIntersection | AllowEmptyTuple | AllowEmptyIndexInfoType | AllowNodeModulesRelativePaths, diff --git a/tests/baselines/reference/transpile/declarationTypeWithComputedName.d.ts b/tests/baselines/reference/transpile/declarationTypeWithComputedName.d.ts index eeeb6fb76609b..b1cdfdf8b7b39 100644 --- a/tests/baselines/reference/transpile/declarationTypeWithComputedName.d.ts +++ b/tests/baselines/reference/transpile/declarationTypeWithComputedName.d.ts @@ -4,10 +4,19 @@ import {Foo} from './a'; export type Bar = { [Foo.A]: 1; [Foo.B]: 2; -} +} + +export const valBar = null as any as { + [Foo.A]: 1; + [Foo.B]: 2; +}; //// [declarationTypeWithComputedName.d.ts] //// import { Foo } from './a'; export type Bar = { [Foo.A]: 1; [Foo.B]: 2; }; +export declare const valBar: { + [Foo.A]: 1; + [Foo.B]: 2; +}; diff --git a/tests/cases/transpile/declarationTypeWithComputedName.ts b/tests/cases/transpile/declarationTypeWithComputedName.ts index 5b42d4cb42f6e..55329cca15aae 100644 --- a/tests/cases/transpile/declarationTypeWithComputedName.ts +++ b/tests/cases/transpile/declarationTypeWithComputedName.ts @@ -5,4 +5,9 @@ import {Foo} from './a'; export type Bar = { [Foo.A]: 1; [Foo.B]: 2; -} \ No newline at end of file +} + +export const valBar = null as any as { + [Foo.A]: 1; + [Foo.B]: 2; +}; From a2d209e2ba66ef25fb5a8de2ed1bf930bace5550 Mon Sep 17 00:00:00 2001 From: TypeScript Bot Date: Sat, 4 May 2024 00:57:03 +0000 Subject: [PATCH 8/8] Update Baselines and/or Applied Lint Fixes --- tests/baselines/reference/complicatedPrivacy.types | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/baselines/reference/complicatedPrivacy.types b/tests/baselines/reference/complicatedPrivacy.types index 4b8e2b93060cb..d9fd54eb04428 100644 --- a/tests/baselines/reference/complicatedPrivacy.types +++ b/tests/baselines/reference/complicatedPrivacy.types @@ -84,8 +84,8 @@ module m1 { } export function f4(arg1: ->f4 : (arg1: {}) => void -> : ^ ^^ ^^^^^^^^^ +>f4 : (arg1: { [number]: C1; }) => void +> : ^ ^^ ^^^^^^^^^ >arg1 : {} > : ^^ {