-
Notifications
You must be signed in to change notification settings - Fork 12.3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fixed declaration emit of object literals withs divergent accessors (#…
- Loading branch information
Showing
14 changed files
with
566 additions
and
19 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
57 changes: 57 additions & 0 deletions
57
tests/baselines/reference/declarationEmitObjectLiteralAccessors1.js
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,57 @@ | ||
//// [tests/cases/compiler/declarationEmitObjectLiteralAccessors1.ts] //// | ||
|
||
//// [declarationEmitObjectLiteralAccessors1.ts] | ||
// same type accessors | ||
export const obj1 = { | ||
/** my awesome getter (first in source order) */ | ||
get x(): string { | ||
return ""; | ||
}, | ||
/** my awesome setter (second in source order) */ | ||
set x(a: string) {}, | ||
}; | ||
|
||
// divergent accessors | ||
export const obj2 = { | ||
/** my awesome getter */ | ||
get x(): string { | ||
return ""; | ||
}, | ||
/** my awesome setter */ | ||
set x(a: number) {}, | ||
}; | ||
|
||
export const obj3 = { | ||
/** my awesome getter */ | ||
get x(): string { | ||
return ""; | ||
}, | ||
}; | ||
|
||
export const obj4 = { | ||
/** my awesome setter */ | ||
set x(a: number) {}, | ||
}; | ||
|
||
|
||
|
||
|
||
//// [declarationEmitObjectLiteralAccessors1.d.ts] | ||
export declare const obj1: { | ||
/** my awesome getter (first in source order) */ | ||
x: string; | ||
}; | ||
export declare const obj2: { | ||
/** my awesome getter */ | ||
get x(): string; | ||
/** my awesome setter */ | ||
set x(a: number); | ||
}; | ||
export declare const obj3: { | ||
/** my awesome getter */ | ||
readonly x: string; | ||
}; | ||
export declare const obj4: { | ||
/** my awesome setter */ | ||
x: number; | ||
}; |
58 changes: 58 additions & 0 deletions
58
tests/baselines/reference/declarationEmitObjectLiteralAccessors1.symbols
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,58 @@ | ||
//// [tests/cases/compiler/declarationEmitObjectLiteralAccessors1.ts] //// | ||
|
||
=== declarationEmitObjectLiteralAccessors1.ts === | ||
// same type accessors | ||
export const obj1 = { | ||
>obj1 : Symbol(obj1, Decl(declarationEmitObjectLiteralAccessors1.ts, 1, 12)) | ||
|
||
/** my awesome getter (first in source order) */ | ||
get x(): string { | ||
>x : Symbol(x, Decl(declarationEmitObjectLiteralAccessors1.ts, 1, 21), Decl(declarationEmitObjectLiteralAccessors1.ts, 5, 4)) | ||
|
||
return ""; | ||
}, | ||
/** my awesome setter (second in source order) */ | ||
set x(a: string) {}, | ||
>x : Symbol(x, Decl(declarationEmitObjectLiteralAccessors1.ts, 1, 21), Decl(declarationEmitObjectLiteralAccessors1.ts, 5, 4)) | ||
>a : Symbol(a, Decl(declarationEmitObjectLiteralAccessors1.ts, 7, 8)) | ||
|
||
}; | ||
|
||
// divergent accessors | ||
export const obj2 = { | ||
>obj2 : Symbol(obj2, Decl(declarationEmitObjectLiteralAccessors1.ts, 11, 12)) | ||
|
||
/** my awesome getter */ | ||
get x(): string { | ||
>x : Symbol(x, Decl(declarationEmitObjectLiteralAccessors1.ts, 11, 21), Decl(declarationEmitObjectLiteralAccessors1.ts, 15, 4)) | ||
|
||
return ""; | ||
}, | ||
/** my awesome setter */ | ||
set x(a: number) {}, | ||
>x : Symbol(x, Decl(declarationEmitObjectLiteralAccessors1.ts, 11, 21), Decl(declarationEmitObjectLiteralAccessors1.ts, 15, 4)) | ||
>a : Symbol(a, Decl(declarationEmitObjectLiteralAccessors1.ts, 17, 8)) | ||
|
||
}; | ||
|
||
export const obj3 = { | ||
>obj3 : Symbol(obj3, Decl(declarationEmitObjectLiteralAccessors1.ts, 20, 12)) | ||
|
||
/** my awesome getter */ | ||
get x(): string { | ||
>x : Symbol(x, Decl(declarationEmitObjectLiteralAccessors1.ts, 20, 21)) | ||
|
||
return ""; | ||
}, | ||
}; | ||
|
||
export const obj4 = { | ||
>obj4 : Symbol(obj4, Decl(declarationEmitObjectLiteralAccessors1.ts, 27, 12)) | ||
|
||
/** my awesome setter */ | ||
set x(a: number) {}, | ||
>x : Symbol(x, Decl(declarationEmitObjectLiteralAccessors1.ts, 27, 21)) | ||
>a : Symbol(a, Decl(declarationEmitObjectLiteralAccessors1.ts, 29, 8)) | ||
|
||
}; | ||
|
68 changes: 68 additions & 0 deletions
68
tests/baselines/reference/declarationEmitObjectLiteralAccessors1.types
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,68 @@ | ||
//// [tests/cases/compiler/declarationEmitObjectLiteralAccessors1.ts] //// | ||
|
||
=== declarationEmitObjectLiteralAccessors1.ts === | ||
// same type accessors | ||
export const obj1 = { | ||
>obj1 : { x: string; } | ||
>{ /** my awesome getter (first in source order) */ get x(): string { return ""; }, /** my awesome setter (second in source order) */ set x(a: string) {},} : { x: string; } | ||
|
||
/** my awesome getter (first in source order) */ | ||
get x(): string { | ||
>x : string | ||
|
||
return ""; | ||
>"" : "" | ||
|
||
}, | ||
/** my awesome setter (second in source order) */ | ||
set x(a: string) {}, | ||
>x : string | ||
>a : string | ||
|
||
}; | ||
|
||
// divergent accessors | ||
export const obj2 = { | ||
>obj2 : { get x(): string; set x(a: number); } | ||
>{ /** my awesome getter */ get x(): string { return ""; }, /** my awesome setter */ set x(a: number) {},} : { get x(): string; set x(a: number); } | ||
|
||
/** my awesome getter */ | ||
get x(): string { | ||
>x : string | ||
|
||
return ""; | ||
>"" : "" | ||
|
||
}, | ||
/** my awesome setter */ | ||
set x(a: number) {}, | ||
>x : string | ||
>a : number | ||
|
||
}; | ||
|
||
export const obj3 = { | ||
>obj3 : { readonly x: string; } | ||
>{ /** my awesome getter */ get x(): string { return ""; },} : { readonly x: string; } | ||
|
||
/** my awesome getter */ | ||
get x(): string { | ||
>x : string | ||
|
||
return ""; | ||
>"" : "" | ||
|
||
}, | ||
}; | ||
|
||
export const obj4 = { | ||
>obj4 : { x: number; } | ||
>{ /** my awesome setter */ set x(a: number) {},} : { x: number; } | ||
|
||
/** my awesome setter */ | ||
set x(a: number) {}, | ||
>x : number | ||
>a : number | ||
|
||
}; | ||
|
80 changes: 80 additions & 0 deletions
80
tests/baselines/reference/declarationEmitObjectLiteralAccessorsJs1.js
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,80 @@ | ||
//// [tests/cases/compiler/declarationEmitObjectLiteralAccessorsJs1.ts] //// | ||
|
||
//// [index.js] | ||
// same type accessors | ||
export const obj1 = { | ||
/** | ||
* my awesome getter (first in source order) | ||
* @returns {string} | ||
*/ | ||
get x() { | ||
return ""; | ||
}, | ||
/** | ||
* my awesome setter (second in source order) | ||
* @param {string} a | ||
*/ | ||
set x(a) {}, | ||
}; | ||
|
||
// divergent accessors | ||
export const obj2 = { | ||
/** | ||
* my awesome getter | ||
* @returns {string} | ||
*/ | ||
get x() { | ||
return ""; | ||
}, | ||
/** | ||
* my awesome setter | ||
* @param {number} a | ||
*/ | ||
set x(a) {}, | ||
}; | ||
|
||
export const obj3 = { | ||
/** | ||
* my awesome getter | ||
* @returns {string} | ||
*/ | ||
get x() { | ||
return ""; | ||
}, | ||
}; | ||
|
||
export const obj4 = { | ||
/** | ||
* my awesome setter | ||
* @param {number} a | ||
*/ | ||
set x(a) {}, | ||
}; | ||
|
||
|
||
|
||
|
||
//// [index.d.ts] | ||
export namespace obj1 { | ||
let x: string; | ||
} | ||
export const obj2: { | ||
/** | ||
* my awesome getter | ||
* @returns {string} | ||
*/ | ||
get x(): string; | ||
/** | ||
* my awesome setter | ||
* @param {number} a | ||
*/ | ||
set x(a: number); | ||
}; | ||
export namespace obj3 { | ||
const x_1: string; | ||
export { x_1 as x }; | ||
} | ||
export namespace obj4 { | ||
let x_2: number; | ||
export { x_2 as x }; | ||
} |
Oops, something went wrong.