Skip to content

Crash in inlayHints with JSDoc function type #47606

@DanielRosenwasser

Description

@DanielRosenwasser
/**
 * @param {function(string): boolean} f
 */
function doThing(f) {
    f(100)
}

Enable inlay parameter hints. You can do this in VS Code with

    "javascript.inlayHints.parameterNames.enabled": "all",
Response received: provideInlayHints (1893). Request took 5 ms. Success: false . Message: Error processing request. Cannot read property 'kind' of undefined
TypeError: Cannot read property 'kind' of undefined
    at Object.isIdentifier ([USERDIR]\.vscode-insiders\extensions\ms-vscode.vscode-typescript-next-4.6.20220124\node_modules\typescript\lib\tsserver.js:27858:21)
    at isParameterDeclarationWithIdentifierName ([USERDIR]\.vscode-insiders\extensions\ms-vscode.vscode-typescript-next-4.6.20220124\node_modules\typescript\lib\tsserver.js:75675:93)
    at Object.getParameterIdentifierNameAtPosition ([USERDIR]\.vscode-insiders\extensions\ms-vscode.vscode-typescript-next-4.6.20220124\node_modules\typescript\lib\tsserver.js:75652:24)
    at visitCallOrNewExpression ([USERDIR]\.vscode-insiders\extensions\ms-vscode.vscode-typescript-next-4.6.20220124\node_modules\typescript\lib\tsserver.js:140704:54)
    at visitor ([USERDIR]\.vscode-insiders\extensions\ms-vscode.vscode-typescript-next-4.6.20220124\node_modules\typescript\lib\tsserver.js:140620:21)
    at visitNode ([USERDIR]\.vscode-insiders\extensions\ms-vscode.vscode-typescript-next-4.6.20220124\node_modules\typescript\lib\tsserver.js:29754:24)
    at Object.forEachChild ([USERDIR]\.vscode-insiders\extensions\ms-vscode.vscode-typescript-next-4.6.20220124\node_modules\typescript\lib\tsserver.js:30016:24)
    at visitor ([USERDIR]\.vscode-insiders\extensions\ms-vscode.vscode-typescript-next-4.6.20220124\node_modules\typescript\lib\tsserver.js:140630:27)
    at visitNodes ([USERDIR]\.vscode-insiders\extensions\ms-vscode.vscode-typescript-next-4.6.20220124\node_modules\typescript\lib\tsserver.js:29763:30)
    at Object.forEachChild ([USERDIR]\.vscode-insiders\extensions\ms-vscode.vscode-typescript-next-4.6.20220124\node_modules\typescript\lib\tsserver.js:30005:24)
    at visitor ([USERDIR]\.vscode-insiders\extensions\ms-vscode.vscode-typescript-next-4.6.20220124\node_modules\typescript\lib\tsserver.js:140630:27)
    at visitNode ([USERDIR]\.vscode-insiders\extensions\ms-vscode.vscode-typescript-next-4.6.20220124\node_modules\typescript\lib\tsserver.js:29754:24)
    at Object.forEachChild ([USERDIR]\.vscode-insiders\extensions\ms-vscode.vscode-typescript-next-4.6.20220124\node_modules\typescript\lib\tsserver.js:29884:21)
    at visitor ([USERDIR]\.vscode-insiders\extensions\ms-vscode.vscode-typescript-next-4.6.20220124\node_modules\typescript\lib\tsserver.js:140630:27)
    at visitNodes ([USERDIR]\.vscode-insiders\extensions\ms-vscode.vscode-typescript-next-4.6.20220124\node_modules\typescript\lib\tsserver.js:29763:30)
    at Object.forEachChild ([USERDIR]\.vscode-insiders\extensions\ms-vscode.vscode-typescript-next-4.6.20220124\node_modules\typescript\lib\tsserver.js:30007:24)
    at visitor ([USERDIR]\.vscode-insiders\extensions\ms-vscode.vscode-typescript-next-4.6.20220124\node_modules\typescript\lib\tsserver.js:140630:27)
    at Object.provideInlayHints ([USERDIR]\.vscode-insiders\extensions\ms-vscode.vscode-typescript-next-4.6.20220124\node_modules\typescript\lib\tsserver.js:140587:13)
    at Object.provideInlayHints ([USERDIR]\.vscode-insiders\extensions\ms-vscode.vscode-typescript-next-4.6.20220124\node_modules\typescript\lib\tsserver.js:161833:34)
    at IOSession.Session.provideInlayHints ([USERDIR]\.vscode-insiders\extensions\ms-vscode.vscode-typescript-next-4.6.20220124\node_modules\typescript\lib\tsserver.js:172231:58)
    at Session.handlers.ts.Map.ts.getEntries._a.<computed> ([USERDIR]\.vscode-insiders\extensions\ms-vscode.vscode-typescript-next-4.6.20220124\node_modules\typescript\lib\tsserver.js:171613:61)
    at [USERDIR]\.vscode-insiders\extensions\ms-vscode.vscode-typescript-next-4.6.20220124\node_modules\typescript\lib\tsserver.js:173210:88
    at IOSession.Session.executeWithRequestId ([USERDIR]\.vscode-insiders\extensions\ms-vscode.vscode-typescript-next-4.6.20220124\node_modules\typescript\lib\tsserver.js:173201:28)
    at IOSession.Session.executeCommand ([USERDIR]\.vscode-insiders\extensions\ms-vscode.vscode-typescript-next-4.6.20220124\node_modules\typescript\lib\tsserver.js:173210:33)
    at IOSession.Session.onMessage ([USERDIR]\.vscode-insiders\extensions\ms-vscode.vscode-typescript-next-4.6.20220124\node_modules\typescript\lib\tsserver.js:173236:35)
    at Interface.<anonymous> ([USERDIR]\.vscode-insiders\extensions\ms-vscode.vscode-typescript-next-4.6.20220124\node_modules\typescript\lib\tsserver.js:175841:31)
    at Interface.emit (events.js:315:20)
    at Interface._onLine (readline.js:337:10)
    at Interface._normalWrite (readline.js:482:12)
    at Socket.ondata (readline.js:194:10)
    at Socket.emit (events.js:315:20)
    at addChunk (internal/streams/readable.js:309:12)
    at readableAddChunk (internal/streams/readable.js:284:9)
    at Socket.Readable.push (internal/streams/readable.js:223:10)
    at Pipe.onStreamRead (internal/stream_base_commons.js:188:23)

Metadata

Metadata

Assignees

Labels

BugA bug in TypeScriptCrashFor flagging bugs which are compiler or service crashes or unclean exits, rather than bad outputDomain: Inlay HintsDomain: JSDocRelates to JSDoc parsing and type generationEffort: CasualGood issue if you're already used to contributing to the codebase. Harder than "good first issue".Fix AvailableA PR has been opened for this issue

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions