Allow parsing TS-style generics in JSDoc

Fixes #6814
This commit is contained in:
Ryan Cavanaugh 2016-02-02 13:32:21 -08:00
parent 554ea1b57c
commit 6e06bb39a1
2 changed files with 23 additions and 7 deletions

View File

@ -5734,16 +5734,22 @@ namespace ts {
const result = <JSDocTypeReference>createNode(SyntaxKind.JSDocTypeReference);
result.name = parseSimplePropertyName();
while (parseOptional(SyntaxKind.DotToken)) {
if (token === SyntaxKind.LessThanToken) {
result.typeArguments = parseTypeArguments();
break;
}
else {
result.name = parseQualifiedName(result.name);
if (token === SyntaxKind.LessThanToken) {
result.typeArguments = parseTypeArguments();
}
else {
while (parseOptional(SyntaxKind.DotToken)) {
if (token === SyntaxKind.LessThanToken) {
result.typeArguments = parseTypeArguments();
break;
}
else {
result.name = parseQualifiedName(result.name);
}
}
}
return finishNode(result);
}

View File

@ -0,0 +1,10 @@
///<reference path="fourslash.ts" />
// @allowNonTsExtensions: true
// @Filename: Foo.js
//// /** @type {Array<number>} */
//// var v;
//// v[0]./**/
goTo.marker();
verify.memberListContains("toFixed", /*displayText:*/ undefined, /*documentation*/ undefined, "method");