diff --git a/src/compiler/parser.ts b/src/compiler/parser.ts index ea0ec323798bc..015c7d69f443b 100644 --- a/src/compiler/parser.ts +++ b/src/compiler/parser.ts @@ -864,13 +864,9 @@ namespace ts { } function addJSDocComment(node: T): T { - const comments = getJSDocCommentRanges(node, sourceFile.text); - if (comments) { - for (const comment of comments) { - node.jsDoc = append(node.jsDoc, JSDocParser.parseJSDocComment(node, comment.pos, comment.end - comment.pos)); - } - } - + Debug.assert(!node.jsDoc); // Should only be called once per node + const jsDoc = mapDefined(getJSDocCommentRanges(node, sourceFile.text), comment => JSDocParser.parseJSDocComment(node, comment.pos, comment.end - comment.pos)); + if (jsDoc.length) node.jsDoc = jsDoc; return node; }