Skip to content

Inlay hints crash with element access name #2300

@DanielRosenwasser

Description

@DanielRosenwasser
let thing = {
	[Symbol["dispose"]]() {},
};
2025-12-09 01:42:51.353 [error] panic handling requesttextDocument/inlayHintDebug failure. Unexpected node.
Node KindPropertyAccessExpression was unexpected.goroutine 1976 [running]:
runtime/debug.Stack()
	runtime/debug/stack.go:26 +0x64
github.com/microsoft/typescript-go/internal/lsp.(*Server).recover(0x40001a0008, 0x400e67d590)
	github.com/microsoft/typescript-go/internal/lsp/server.go:872 +0x40
panic({0x7ff73fca5480?, 0x400e33c3d0?})
	runtime/panic.go:783 +0x120
github.com/microsoft/typescript-go/internal/debug.Fail(...)
	github.com/microsoft/typescript-go/internal/debug/shared.go:14
github.com/microsoft/typescript-go/internal/debug.FailBadSyntaxKind({0x7ff740180560?, 0x400b888dc0?}, {0x0?, 0x7ff73f6219ac?, 0x40037a95b8?})
	github.com/microsoft/typescript-go/internal/debug/shared.go:24 +0xd4
github.com/microsoft/typescript-go/internal/ls.(*inlayHintState).getInlayHintLabelParts.func1(0x400b888dc0)
	github.com/microsoft/typescript-go/internal/ls/inlay_hints.go:724 +0x2f60
github.com/microsoft/typescript-go/internal/ls.(*inlayHintState).getInlayHintLabelParts.func1(0x400e3420c0)
	github.com/microsoft/typescript-go/internal/ls/inlay_hints.go:721 +0x26e4
github.com/microsoft/typescript-go/internal/ls.(*inlayHintState).getInlayHintLabelParts.func1(0x400352a120)
	github.com/microsoft/typescript-go/internal/ls/inlay_hints.go:658 +0x3184
github.com/microsoft/typescript-go/internal/ls.(*inlayHintState).getInlayHintLabelParts.func2({0x400dc91338, 0x1, 0x40037a9976?}, {0x7ff73fedc37c, 0x2})
	github.com/microsoft/typescript-go/internal/ls/inlay_hints.go:733 +0x4c
github.com/microsoft/typescript-go/internal/ls.(*inlayHintState).getInlayHintLabelParts.func1(0x400e340c60)
	github.com/microsoft/typescript-go/internal/ls/inlay_hints.go:518 +0x4784
github.com/microsoft/typescript-go/internal/ls.(*inlayHintState).getInlayHintLabelParts(0x4007623b18?, 0x400e61de00?)
	github.com/microsoft/typescript-go/internal/ls/inlay_hints.go:748 +0x90
github.com/microsoft/typescript-go/internal/ls.(*inlayHintState).typeToInlayHintParts(0x400e339680, 0x400de31860?)
	github.com/microsoft/typescript-go/internal/ls/inlay_hints.go:316 +0x50
github.com/microsoft/typescript-go/internal/ls.(*inlayHintState).visitVariableLikeDeclaration(0x400e339680, 0x400de31860)
	github.com/microsoft/typescript-go/internal/ls/inlay_hints.go:236 +0x13c
github.com/microsoft/typescript-go/internal/ls.(*inlayHintState).visit(0x400e339680, 0x400de31860)
	github.com/microsoft/typescript-go/internal/ls/inlay_hints.go:86 +0x1c0
github.com/microsoft/typescript-go/internal/ast.visitNodes(...)
	github.com/microsoft/typescript-go/internal/ast/ast.go:28
github.com/microsoft/typescript-go/internal/ast.visitNodeList(...)
	github.com/microsoft/typescript-go/internal/ast/ast.go:37
github.com/microsoft/typescript-go/internal/ast.(*VariableDeclarationList).ForEachChild(0x40052d4008?, 0x400e33c330)
	github.com/microsoft/typescript-go/internal/ast/ast.go:3826 +0x74
github.com/microsoft/typescript-go/internal/ast.(*Node).ForEachChild(...)
	github.com/microsoft/typescript-go/internal/ast/ast.go:242
github.com/microsoft/typescript-go/internal/ls.(*inlayHintState).visit(0x400e339680, 0x400d851b00)
	github.com/microsoft/typescript-go/internal/ls/inlay_hints.go:104 +0x390
github.com/microsoft/typescript-go/internal/ast.visit(...)
	github.com/microsoft/typescript-go/internal/ast/ast.go:21
github.com/microsoft/typescript-go/internal/ast.(*VariableStatement).ForEachChild(0x40052d4008?, 0x400e33c310?)
	github.com/microsoft/typescript-go/internal/ast/ast.go:3722 +0x68
github.com/microsoft/typescript-go/internal/ast.(*Node).ForEachChild(...)
	github.com/microsoft/typescript-go/internal/ast/ast.go:242
github.com/microsoft/typescript-go/internal/ls.(*inlayHintState).visit(0x400e339680, 0x400d8999a0)
	github.com/microsoft/typescript-go/internal/ls/inlay_hints.go:104 +0x390
github.com/microsoft/typescript-go/internal/ast.visitNodes(...)
	github.com/microsoft/typescript-go/internal/ast/ast.go:28
github.com/microsoft/typescript-go/internal/ast.visitNodeList(...)
	github.com/microsoft/typescript-go/internal/ast/ast.go:37
github.com/microsoft/typescript-go/internal/ast.(*SourceFile).ForEachChild(0x400da34608, 0x400e33c310)
	github.com/microsoft/typescript-go/internal/ast/ast.go:10862 +0xa4
github.com/microsoft/typescript-go/internal/ast.(*Node).ForEachChild(...)
	github.com/microsoft/typescript-go/internal/ast/ast.go:242
github.com/microsoft/typescript-go/internal/ls.(*inlayHintState).visit(0x400e339680, 0x400da34608)
	github.com/microsoft/typescript-go/internal/ls/inlay_hints.go:104 +0x390
github.com/microsoft/typescript-go/internal/ls.(*LanguageService).ProvideInlayHint(0x400e352570, {0x7ff7401842c8, 0x400e352510}, 0x400e67d560)
	github.com/microsoft/typescript-go/internal/ls/inlay_hints.go:48 +0x2a4
github.com/microsoft/typescript-go/internal/lsp.(*Server).handleInlayHint(0x4007623ee8?, {0x7ff7401842c8?, 0x400e352510?}, 0x400b79c2c0?, 0x4007623ea8?)
	github.com/microsoft/typescript-go/internal/lsp/server.go:1334 +0x2c
github.com/microsoft/typescript-go/internal/lsp.init.func1.registerLanguageServiceDocumentRequestHandler[...].25({0x7ff7401842c8, 0x400e352510}, 0x400e67d590)
	github.com/microsoft/typescript-go/internal/lsp/server.go:621 +0xe0
github.com/microsoft/typescript-go/internal/lsp.(*Server).handleRequestOrNotification(0x40001a0008, {0x7ff740184300?, 0x400dcff310?}, 0x400e67d590)
	github.com/microsoft/typescript-go/internal/lsp/server.go:502 +0x128
github.com/microsoft/typescript-go/internal/lsp.(*Server).dispatchLoop.func1()
	github.com/microsoft/typescript-go/internal/lsp/server.go:405 +0x34
created by github.com/microsoft/typescript-go/internal/lsp.(*Server).dispatchLoop in goroutine 10
	github.com/microsoft/typescript-go/internal/lsp/server.go:425 +0x7a0

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions