Skip to content

Completions in object type argument fails in JSDoc comment #51054

Description

This one is similar to #50750.

Found from #50950 (comment), and the actual code is here.

In a TypeScript file:

interfaceYadda<T>{}/** * @type {Yadda<{ $ }>} */

Request completions at $.

TypeError: Cannot read properties of undefined (reading 'flags')
at getMembersOfSymbol (c:/Users/Daniel/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-4.9.20220919/node_modules/typescript/lib/tsserver.js:58932:27)
at getTypeFromTypeLiteralOrFunctionOrConstructorTypeNode (c:/Users/Daniel/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-4.9.20220919/node_modules/typescript/lib/tsserver.js:63962:21)
at getTypeFromTypeNodeWorker (c:/Users/Daniel/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-4.9.20220919/node_modules/typescript/lib/tsserver.js:64357:28)
at getTypeFromTypeNode (c:/Users/Daniel/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-4.9.20220919/node_modules/typescript/lib/tsserver.js:64281:49)
at Object.map (c:/Users/Daniel/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-4.9.20220919/node_modules/typescript/lib/tsserver.js:460:29)
at typeArgumentsFromTypeReferenceNode (c:/Users/Daniel/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-4.9.20220919/node_modules/typescript/lib/tsserver.js:61704:23)
at getTypeFromClassOrInterfaceReference (c:/Users/Daniel/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-4.9.20220919/node_modules/typescript/lib/tsserver.js:61387:103)
at getTypeReferenceType (c:/Users/Daniel/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-4.9.20220919/node_modules/typescript/lib/tsserver.js:61503:24)
at getTypeFromTypeReference (c:/Users/Daniel/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-4.9.20220919/node_modules/typescript/lib/tsserver.js:61689:32)
at getTypeParametersForTypeReference (c:/Users/Daniel/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-4.9.20220919/node_modules/typescript/lib/tsserver.js:82079:24)
at getTypeArgumentConstraint (c:/Users/Daniel/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-4.9.20220919/node_modules/typescript/lib/tsserver.js:82120:34)
at Object.getTypeArgumentConstraint (c:/Users/Daniel/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-4.9.20220919/node_modules/typescript/lib/tsserver.js:49503:32)
at getConstraintOfTypeArgumentProperty (c:/Users/Daniel/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-4.9.20220919/node_modules/typescript/lib/tsserver.js:138015:32)
at tryGetObjectTypeLiteralInTypeArgumentCompletionSymbols (c:/Users/Daniel/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-4.9.20220919/node_modules/typescript/lib/tsserver.js:136991:45)
at tryGetGlobalSymbols (c:/Users/Daniel/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-4.9.20220919/node_modules/typescript/lib/tsserver.js:136537:30)
at getCompletionData (c:/Users/Daniel/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-4.9.20220919/node_modules/typescript/lib/tsserver.js:136289:22)
at Object.getCompletionsAtPosition (c:/Users/Daniel/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-4.9.20220919/node_modules/typescript/lib/tsserver.js:134871:34)
at Object.getCompletionsAtPosition (c:/Users/Daniel/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-4.9.20220919/node_modules/typescript/lib/tsserver.js:168444:35)
at Session.getCompletions (c:/Users/Daniel/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-4.9.20220919/node_modules/typescript/lib/tsserver.js:180576:64)
at Session.handlers.ts.Map.ts.getEntries._a.<computed> (c:/Users/Daniel/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-4.9.20220919/node_modules/typescript/lib/tsserver.js:179249:61)
at c:/Users/Daniel/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-4.9.20220919/node_modules/typescript/lib/tsserver.js:181309:96
at Session.executeWithRequestId (c:/Users/Daniel/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-4.9.20220919/node_modules/typescript/lib/tsserver.js:181300:28)
at Session.executeCommand (c:/Users/Daniel/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-4.9.20220919/node_modules/typescript/lib/tsserver.js:181309:41)
at Session.onMessage (c:/Users/Daniel/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-4.9.20220919/node_modules/typescript/lib/tsserver.js:181337:35)
at process.<anonymous> (c:/Users/Daniel/.vscode-insiders/extensions/ms-vscode.vscode-typescript-next-4.9.20220919/node_modules/typescript/lib/tsserver.js:185489:31)
at process.emit (node:events:526:28)
at emit (node:internal/child_process:938:14)
at process.processTicksAndRejections (node:internal/process/task_queues:84:21)

Metadata

Metadata

Assignees

No one assigned

    Labels

    7.0 LS MigrationBugA bug in TypeScriptCrawler-DetectedDetected by a crawler running random TSServer operations on public code.Domain: LS: Completion ListsThe issue relates to showing completion lists in an editorEffort: ModerateRequires experience with the TypeScript codebase, but feasible. Harder than "Effort: Casual".Help WantedYou can do this

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions