From 075477f9cff0bdd6a9d894f6db20ca1cc5442c73 Mon Sep 17 00:00:00 2001 From: Oleksandr T Date: Tue, 3 Nov 2020 00:24:55 +0200 Subject: [PATCH] fix(35779): emit comments after trailing comma (#37887) --- src/compiler/emitter.ts | 18 ++++++++++++------ .../reference/commentOnArrayElement1.js | 2 +- .../reference/commentOnArrayElement1.symbols | 4 ++-- .../reference/commentOnArrayElement1.types | 2 +- .../reference/commentOnArrayElement10.js | 6 ++++++ .../reference/commentOnArrayElement10.symbols | 4 ++++ .../reference/commentOnArrayElement10.types | 7 +++++++ .../reference/commentOnArrayElement11.js | 10 ++++++++++ .../reference/commentOnArrayElement11.symbols | 7 +++++++ .../reference/commentOnArrayElement11.types | 10 ++++++++++ .../reference/commentOnArrayElement12.js | 11 +++++++++++ .../reference/commentOnArrayElement12.symbols | 7 +++++++ .../reference/commentOnArrayElement12.types | 11 +++++++++++ .../reference/commentOnArrayElement13.js | 6 ++++++ .../reference/commentOnArrayElement13.symbols | 4 ++++ .../reference/commentOnArrayElement13.types | 5 +++++ .../reference/commentOnArrayElement14.js | 6 ++++++ .../reference/commentOnArrayElement14.symbols | 4 ++++ .../reference/commentOnArrayElement14.types | 6 ++++++ .../reference/commentOnArrayElement15.js | 6 ++++++ .../reference/commentOnArrayElement15.symbols | 4 ++++ .../reference/commentOnArrayElement15.types | 6 ++++++ .../reference/commentOnArrayElement16.js | 16 ++++++++++++++++ .../reference/commentOnArrayElement16.symbols | 10 ++++++++++ .../reference/commentOnArrayElement16.types | 15 +++++++++++++++ .../reference/commentOnArrayElement2.js | 2 +- .../reference/commentOnArrayElement2.symbols | 4 ++-- .../reference/commentOnArrayElement2.types | 2 +- .../reference/commentOnArrayElement3.js | 3 ++- .../reference/commentOnArrayElement3.symbols | 4 ++-- .../reference/commentOnArrayElement3.types | 2 +- .../reference/commentOnArrayElement4.js | 14 ++++++++++++++ .../reference/commentOnArrayElement4.symbols | 9 +++++++++ .../reference/commentOnArrayElement4.types | 12 ++++++++++++ .../reference/commentOnArrayElement5.js | 16 ++++++++++++++++ .../reference/commentOnArrayElement5.symbols | 10 ++++++++++ .../reference/commentOnArrayElement5.types | 13 +++++++++++++ .../reference/commentOnArrayElement6.js | 6 ++++++ .../reference/commentOnArrayElement6.symbols | 4 ++++ .../reference/commentOnArrayElement6.types | 6 ++++++ .../reference/commentOnArrayElement7.js | 6 ++++++ .../reference/commentOnArrayElement7.symbols | 4 ++++ .../reference/commentOnArrayElement7.types | 6 ++++++ .../reference/commentOnArrayElement8.js | 10 ++++++++++ .../reference/commentOnArrayElement8.symbols | 7 +++++++ .../reference/commentOnArrayElement8.types | 10 ++++++++++ .../reference/commentOnArrayElement9.js | 10 ++++++++++ .../reference/commentOnArrayElement9.symbols | 7 +++++++ .../reference/commentOnArrayElement9.types | 10 ++++++++++ .../duplicateObjectLiteralProperty.js | 2 +- tests/cases/compiler/commentOnArrayElement1.ts | 2 +- .../cases/compiler/commentOnArrayElement10.ts | 1 + .../cases/compiler/commentOnArrayElement11.ts | 3 +++ .../cases/compiler/commentOnArrayElement12.ts | 3 +++ .../cases/compiler/commentOnArrayElement13.ts | 1 + .../cases/compiler/commentOnArrayElement14.ts | 1 + .../cases/compiler/commentOnArrayElement15.ts | 1 + .../cases/compiler/commentOnArrayElement16.ts | 6 ++++++ tests/cases/compiler/commentOnArrayElement2.ts | 2 +- tests/cases/compiler/commentOnArrayElement3.ts | 2 +- tests/cases/compiler/commentOnArrayElement4.ts | 5 +++++ tests/cases/compiler/commentOnArrayElement5.ts | 6 ++++++ tests/cases/compiler/commentOnArrayElement6.ts | 1 + tests/cases/compiler/commentOnArrayElement7.ts | 1 + tests/cases/compiler/commentOnArrayElement8.ts | 3 +++ tests/cases/compiler/commentOnArrayElement9.ts | 3 +++ 66 files changed, 385 insertions(+), 22 deletions(-) create mode 100644 tests/baselines/reference/commentOnArrayElement10.js create mode 100644 tests/baselines/reference/commentOnArrayElement10.symbols create mode 100644 tests/baselines/reference/commentOnArrayElement10.types create mode 100644 tests/baselines/reference/commentOnArrayElement11.js create mode 100644 tests/baselines/reference/commentOnArrayElement11.symbols create mode 100644 tests/baselines/reference/commentOnArrayElement11.types create mode 100644 tests/baselines/reference/commentOnArrayElement12.js create mode 100644 tests/baselines/reference/commentOnArrayElement12.symbols create mode 100644 tests/baselines/reference/commentOnArrayElement12.types create mode 100644 tests/baselines/reference/commentOnArrayElement13.js create mode 100644 tests/baselines/reference/commentOnArrayElement13.symbols create mode 100644 tests/baselines/reference/commentOnArrayElement13.types create mode 100644 tests/baselines/reference/commentOnArrayElement14.js create mode 100644 tests/baselines/reference/commentOnArrayElement14.symbols create mode 100644 tests/baselines/reference/commentOnArrayElement14.types create mode 100644 tests/baselines/reference/commentOnArrayElement15.js create mode 100644 tests/baselines/reference/commentOnArrayElement15.symbols create mode 100644 tests/baselines/reference/commentOnArrayElement15.types create mode 100644 tests/baselines/reference/commentOnArrayElement16.js create mode 100644 tests/baselines/reference/commentOnArrayElement16.symbols create mode 100644 tests/baselines/reference/commentOnArrayElement16.types create mode 100644 tests/baselines/reference/commentOnArrayElement4.js create mode 100644 tests/baselines/reference/commentOnArrayElement4.symbols create mode 100644 tests/baselines/reference/commentOnArrayElement4.types create mode 100644 tests/baselines/reference/commentOnArrayElement5.js create mode 100644 tests/baselines/reference/commentOnArrayElement5.symbols create mode 100644 tests/baselines/reference/commentOnArrayElement5.types create mode 100644 tests/baselines/reference/commentOnArrayElement6.js create mode 100644 tests/baselines/reference/commentOnArrayElement6.symbols create mode 100644 tests/baselines/reference/commentOnArrayElement6.types create mode 100644 tests/baselines/reference/commentOnArrayElement7.js create mode 100644 tests/baselines/reference/commentOnArrayElement7.symbols create mode 100644 tests/baselines/reference/commentOnArrayElement7.types create mode 100644 tests/baselines/reference/commentOnArrayElement8.js create mode 100644 tests/baselines/reference/commentOnArrayElement8.symbols create mode 100644 tests/baselines/reference/commentOnArrayElement8.types create mode 100644 tests/baselines/reference/commentOnArrayElement9.js create mode 100644 tests/baselines/reference/commentOnArrayElement9.symbols create mode 100644 tests/baselines/reference/commentOnArrayElement9.types create mode 100644 tests/cases/compiler/commentOnArrayElement10.ts create mode 100644 tests/cases/compiler/commentOnArrayElement11.ts create mode 100644 tests/cases/compiler/commentOnArrayElement12.ts create mode 100644 tests/cases/compiler/commentOnArrayElement13.ts create mode 100644 tests/cases/compiler/commentOnArrayElement14.ts create mode 100644 tests/cases/compiler/commentOnArrayElement15.ts create mode 100644 tests/cases/compiler/commentOnArrayElement16.ts create mode 100644 tests/cases/compiler/commentOnArrayElement4.ts create mode 100644 tests/cases/compiler/commentOnArrayElement5.ts create mode 100644 tests/cases/compiler/commentOnArrayElement6.ts create mode 100644 tests/cases/compiler/commentOnArrayElement7.ts create mode 100644 tests/cases/compiler/commentOnArrayElement8.ts create mode 100644 tests/cases/compiler/commentOnArrayElement9.ts diff --git a/src/compiler/emitter.ts b/src/compiler/emitter.ts index c136359ccea..ebfb7ff3e49 100644 --- a/src/compiler/emitter.ts +++ b/src/compiler/emitter.ts @@ -4165,20 +4165,26 @@ namespace ts { } // Write a trailing comma, if requested. - const hasTrailingComma = (format & ListFormat.AllowTrailingComma) && children!.hasTrailingComma; - if (format & ListFormat.CommaDelimited && hasTrailingComma) { - writePunctuation(","); + const emitFlags = previousSibling ? getEmitFlags(previousSibling) : 0; + const skipTrailingComments = commentsDisabled || !!(emitFlags & EmitFlags.NoTrailingComments); + const hasTrailingComma = children?.hasTrailingComma && (format & ListFormat.AllowTrailingComma) && (format & ListFormat.CommaDelimited); + if (hasTrailingComma) { + if (previousSibling && !skipTrailingComments) { + emitTokenWithComment(SyntaxKind.CommaToken, previousSibling.end, writePunctuation, previousSibling); + } + else { + writePunctuation(","); + } } - // Emit any trailing comment of the last element in the list // i.e // var array = [... // 2 // /* end of element 2 */ // ]; - if (previousSibling && format & ListFormat.DelimitersMask && previousSibling.end !== parentNode.end && !(getEmitFlags(previousSibling) & EmitFlags.NoTrailingComments)) { - emitLeadingCommentsOfPosition(previousSibling.end); + if (previousSibling && parentNode.end !== previousSibling.end && (format & ListFormat.DelimitersMask) && !skipTrailingComments) { + emitLeadingCommentsOfPosition(hasTrailingComma && children?.end ? children.end : previousSibling.end); } // Decrease the indent, if requested. diff --git a/tests/baselines/reference/commentOnArrayElement1.js b/tests/baselines/reference/commentOnArrayElement1.js index 960df336dbb..67bf4800f4d 100644 --- a/tests/baselines/reference/commentOnArrayElement1.js +++ b/tests/baselines/reference/commentOnArrayElement1.js @@ -1,5 +1,5 @@ //// [commentOnArrayElement1.ts] -var array = [ +const array = [ /* element 1*/ 1 /* end of element 1 */, diff --git a/tests/baselines/reference/commentOnArrayElement1.symbols b/tests/baselines/reference/commentOnArrayElement1.symbols index a504aec5c32..6f209560adc 100644 --- a/tests/baselines/reference/commentOnArrayElement1.symbols +++ b/tests/baselines/reference/commentOnArrayElement1.symbols @@ -1,6 +1,6 @@ === tests/cases/compiler/commentOnArrayElement1.ts === -var array = [ ->array : Symbol(array, Decl(commentOnArrayElement1.ts, 0, 3)) +const array = [ +>array : Symbol(array, Decl(commentOnArrayElement1.ts, 0, 5)) /* element 1*/ 1 diff --git a/tests/baselines/reference/commentOnArrayElement1.types b/tests/baselines/reference/commentOnArrayElement1.types index f6b541ec300..d2afb8eb820 100644 --- a/tests/baselines/reference/commentOnArrayElement1.types +++ b/tests/baselines/reference/commentOnArrayElement1.types @@ -1,5 +1,5 @@ === tests/cases/compiler/commentOnArrayElement1.ts === -var array = [ +const array = [ >array : number[] >[ /* element 1*/ 1 /* end of element 1 */, 2 /* end of element 2 */] : number[] diff --git a/tests/baselines/reference/commentOnArrayElement10.js b/tests/baselines/reference/commentOnArrayElement10.js new file mode 100644 index 00000000000..9116d36c673 --- /dev/null +++ b/tests/baselines/reference/commentOnArrayElement10.js @@ -0,0 +1,6 @@ +//// [commentOnArrayElement10.ts] +const array = [,, /* comment */]; + + +//// [commentOnArrayElement10.js] +var array = [, , /* comment */]; diff --git a/tests/baselines/reference/commentOnArrayElement10.symbols b/tests/baselines/reference/commentOnArrayElement10.symbols new file mode 100644 index 00000000000..7d3f7a6e7de --- /dev/null +++ b/tests/baselines/reference/commentOnArrayElement10.symbols @@ -0,0 +1,4 @@ +=== tests/cases/compiler/commentOnArrayElement10.ts === +const array = [,, /* comment */]; +>array : Symbol(array, Decl(commentOnArrayElement10.ts, 0, 5)) + diff --git a/tests/baselines/reference/commentOnArrayElement10.types b/tests/baselines/reference/commentOnArrayElement10.types new file mode 100644 index 00000000000..4a8fdc56fd8 --- /dev/null +++ b/tests/baselines/reference/commentOnArrayElement10.types @@ -0,0 +1,7 @@ +=== tests/cases/compiler/commentOnArrayElement10.ts === +const array = [,, /* comment */]; +>array : any[] +>[,, /* comment */] : undefined[] +> : undefined +> : undefined + diff --git a/tests/baselines/reference/commentOnArrayElement11.js b/tests/baselines/reference/commentOnArrayElement11.js new file mode 100644 index 00000000000..4f0474b8522 --- /dev/null +++ b/tests/baselines/reference/commentOnArrayElement11.js @@ -0,0 +1,10 @@ +//// [commentOnArrayElement11.ts] +const array = [ + , /* comment */ +]; + + +//// [commentOnArrayElement11.js] +var array = [ + , /* comment */ +]; diff --git a/tests/baselines/reference/commentOnArrayElement11.symbols b/tests/baselines/reference/commentOnArrayElement11.symbols new file mode 100644 index 00000000000..cec0ea7a358 --- /dev/null +++ b/tests/baselines/reference/commentOnArrayElement11.symbols @@ -0,0 +1,7 @@ +=== tests/cases/compiler/commentOnArrayElement11.ts === +const array = [ +>array : Symbol(array, Decl(commentOnArrayElement11.ts, 0, 5)) + + , /* comment */ +]; + diff --git a/tests/baselines/reference/commentOnArrayElement11.types b/tests/baselines/reference/commentOnArrayElement11.types new file mode 100644 index 00000000000..374c2b06842 --- /dev/null +++ b/tests/baselines/reference/commentOnArrayElement11.types @@ -0,0 +1,10 @@ +=== tests/cases/compiler/commentOnArrayElement11.ts === +const array = [ +>array : any[] +>[ , /* comment */] : undefined[] + + , /* comment */ +> : undefined + +]; + diff --git a/tests/baselines/reference/commentOnArrayElement12.js b/tests/baselines/reference/commentOnArrayElement12.js new file mode 100644 index 00000000000..2d113453269 --- /dev/null +++ b/tests/baselines/reference/commentOnArrayElement12.js @@ -0,0 +1,11 @@ +//// [commentOnArrayElement12.ts] +const array = [ + ,, /* comment */ +]; + + +//// [commentOnArrayElement12.js] +var array = [ + , + , /* comment */ +]; diff --git a/tests/baselines/reference/commentOnArrayElement12.symbols b/tests/baselines/reference/commentOnArrayElement12.symbols new file mode 100644 index 00000000000..32f564b946d --- /dev/null +++ b/tests/baselines/reference/commentOnArrayElement12.symbols @@ -0,0 +1,7 @@ +=== tests/cases/compiler/commentOnArrayElement12.ts === +const array = [ +>array : Symbol(array, Decl(commentOnArrayElement12.ts, 0, 5)) + + ,, /* comment */ +]; + diff --git a/tests/baselines/reference/commentOnArrayElement12.types b/tests/baselines/reference/commentOnArrayElement12.types new file mode 100644 index 00000000000..281fc926a13 --- /dev/null +++ b/tests/baselines/reference/commentOnArrayElement12.types @@ -0,0 +1,11 @@ +=== tests/cases/compiler/commentOnArrayElement12.ts === +const array = [ +>array : any[] +>[ ,, /* comment */] : undefined[] + + ,, /* comment */ +> : undefined +> : undefined + +]; + diff --git a/tests/baselines/reference/commentOnArrayElement13.js b/tests/baselines/reference/commentOnArrayElement13.js new file mode 100644 index 00000000000..b0988a58c7a --- /dev/null +++ b/tests/baselines/reference/commentOnArrayElement13.js @@ -0,0 +1,6 @@ +//// [commentOnArrayElement13.ts] +const array = [/* comment */]; + + +//// [commentOnArrayElement13.js] +var array = [ /* comment */]; diff --git a/tests/baselines/reference/commentOnArrayElement13.symbols b/tests/baselines/reference/commentOnArrayElement13.symbols new file mode 100644 index 00000000000..fbac34bc6e6 --- /dev/null +++ b/tests/baselines/reference/commentOnArrayElement13.symbols @@ -0,0 +1,4 @@ +=== tests/cases/compiler/commentOnArrayElement13.ts === +const array = [/* comment */]; +>array : Symbol(array, Decl(commentOnArrayElement13.ts, 0, 5)) + diff --git a/tests/baselines/reference/commentOnArrayElement13.types b/tests/baselines/reference/commentOnArrayElement13.types new file mode 100644 index 00000000000..2910b3c06e7 --- /dev/null +++ b/tests/baselines/reference/commentOnArrayElement13.types @@ -0,0 +1,5 @@ +=== tests/cases/compiler/commentOnArrayElement13.ts === +const array = [/* comment */]; +>array : any[] +>[/* comment */] : undefined[] + diff --git a/tests/baselines/reference/commentOnArrayElement14.js b/tests/baselines/reference/commentOnArrayElement14.js new file mode 100644 index 00000000000..e456dcd230f --- /dev/null +++ b/tests/baselines/reference/commentOnArrayElement14.js @@ -0,0 +1,6 @@ +//// [commentOnArrayElement14.ts] +const array = [1 /* comment */]; + + +//// [commentOnArrayElement14.js] +var array = [1 /* comment */]; diff --git a/tests/baselines/reference/commentOnArrayElement14.symbols b/tests/baselines/reference/commentOnArrayElement14.symbols new file mode 100644 index 00000000000..1ac0e163729 --- /dev/null +++ b/tests/baselines/reference/commentOnArrayElement14.symbols @@ -0,0 +1,4 @@ +=== tests/cases/compiler/commentOnArrayElement14.ts === +const array = [1 /* comment */]; +>array : Symbol(array, Decl(commentOnArrayElement14.ts, 0, 5)) + diff --git a/tests/baselines/reference/commentOnArrayElement14.types b/tests/baselines/reference/commentOnArrayElement14.types new file mode 100644 index 00000000000..37ff12fe76f --- /dev/null +++ b/tests/baselines/reference/commentOnArrayElement14.types @@ -0,0 +1,6 @@ +=== tests/cases/compiler/commentOnArrayElement14.ts === +const array = [1 /* comment */]; +>array : number[] +>[1 /* comment */] : number[] +>1 : 1 + diff --git a/tests/baselines/reference/commentOnArrayElement15.js b/tests/baselines/reference/commentOnArrayElement15.js new file mode 100644 index 00000000000..0125c948dcc --- /dev/null +++ b/tests/baselines/reference/commentOnArrayElement15.js @@ -0,0 +1,6 @@ +//// [commentOnArrayElement15.ts] +const array = [/* comment */ 1 /* comment */]; + + +//// [commentOnArrayElement15.js] +var array = [/* comment */ 1 /* comment */]; diff --git a/tests/baselines/reference/commentOnArrayElement15.symbols b/tests/baselines/reference/commentOnArrayElement15.symbols new file mode 100644 index 00000000000..7a77ae93403 --- /dev/null +++ b/tests/baselines/reference/commentOnArrayElement15.symbols @@ -0,0 +1,4 @@ +=== tests/cases/compiler/commentOnArrayElement15.ts === +const array = [/* comment */ 1 /* comment */]; +>array : Symbol(array, Decl(commentOnArrayElement15.ts, 0, 5)) + diff --git a/tests/baselines/reference/commentOnArrayElement15.types b/tests/baselines/reference/commentOnArrayElement15.types new file mode 100644 index 00000000000..f1af5326081 --- /dev/null +++ b/tests/baselines/reference/commentOnArrayElement15.types @@ -0,0 +1,6 @@ +=== tests/cases/compiler/commentOnArrayElement15.ts === +const array = [/* comment */ 1 /* comment */]; +>array : number[] +>[/* comment */ 1 /* comment */] : number[] +>1 : 1 + diff --git a/tests/baselines/reference/commentOnArrayElement16.js b/tests/baselines/reference/commentOnArrayElement16.js new file mode 100644 index 00000000000..736382cd307 --- /dev/null +++ b/tests/baselines/reference/commentOnArrayElement16.js @@ -0,0 +1,16 @@ +//// [commentOnArrayElement16.ts] +const array = [ + // comment start + 1, + 2, + // comment end +]; + + +//// [commentOnArrayElement16.js] +var array = [ + // comment start + 1, + 2, + // comment end +]; diff --git a/tests/baselines/reference/commentOnArrayElement16.symbols b/tests/baselines/reference/commentOnArrayElement16.symbols new file mode 100644 index 00000000000..e5c99946bd5 --- /dev/null +++ b/tests/baselines/reference/commentOnArrayElement16.symbols @@ -0,0 +1,10 @@ +=== tests/cases/compiler/commentOnArrayElement16.ts === +const array = [ +>array : Symbol(array, Decl(commentOnArrayElement16.ts, 0, 5)) + + // comment start + 1, + 2, + // comment end +]; + diff --git a/tests/baselines/reference/commentOnArrayElement16.types b/tests/baselines/reference/commentOnArrayElement16.types new file mode 100644 index 00000000000..6eba9c02c9f --- /dev/null +++ b/tests/baselines/reference/commentOnArrayElement16.types @@ -0,0 +1,15 @@ +=== tests/cases/compiler/commentOnArrayElement16.ts === +const array = [ +>array : number[] +>[ // comment start 1, 2, // comment end] : number[] + + // comment start + 1, +>1 : 1 + + 2, +>2 : 2 + + // comment end +]; + diff --git a/tests/baselines/reference/commentOnArrayElement2.js b/tests/baselines/reference/commentOnArrayElement2.js index 1c146caed65..79b49c60a95 100644 --- a/tests/baselines/reference/commentOnArrayElement2.js +++ b/tests/baselines/reference/commentOnArrayElement2.js @@ -1,5 +1,5 @@ //// [commentOnArrayElement2.ts] -var array = [ +const array = [ /* element 1*/ 1 /* end of element 1 */, 2 diff --git a/tests/baselines/reference/commentOnArrayElement2.symbols b/tests/baselines/reference/commentOnArrayElement2.symbols index 7a6c231664b..c4ea8ae54b7 100644 --- a/tests/baselines/reference/commentOnArrayElement2.symbols +++ b/tests/baselines/reference/commentOnArrayElement2.symbols @@ -1,6 +1,6 @@ === tests/cases/compiler/commentOnArrayElement2.ts === -var array = [ ->array : Symbol(array, Decl(commentOnArrayElement2.ts, 0, 3)) +const array = [ +>array : Symbol(array, Decl(commentOnArrayElement2.ts, 0, 5)) /* element 1*/ 1 /* end of element 1 */, diff --git a/tests/baselines/reference/commentOnArrayElement2.types b/tests/baselines/reference/commentOnArrayElement2.types index 85647da74e0..388bccdf2cc 100644 --- a/tests/baselines/reference/commentOnArrayElement2.types +++ b/tests/baselines/reference/commentOnArrayElement2.types @@ -1,5 +1,5 @@ === tests/cases/compiler/commentOnArrayElement2.ts === -var array = [ +const array = [ >array : number[] >[ /* element 1*/ 1 /* end of element 1 */, 2 /* end of element 2 */] : number[] diff --git a/tests/baselines/reference/commentOnArrayElement3.js b/tests/baselines/reference/commentOnArrayElement3.js index e31f8adf26a..45e7b7340c7 100644 --- a/tests/baselines/reference/commentOnArrayElement3.js +++ b/tests/baselines/reference/commentOnArrayElement3.js @@ -1,5 +1,5 @@ //// [commentOnArrayElement3.ts] -var array = [ +const array = [ /* element 1*/ 1 /* end of element 1 */, @@ -16,4 +16,5 @@ var array = [ 2 /* end of element 2 */ , , + /* extra comment */ ]; diff --git a/tests/baselines/reference/commentOnArrayElement3.symbols b/tests/baselines/reference/commentOnArrayElement3.symbols index a1c61f7155a..cec13f400a9 100644 --- a/tests/baselines/reference/commentOnArrayElement3.symbols +++ b/tests/baselines/reference/commentOnArrayElement3.symbols @@ -1,6 +1,6 @@ === tests/cases/compiler/commentOnArrayElement3.ts === -var array = [ ->array : Symbol(array, Decl(commentOnArrayElement3.ts, 0, 3)) +const array = [ +>array : Symbol(array, Decl(commentOnArrayElement3.ts, 0, 5)) /* element 1*/ 1 diff --git a/tests/baselines/reference/commentOnArrayElement3.types b/tests/baselines/reference/commentOnArrayElement3.types index cd75c5a8db9..0218ae5e3b0 100644 --- a/tests/baselines/reference/commentOnArrayElement3.types +++ b/tests/baselines/reference/commentOnArrayElement3.types @@ -1,5 +1,5 @@ === tests/cases/compiler/commentOnArrayElement3.ts === -var array = [ +const array = [ >array : number[] >[ /* element 1*/ 1 /* end of element 1 */, 2 /* end of element 2 */, , /* extra comment */] : number[] diff --git a/tests/baselines/reference/commentOnArrayElement4.js b/tests/baselines/reference/commentOnArrayElement4.js new file mode 100644 index 00000000000..8eb4586a624 --- /dev/null +++ b/tests/baselines/reference/commentOnArrayElement4.js @@ -0,0 +1,14 @@ +//// [commentOnArrayElement4.ts] +const array = [ + /* element 1 */ + 1, + /* end of element 1 */ +]; + + +//// [commentOnArrayElement4.js] +var array = [ + /* element 1 */ + 1, + /* end of element 1 */ +]; diff --git a/tests/baselines/reference/commentOnArrayElement4.symbols b/tests/baselines/reference/commentOnArrayElement4.symbols new file mode 100644 index 00000000000..c9d70024df7 --- /dev/null +++ b/tests/baselines/reference/commentOnArrayElement4.symbols @@ -0,0 +1,9 @@ +=== tests/cases/compiler/commentOnArrayElement4.ts === +const array = [ +>array : Symbol(array, Decl(commentOnArrayElement4.ts, 0, 5)) + + /* element 1 */ + 1, + /* end of element 1 */ +]; + diff --git a/tests/baselines/reference/commentOnArrayElement4.types b/tests/baselines/reference/commentOnArrayElement4.types new file mode 100644 index 00000000000..b357f573f0b --- /dev/null +++ b/tests/baselines/reference/commentOnArrayElement4.types @@ -0,0 +1,12 @@ +=== tests/cases/compiler/commentOnArrayElement4.ts === +const array = [ +>array : number[] +>[ /* element 1 */ 1, /* end of element 1 */] : number[] + + /* element 1 */ + 1, +>1 : 1 + + /* end of element 1 */ +]; + diff --git a/tests/baselines/reference/commentOnArrayElement5.js b/tests/baselines/reference/commentOnArrayElement5.js new file mode 100644 index 00000000000..ded7394c6a9 --- /dev/null +++ b/tests/baselines/reference/commentOnArrayElement5.js @@ -0,0 +1,16 @@ +//// [commentOnArrayElement5.ts] +const array = [ + /* element 1 */ + 1, + /* end of element 1 */ + /* extra comment */ +]; + + +//// [commentOnArrayElement5.js] +var array = [ + /* element 1 */ + 1, + /* end of element 1 */ + /* extra comment */ +]; diff --git a/tests/baselines/reference/commentOnArrayElement5.symbols b/tests/baselines/reference/commentOnArrayElement5.symbols new file mode 100644 index 00000000000..8560a34106a --- /dev/null +++ b/tests/baselines/reference/commentOnArrayElement5.symbols @@ -0,0 +1,10 @@ +=== tests/cases/compiler/commentOnArrayElement5.ts === +const array = [ +>array : Symbol(array, Decl(commentOnArrayElement5.ts, 0, 5)) + + /* element 1 */ + 1, + /* end of element 1 */ + /* extra comment */ +]; + diff --git a/tests/baselines/reference/commentOnArrayElement5.types b/tests/baselines/reference/commentOnArrayElement5.types new file mode 100644 index 00000000000..e2dcd69c998 --- /dev/null +++ b/tests/baselines/reference/commentOnArrayElement5.types @@ -0,0 +1,13 @@ +=== tests/cases/compiler/commentOnArrayElement5.ts === +const array = [ +>array : number[] +>[ /* element 1 */ 1, /* end of element 1 */ /* extra comment */] : number[] + + /* element 1 */ + 1, +>1 : 1 + + /* end of element 1 */ + /* extra comment */ +]; + diff --git a/tests/baselines/reference/commentOnArrayElement6.js b/tests/baselines/reference/commentOnArrayElement6.js new file mode 100644 index 00000000000..89f2c7a9b51 --- /dev/null +++ b/tests/baselines/reference/commentOnArrayElement6.js @@ -0,0 +1,6 @@ +//// [commentOnArrayElement6.ts] +const array = [1, /* comment */]; + + +//// [commentOnArrayElement6.js] +var array = [1, /* comment */]; diff --git a/tests/baselines/reference/commentOnArrayElement6.symbols b/tests/baselines/reference/commentOnArrayElement6.symbols new file mode 100644 index 00000000000..2c910f3612c --- /dev/null +++ b/tests/baselines/reference/commentOnArrayElement6.symbols @@ -0,0 +1,4 @@ +=== tests/cases/compiler/commentOnArrayElement6.ts === +const array = [1, /* comment */]; +>array : Symbol(array, Decl(commentOnArrayElement6.ts, 0, 5)) + diff --git a/tests/baselines/reference/commentOnArrayElement6.types b/tests/baselines/reference/commentOnArrayElement6.types new file mode 100644 index 00000000000..cf335d4d520 --- /dev/null +++ b/tests/baselines/reference/commentOnArrayElement6.types @@ -0,0 +1,6 @@ +=== tests/cases/compiler/commentOnArrayElement6.ts === +const array = [1, /* comment */]; +>array : number[] +>[1, /* comment */] : number[] +>1 : 1 + diff --git a/tests/baselines/reference/commentOnArrayElement7.js b/tests/baselines/reference/commentOnArrayElement7.js new file mode 100644 index 00000000000..c4baad17099 --- /dev/null +++ b/tests/baselines/reference/commentOnArrayElement7.js @@ -0,0 +1,6 @@ +//// [commentOnArrayElement7.ts] +const array = [/* element 1 */ 1, /* end of element 1 */]; + + +//// [commentOnArrayElement7.js] +var array = [/* element 1 */ 1, /* end of element 1 */]; diff --git a/tests/baselines/reference/commentOnArrayElement7.symbols b/tests/baselines/reference/commentOnArrayElement7.symbols new file mode 100644 index 00000000000..87db1c010ff --- /dev/null +++ b/tests/baselines/reference/commentOnArrayElement7.symbols @@ -0,0 +1,4 @@ +=== tests/cases/compiler/commentOnArrayElement7.ts === +const array = [/* element 1 */ 1, /* end of element 1 */]; +>array : Symbol(array, Decl(commentOnArrayElement7.ts, 0, 5)) + diff --git a/tests/baselines/reference/commentOnArrayElement7.types b/tests/baselines/reference/commentOnArrayElement7.types new file mode 100644 index 00000000000..4e70770b03b --- /dev/null +++ b/tests/baselines/reference/commentOnArrayElement7.types @@ -0,0 +1,6 @@ +=== tests/cases/compiler/commentOnArrayElement7.ts === +const array = [/* element 1 */ 1, /* end of element 1 */]; +>array : number[] +>[/* element 1 */ 1, /* end of element 1 */] : number[] +>1 : 1 + diff --git a/tests/baselines/reference/commentOnArrayElement8.js b/tests/baselines/reference/commentOnArrayElement8.js new file mode 100644 index 00000000000..51cca937124 --- /dev/null +++ b/tests/baselines/reference/commentOnArrayElement8.js @@ -0,0 +1,10 @@ +//// [commentOnArrayElement8.ts] +const array = [ + 1, /* comment */ +]; + + +//// [commentOnArrayElement8.js] +var array = [ + 1, /* comment */ +]; diff --git a/tests/baselines/reference/commentOnArrayElement8.symbols b/tests/baselines/reference/commentOnArrayElement8.symbols new file mode 100644 index 00000000000..e73de082160 --- /dev/null +++ b/tests/baselines/reference/commentOnArrayElement8.symbols @@ -0,0 +1,7 @@ +=== tests/cases/compiler/commentOnArrayElement8.ts === +const array = [ +>array : Symbol(array, Decl(commentOnArrayElement8.ts, 0, 5)) + + 1, /* comment */ +]; + diff --git a/tests/baselines/reference/commentOnArrayElement8.types b/tests/baselines/reference/commentOnArrayElement8.types new file mode 100644 index 00000000000..df38572faa5 --- /dev/null +++ b/tests/baselines/reference/commentOnArrayElement8.types @@ -0,0 +1,10 @@ +=== tests/cases/compiler/commentOnArrayElement8.ts === +const array = [ +>array : number[] +>[ 1, /* comment */] : number[] + + 1, /* comment */ +>1 : 1 + +]; + diff --git a/tests/baselines/reference/commentOnArrayElement9.js b/tests/baselines/reference/commentOnArrayElement9.js new file mode 100644 index 00000000000..b2165dfe8b9 --- /dev/null +++ b/tests/baselines/reference/commentOnArrayElement9.js @@ -0,0 +1,10 @@ +//// [commentOnArrayElement9.ts] +const array = [ + /* element 1 */ 1, /* end of element 1 */ +]; + + +//// [commentOnArrayElement9.js] +var array = [ + /* element 1 */ 1, /* end of element 1 */ +]; diff --git a/tests/baselines/reference/commentOnArrayElement9.symbols b/tests/baselines/reference/commentOnArrayElement9.symbols new file mode 100644 index 00000000000..7e07a26bd55 --- /dev/null +++ b/tests/baselines/reference/commentOnArrayElement9.symbols @@ -0,0 +1,7 @@ +=== tests/cases/compiler/commentOnArrayElement9.ts === +const array = [ +>array : Symbol(array, Decl(commentOnArrayElement9.ts, 0, 5)) + + /* element 1 */ 1, /* end of element 1 */ +]; + diff --git a/tests/baselines/reference/commentOnArrayElement9.types b/tests/baselines/reference/commentOnArrayElement9.types new file mode 100644 index 00000000000..c33c2a64ca0 --- /dev/null +++ b/tests/baselines/reference/commentOnArrayElement9.types @@ -0,0 +1,10 @@ +=== tests/cases/compiler/commentOnArrayElement9.ts === +const array = [ +>array : number[] +>[ /* element 1 */ 1, /* end of element 1 */] : number[] + + /* element 1 */ 1, /* end of element 1 */ +>1 : 1 + +]; + diff --git a/tests/baselines/reference/duplicateObjectLiteralProperty.js b/tests/baselines/reference/duplicateObjectLiteralProperty.js index 9c629b211cf..c8dc60d2c20 100644 --- a/tests/baselines/reference/duplicateObjectLiteralProperty.js +++ b/tests/baselines/reference/duplicateObjectLiteralProperty.js @@ -26,7 +26,7 @@ var x = { \u0061: "ss", a: { c: 1, - "c": 56, + "c": 56, // Duplicate } }; var y = { diff --git a/tests/cases/compiler/commentOnArrayElement1.ts b/tests/cases/compiler/commentOnArrayElement1.ts index 3dc4ce29bf1..5b692c4c519 100644 --- a/tests/cases/compiler/commentOnArrayElement1.ts +++ b/tests/cases/compiler/commentOnArrayElement1.ts @@ -1,4 +1,4 @@ -var array = [ +const array = [ /* element 1*/ 1 /* end of element 1 */, diff --git a/tests/cases/compiler/commentOnArrayElement10.ts b/tests/cases/compiler/commentOnArrayElement10.ts new file mode 100644 index 00000000000..74dd537570c --- /dev/null +++ b/tests/cases/compiler/commentOnArrayElement10.ts @@ -0,0 +1 @@ +const array = [,, /* comment */]; diff --git a/tests/cases/compiler/commentOnArrayElement11.ts b/tests/cases/compiler/commentOnArrayElement11.ts new file mode 100644 index 00000000000..f64ee616509 --- /dev/null +++ b/tests/cases/compiler/commentOnArrayElement11.ts @@ -0,0 +1,3 @@ +const array = [ + , /* comment */ +]; diff --git a/tests/cases/compiler/commentOnArrayElement12.ts b/tests/cases/compiler/commentOnArrayElement12.ts new file mode 100644 index 00000000000..8a1afe4ff03 --- /dev/null +++ b/tests/cases/compiler/commentOnArrayElement12.ts @@ -0,0 +1,3 @@ +const array = [ + ,, /* comment */ +]; diff --git a/tests/cases/compiler/commentOnArrayElement13.ts b/tests/cases/compiler/commentOnArrayElement13.ts new file mode 100644 index 00000000000..429a91a407a --- /dev/null +++ b/tests/cases/compiler/commentOnArrayElement13.ts @@ -0,0 +1 @@ +const array = [/* comment */]; diff --git a/tests/cases/compiler/commentOnArrayElement14.ts b/tests/cases/compiler/commentOnArrayElement14.ts new file mode 100644 index 00000000000..84b1a0dc268 --- /dev/null +++ b/tests/cases/compiler/commentOnArrayElement14.ts @@ -0,0 +1 @@ +const array = [1 /* comment */]; diff --git a/tests/cases/compiler/commentOnArrayElement15.ts b/tests/cases/compiler/commentOnArrayElement15.ts new file mode 100644 index 00000000000..cabdf61cc0f --- /dev/null +++ b/tests/cases/compiler/commentOnArrayElement15.ts @@ -0,0 +1 @@ +const array = [/* comment */ 1 /* comment */]; diff --git a/tests/cases/compiler/commentOnArrayElement16.ts b/tests/cases/compiler/commentOnArrayElement16.ts new file mode 100644 index 00000000000..1330285abf0 --- /dev/null +++ b/tests/cases/compiler/commentOnArrayElement16.ts @@ -0,0 +1,6 @@ +const array = [ + // comment start + 1, + 2, + // comment end +]; diff --git a/tests/cases/compiler/commentOnArrayElement2.ts b/tests/cases/compiler/commentOnArrayElement2.ts index 80c7f8fb1a7..c5e7a11870b 100644 --- a/tests/cases/compiler/commentOnArrayElement2.ts +++ b/tests/cases/compiler/commentOnArrayElement2.ts @@ -1,4 +1,4 @@ -var array = [ +const array = [ /* element 1*/ 1 /* end of element 1 */, 2 diff --git a/tests/cases/compiler/commentOnArrayElement3.ts b/tests/cases/compiler/commentOnArrayElement3.ts index 26de853f3e9..c6329d2b1f7 100644 --- a/tests/cases/compiler/commentOnArrayElement3.ts +++ b/tests/cases/compiler/commentOnArrayElement3.ts @@ -1,4 +1,4 @@ -var array = [ +const array = [ /* element 1*/ 1 /* end of element 1 */, diff --git a/tests/cases/compiler/commentOnArrayElement4.ts b/tests/cases/compiler/commentOnArrayElement4.ts new file mode 100644 index 00000000000..dc328872d62 --- /dev/null +++ b/tests/cases/compiler/commentOnArrayElement4.ts @@ -0,0 +1,5 @@ +const array = [ + /* element 1 */ + 1, + /* end of element 1 */ +]; diff --git a/tests/cases/compiler/commentOnArrayElement5.ts b/tests/cases/compiler/commentOnArrayElement5.ts new file mode 100644 index 00000000000..789fde2dcf9 --- /dev/null +++ b/tests/cases/compiler/commentOnArrayElement5.ts @@ -0,0 +1,6 @@ +const array = [ + /* element 1 */ + 1, + /* end of element 1 */ + /* extra comment */ +]; diff --git a/tests/cases/compiler/commentOnArrayElement6.ts b/tests/cases/compiler/commentOnArrayElement6.ts new file mode 100644 index 00000000000..6f4848bef81 --- /dev/null +++ b/tests/cases/compiler/commentOnArrayElement6.ts @@ -0,0 +1 @@ +const array = [1, /* comment */]; diff --git a/tests/cases/compiler/commentOnArrayElement7.ts b/tests/cases/compiler/commentOnArrayElement7.ts new file mode 100644 index 00000000000..b0182b2151e --- /dev/null +++ b/tests/cases/compiler/commentOnArrayElement7.ts @@ -0,0 +1 @@ +const array = [/* element 1 */ 1, /* end of element 1 */]; diff --git a/tests/cases/compiler/commentOnArrayElement8.ts b/tests/cases/compiler/commentOnArrayElement8.ts new file mode 100644 index 00000000000..51de7edac64 --- /dev/null +++ b/tests/cases/compiler/commentOnArrayElement8.ts @@ -0,0 +1,3 @@ +const array = [ + 1, /* comment */ +]; diff --git a/tests/cases/compiler/commentOnArrayElement9.ts b/tests/cases/compiler/commentOnArrayElement9.ts new file mode 100644 index 00000000000..bb5419c5290 --- /dev/null +++ b/tests/cases/compiler/commentOnArrayElement9.ts @@ -0,0 +1,3 @@ +const array = [ + /* element 1 */ 1, /* end of element 1 */ +];