diff --git a/src/compiler/binder.ts b/src/compiler/binder.ts index 4c3eac092b4..4e250aa4659 100644 --- a/src/compiler/binder.ts +++ b/src/compiler/binder.ts @@ -2456,13 +2456,23 @@ namespace ts { } else { for (const j of node.jsDoc!) { - setParent(j, node); - setParentRecursive(j, /*incremental*/ false); + setParentsAndBindAnonymousJSDocTypes(j); } } } } + function setParentsAndBindAnonymousJSDocTypes(node: Node) { + setParent(node, parent); + const saveParent = parent; + parent = node; + if (node.kind === SyntaxKind.TypeLiteral) { + bindWorker(node); + } + forEachChild(node, setParentsAndBindAnonymousJSDocTypes); + parent = saveParent; + } + function updateStrictModeStatementList(statements: NodeArray) { if (!inStrictMode) { for (const statement of statements) {