mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-02-06 11:54:44 -06:00
Fix issue #5810 doubled comment on functions in array literals
This commit is contained in:
parent
1e64f16c05
commit
aba197cd4b
@ -4280,9 +4280,12 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, Promi
|
||||
|
||||
// TODO (yuisu) : we should not have special cases to condition emitting comments
|
||||
// but have one place to fix check for these conditions.
|
||||
if (node.kind !== SyntaxKind.MethodDeclaration && node.kind !== SyntaxKind.MethodSignature &&
|
||||
node.parent && node.parent.kind !== SyntaxKind.PropertyAssignment &&
|
||||
node.parent.kind !== SyntaxKind.CallExpression) {
|
||||
if (node.kind !== SyntaxKind.MethodDeclaration &&
|
||||
node.kind !== SyntaxKind.MethodSignature &&
|
||||
node.parent &&
|
||||
node.parent.kind !== SyntaxKind.PropertyAssignment &&
|
||||
node.parent.kind !== SyntaxKind.CallExpression &&
|
||||
node.parent.kind !== SyntaxKind.ArrayLiteralExpression) {
|
||||
// 1. Methods will emit the comments as part of emitting method declaration
|
||||
|
||||
// 2. If the function is a property of object literal, emitting leading-comments
|
||||
|
||||
31
tests/baselines/reference/arrayLiteralComments.js
Normal file
31
tests/baselines/reference/arrayLiteralComments.js
Normal file
@ -0,0 +1,31 @@
|
||||
//// [arrayLiteralComments.ts]
|
||||
var testArrayWithFunc = [
|
||||
// Function comment
|
||||
function() {
|
||||
let x = 1;
|
||||
},
|
||||
// String comment
|
||||
'1',
|
||||
// Numeric comment
|
||||
2,
|
||||
// Object comment
|
||||
{ a: 1 },
|
||||
// Array comment
|
||||
[1, 2, 3]
|
||||
]
|
||||
|
||||
//// [arrayLiteralComments.js]
|
||||
var testArrayWithFunc = [
|
||||
// Function comment
|
||||
function () {
|
||||
var x = 1;
|
||||
},
|
||||
// String comment
|
||||
'1',
|
||||
// Numeric comment
|
||||
2,
|
||||
// Object comment
|
||||
{ a: 1 },
|
||||
// Array comment
|
||||
[1, 2, 3]
|
||||
];
|
||||
21
tests/baselines/reference/arrayLiteralComments.symbols
Normal file
21
tests/baselines/reference/arrayLiteralComments.symbols
Normal file
@ -0,0 +1,21 @@
|
||||
=== tests/cases/compiler/arrayLiteralComments.ts ===
|
||||
var testArrayWithFunc = [
|
||||
>testArrayWithFunc : Symbol(testArrayWithFunc, Decl(arrayLiteralComments.ts, 0, 3))
|
||||
|
||||
// Function comment
|
||||
function() {
|
||||
let x = 1;
|
||||
>x : Symbol(x, Decl(arrayLiteralComments.ts, 3, 11))
|
||||
|
||||
},
|
||||
// String comment
|
||||
'1',
|
||||
// Numeric comment
|
||||
2,
|
||||
// Object comment
|
||||
{ a: 1 },
|
||||
>a : Symbol(a, Decl(arrayLiteralComments.ts, 10, 5))
|
||||
|
||||
// Array comment
|
||||
[1, 2, 3]
|
||||
]
|
||||
36
tests/baselines/reference/arrayLiteralComments.types
Normal file
36
tests/baselines/reference/arrayLiteralComments.types
Normal file
@ -0,0 +1,36 @@
|
||||
=== tests/cases/compiler/arrayLiteralComments.ts ===
|
||||
var testArrayWithFunc = [
|
||||
>testArrayWithFunc : ((() => void) | string | number | { a: number; } | number[])[]
|
||||
>[ // Function comment function() { let x = 1; }, // String comment '1', // Numeric comment 2, // Object comment { a: 1 }, // Array comment [1, 2, 3]] : ((() => void) | string | number | { a: number; } | number[])[]
|
||||
|
||||
// Function comment
|
||||
function() {
|
||||
>function() { let x = 1; } : () => void
|
||||
|
||||
let x = 1;
|
||||
>x : number
|
||||
>1 : number
|
||||
|
||||
},
|
||||
// String comment
|
||||
'1',
|
||||
>'1' : string
|
||||
|
||||
// Numeric comment
|
||||
2,
|
||||
>2 : number
|
||||
|
||||
// Object comment
|
||||
{ a: 1 },
|
||||
>{ a: 1 } : { a: number; }
|
||||
>a : number
|
||||
>1 : number
|
||||
|
||||
// Array comment
|
||||
[1, 2, 3]
|
||||
>[1, 2, 3] : number[]
|
||||
>1 : number
|
||||
>2 : number
|
||||
>3 : number
|
||||
|
||||
]
|
||||
14
tests/cases/compiler/arrayLiteralComments.ts
Normal file
14
tests/cases/compiler/arrayLiteralComments.ts
Normal file
@ -0,0 +1,14 @@
|
||||
var testArrayWithFunc = [
|
||||
// Function comment
|
||||
function() {
|
||||
let x = 1;
|
||||
},
|
||||
// String comment
|
||||
'1',
|
||||
// Numeric comment
|
||||
2,
|
||||
// Object comment
|
||||
{ a: 1 },
|
||||
// Array comment
|
||||
[1, 2, 3]
|
||||
]
|
||||
Loading…
x
Reference in New Issue
Block a user