Skip to content

Commit 6e06bb3

Browse files
committed
Allow parsing TS-style generics in JSDoc
Fixes microsoft#6814
1 parent 554ea1b commit 6e06bb3

2 files changed

Lines changed: 23 additions & 7 deletions

File tree

src/compiler/parser.ts

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5734,16 +5734,22 @@ namespace ts {
57345734
const result = <JSDocTypeReference>createNode(SyntaxKind.JSDocTypeReference);
57355735
result.name = parseSimplePropertyName();
57365736

5737-
while (parseOptional(SyntaxKind.DotToken)) {
5738-
if (token === SyntaxKind.LessThanToken) {
5739-
result.typeArguments = parseTypeArguments();
5740-
break;
5741-
}
5742-
else {
5743-
result.name = parseQualifiedName(result.name);
5737+
if (token === SyntaxKind.LessThanToken) {
5738+
result.typeArguments = parseTypeArguments();
5739+
}
5740+
else {
5741+
while (parseOptional(SyntaxKind.DotToken)) {
5742+
if (token === SyntaxKind.LessThanToken) {
5743+
result.typeArguments = parseTypeArguments();
5744+
break;
5745+
}
5746+
else {
5747+
result.name = parseQualifiedName(result.name);
5748+
}
57445749
}
57455750
}
57465751

5752+
57475753
return finishNode(result);
57485754
}
57495755

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
///<reference path="fourslash.ts" />
2+
3+
// @allowNonTsExtensions: true
4+
// @Filename: Foo.js
5+
//// /** @type {Array<number>} */
6+
//// var v;
7+
//// v[0]./**/
8+
9+
goTo.marker();
10+
verify.memberListContains("toFixed", /*displayText:*/ undefined, /*documentation*/ undefined, "method");

0 commit comments

Comments
 (0)