Skip to content

Commit 6eff055

Browse files
iisaduanCopilot
andauthored
autoimports nil dereference crash fix (#1665)
Co-authored-by: Copilot <[email protected]>
1 parent cd1737d commit 6eff055

File tree

3 files changed

+5
-5
lines changed

3 files changed

+5
-5
lines changed

internal/fourslash/_scripts/failingTests.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,6 @@ TestDoubleUnderscoreCompletions
167167
TestEditJsdocType
168168
TestExportDefaultClass
169169
TestExportDefaultFunction
170-
TestExportEqualNamespaceClassESModuleInterop
171170
TestFindAllReferencesDynamicImport1
172171
TestFindAllReferencesTripleSlash
173172
TestFindAllReferencesUmdModuleAsGlobalConst

internal/fourslash/tests/gen/exportEqualNamespaceClassESModuleInterop_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import (
1010

1111
func TestExportEqualNamespaceClassESModuleInterop(t *testing.T) {
1212
t.Parallel()
13-
t.Skip()
13+
1414
defer testutil.RecoverAndFail(t, "Panic on fourslash test")
1515
const content = `// @esModuleInterop: true
1616
// @moduleResolution: node

internal/ls/autoimports.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -859,13 +859,14 @@ func tryUseExistingNamespaceImport(existingImports []*FixAddToExistingImportInfo
859859
declaration := existingImport.declaration
860860
switch declaration.Kind {
861861
case ast.KindVariableDeclaration, ast.KindImportEqualsDeclaration:
862-
if declaration.Kind == ast.KindVariableDeclaration && declaration.Name().Kind != ast.KindIdentifier {
862+
name := declaration.Name()
863+
if declaration.Kind == ast.KindVariableDeclaration && (name == nil || name.Kind != ast.KindIdentifier) {
863864
continue
864865
}
865-
namespacePrefix = declaration.Name().Text()
866+
namespacePrefix = name.Text()
866867
case ast.KindJSDocImportTag, ast.KindImportDeclaration:
867868
importClause := ast.GetImportClauseOfDeclaration(declaration)
868-
if importClause == nil || importClause.NamedBindings.Kind != ast.KindNamespaceImport {
869+
if importClause == nil || importClause.NamedBindings == nil || importClause.NamedBindings.Kind != ast.KindNamespaceImport {
869870
continue
870871
}
871872
namespacePrefix = importClause.NamedBindings.Name().Text()

0 commit comments

Comments
 (0)