Skip to content

Signature help crash between type arguments and value arguments #1497

@DanielRosenwasser

Description

@DanielRosenwasser

Stack trace

panic handling request textDocument/signatureHelp runtime error: invalid memory address or nil pointer dereference goroutine 4628 [running]:
runtime/debug.Stack()
	runtime/debug/stack.go:26 +0x64
github.com/microsoft/typescript-go/internal/lsp.(*Server).dispatchLoop.func1.1()
	github.com/microsoft/typescript-go/internal/lsp/server.go:363 +0x54
panic({0x6567e0?, 0x100efa0?})
	runtime/panic.go:792 +0x124
github.com/microsoft/typescript-go/internal/ast.(*NodeList).Pos(...)
	github.com/microsoft/typescript-go/internal/ast/ast.go:182
github.com/microsoft/typescript-go/internal/ls.getImmediatelyContainingArgumentInfo(0x4000389cd8?, 0x5261e0?, 0x400f1c3088?, 0x400ae691d0?)
	github.com/microsoft/typescript-go/internal/ls/signaturehelp.go:655 +0x70
github.com/microsoft/typescript-go/internal/ls.getImmediatelyContainingArgumentOrContextualParameterInfo(0x400ae68fc0, 0x42, 0x400f1c3088, 0x4008233908)
	github.com/microsoft/typescript-go/internal/ls/signaturehelp.go:617 +0x58
github.com/microsoft/typescript-go/internal/ls.getContainingArgumentInfo(0x4009261500?, 0x400f1c3088, 0x4008233908, 0x1, 0x42)
	github.com/microsoft/typescript-go/internal/ls/signaturehelp.go:606 +0x74
github.com/microsoft/typescript-go/internal/ls.(*LanguageService).GetSignatureHelpItems(0x400ec43b78?, {0x976d50?, 0x400988d220?}, 0x42, 0x81a8a0?, 0x400f1c3088, 0x4007b19040, 0x40001a1788, 0x40089bee00?)
	github.com/microsoft/typescript-go/internal/ls/signaturehelp.go:86 +0x104
github.com/microsoft/typescript-go/internal/ls.(*LanguageService).ProvideSignatureHelp(0x400ec43b90, {0x976d50, 0x400988d220}, {0x4009f39b00?, 0x400ec43a58?}, {0x0?, 0x0?}, 0x4007b19040, 0x40001a1788, 0x4000389e58)
	github.com/microsoft/typescript-go/internal/ls/signaturehelp.go:47 +0x98
github.com/microsoft/typescript-go/internal/lsp.(*Server).handleSignatureHelp(0x40001cc000, {0x976d50, 0x400988d220}, 0x400a0484e0)
	github.com/microsoft/typescript-go/internal/lsp/server.go:711 +0xc0
github.com/microsoft/typescript-go/internal/lsp.init.func1.registerRequestHandler[...].17({0x976d50, 0x400988d220}, 0x400a048690)
	github.com/microsoft/typescript-go/internal/lsp/server.go:535 +0x68
github.com/microsoft/typescript-go/internal/lsp.(*Server).handleRequestOrNotification(0x40001cc000, {0x976d50, 0x400988d220}, 0x400a048690)
	github.com/microsoft/typescript-go/internal/lsp/server.go:471 +0x108
github.com/microsoft/typescript-go/internal/lsp.(*Server).dispatchLoop.func1()
	github.com/microsoft/typescript-go/internal/lsp/server.go:376 +0x70
created by github.com/microsoft/typescript-go/internal/lsp.(*Server).dispatchLoop in goroutine 36
	github.com/microsoft/typescript-go/internal/lsp/server.go:396 +0x4c4

Steps to reproduce

function foo<T, U>(x: string, y: T, z: U) {

}

foo<number,number>/**/("hello", 123,456)

Metadata

Metadata

Assignees

No one assigned

    Labels

    CrashDomain: EditorRelated to the LSP server, editor experience

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions