Skip to content

Commit 71accec

Browse files
authored
fix(1650): [lsp] panic when hovering error in catch(error) (#1651)
1 parent 0a3c816 commit 71accec

File tree

2 files changed

+19
-1
lines changed

2 files changed

+19
-1
lines changed
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
package fourslash_test
2+
3+
import (
4+
"testing"
5+
6+
"github.com/microsoft/typescript-go/internal/fourslash"
7+
"github.com/microsoft/typescript-go/internal/testutil"
8+
)
9+
10+
func TestQuickCatchInfo(t *testing.T) {
11+
t.Parallel()
12+
13+
defer testutil.RecoverAndFail(t, "Panic on fourslash test")
14+
const content = `try {} catch(/*1*/error) {}`
15+
16+
f := fourslash.NewFourslash(t, nil /*capabilities*/, content)
17+
f.VerifyQuickInfoAt(t, "1", "var error: any", "")
18+
}

internal/ls/hover.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -355,7 +355,7 @@ func getJSDocOrTag(node *ast.Node) *ast.Node {
355355
return getMatchingJSDocTag(node.Parent, node.Name().Text(), isMatchingParameterTag)
356356
case ast.IsTypeParameterDeclaration(node):
357357
return getMatchingJSDocTag(node.Parent, node.Name().Text(), isMatchingTemplateTag)
358-
case ast.IsVariableDeclaration(node) && core.FirstOrNil(node.Parent.AsVariableDeclarationList().Declarations.Nodes) == node:
358+
case ast.IsVariableDeclaration(node) && ast.IsVariableDeclarationList(node.Parent) && core.FirstOrNil(node.Parent.AsVariableDeclarationList().Declarations.Nodes) == node:
359359
return getJSDocOrTag(node.Parent.Parent)
360360
case (ast.IsFunctionExpressionOrArrowFunction(node) || ast.IsClassExpression(node)) &&
361361
(ast.IsVariableDeclaration(node.Parent) || ast.IsPropertyDeclaration(node.Parent) || ast.IsPropertyAssignment(node.Parent)) && node.Parent.Initializer() == node:

0 commit comments

Comments
 (0)