diff --git a/src/compiler/parser.ts b/src/compiler/parser.ts index 2e8729b29c220..8882398d27b5e 100644 --- a/src/compiler/parser.ts +++ b/src/compiler/parser.ts @@ -7440,11 +7440,9 @@ namespace ts { loop: while (true) { switch (tok) { case SyntaxKind.NewLineTrivia: - if (state >= JSDocState.SawAsterisk) { - state = JSDocState.BeginningOfLine; - // don't use pushComment here because we want to keep the margin unchanged - comments.push(scanner.getTokenText()); - } + state = JSDocState.BeginningOfLine; + // don't use pushComment here because we want to keep the margin unchanged + comments.push(scanner.getTokenText()); indent = 0; break; case SyntaxKind.AtToken: diff --git a/src/testRunner/unittests/jsDocParsing.ts b/src/testRunner/unittests/jsDocParsing.ts index 0af076df7622b..ace9f0af99654 100644 --- a/src/testRunner/unittests/jsDocParsing.ts +++ b/src/testRunner/unittests/jsDocParsing.ts @@ -320,6 +320,12 @@ namespace ts { `/** * @author John Doe * @author John Doe unexpected comment + */`); + + parsesCorrectly("consecutive newline tokens", + `/** + * @example + * Some\n\n * text\r\n * with newlines. */`); }); }); diff --git a/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.consecutive newline tokens.json b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.consecutive newline tokens.json new file mode 100644 index 0000000000000..26875d7eba7c7 --- /dev/null +++ b/tests/baselines/reference/JSDocParsing/DocComments.parsesCorrectly.consecutive newline tokens.json @@ -0,0 +1,31 @@ +{ + "kind": "JSDocComment", + "pos": 0, + "end": 55, + "flags": "JSDoc", + "modifierFlagsCache": 0, + "transformFlags": 0, + "tags": { + "0": { + "kind": "JSDocTag", + "pos": 7, + "end": 19, + "modifierFlagsCache": 0, + "transformFlags": 0, + "tagName": { + "kind": "Identifier", + "pos": 8, + "end": 15, + "modifierFlagsCache": 0, + "transformFlags": 0, + "escapedText": "example" + }, + "comment": "Some\n\ntext\r\nwith newlines." + }, + "length": 1, + "pos": 7, + "end": 19, + "hasTrailingComma": false, + "transformFlags": 0 + } +} \ No newline at end of file