diff --git a/src/compiler/parser.ts b/src/compiler/parser.ts index 2840ef1aee6..041d34979ca 100644 --- a/src/compiler/parser.ts +++ b/src/compiler/parser.ts @@ -5765,16 +5765,22 @@ namespace ts { const result = 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); }