Skip to content

Commit 053b7dc

Browse files
committed
Fix parsing @link at end of comment
1 parent fb892f0 commit 053b7dc

File tree

5 files changed

+49
-1
lines changed

5 files changed

+49
-1
lines changed

src/compiler/parser.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7708,7 +7708,7 @@ namespace ts {
77087708
? parseEntityName(/*allowReservedWords*/ true)
77097709
: undefined;
77107710
const text = [];
7711-
while (token() !== SyntaxKind.CloseBraceToken && token() !== SyntaxKind.NewLineTrivia) {
7711+
while (token() !== SyntaxKind.CloseBraceToken && token() !== SyntaxKind.NewLineTrivia && token() !== SyntaxKind.EndOfFileToken) {
77127712
text.push(scanner.getTokenText());
77137713
nextTokenJSDoc();
77147714
}
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
//// [parseLinkTag.ts]
2+
/** trailing @link tag {@link */
3+
var x;
4+
/** @returns trailing @link tag {@link */
5+
function f() {
6+
return x
7+
}
8+
9+
10+
//// [parseLinkTag.js]
11+
/** trailing @link tag {@link */
12+
var x;
13+
/** @returns trailing @link tag {@link */
14+
function f() {
15+
return x;
16+
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
=== tests/cases/conformance/jsdoc/parseLinkTag.ts ===
2+
/** trailing @link tag {@link */
3+
var x;
4+
>x : Symbol(x, Decl(parseLinkTag.ts, 1, 3))
5+
6+
/** @returns trailing @link tag {@link */
7+
function f() {
8+
>f : Symbol(f, Decl(parseLinkTag.ts, 1, 6))
9+
10+
return x
11+
>x : Symbol(x, Decl(parseLinkTag.ts, 1, 3))
12+
}
13+
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
=== tests/cases/conformance/jsdoc/parseLinkTag.ts ===
2+
/** trailing @link tag {@link */
3+
var x;
4+
>x : any
5+
6+
/** @returns trailing @link tag {@link */
7+
function f() {
8+
>f : () => any
9+
10+
return x
11+
>x : any
12+
}
13+
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
/** trailing @link tag {@link */
2+
var x;
3+
/** @returns trailing @link tag {@link */
4+
function f() {
5+
return x
6+
}

0 commit comments

Comments
 (0)