From ab2312df604f0a1767647ecd2a8c99f631030865 Mon Sep 17 00:00:00 2001 From: Oleksandr Tarasiuk Date: Thu, 3 Jul 2025 17:11:39 +0300 Subject: [PATCH] fix(1342): adjust node ranges to ignore trivia --- internal/ls/findallreferences.go | 2 +- internal/ls/findallreferences_test.go | 13 +++++++++++++ internal/ls/findallreferencesexport_test.go | 2 +- 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/internal/ls/findallreferences.go b/internal/ls/findallreferences.go index ff48544ba1..4b21242a80 100644 --- a/internal/ls/findallreferences.go +++ b/internal/ls/findallreferences.go @@ -419,7 +419,7 @@ func (l *LanguageService) convertSymbolAndEntryToLocation(s *SymbolAndEntries) [ for _, ref := range s.references { if ref.textRange == nil { sourceFile := ast.GetSourceFileOfNode(ref.node) - ref.textRange = l.createLspRangeFromNode(ref.node, ast.GetSourceFileOfNode(ref.node)) + ref.textRange = l.getRangeOfNode(ref.node, sourceFile, nil /*endNode*/) ref.fileName = sourceFile.FileName() } locations = append(locations, &lsproto.Location{ diff --git a/internal/ls/findallreferences_test.go b/internal/ls/findallreferences_test.go index 2041c65636..8220e6263c 100644 --- a/internal/ls/findallreferences_test.go +++ b/internal/ls/findallreferences_test.go @@ -241,6 +241,19 @@ class C extends [|/*3*/Base|] { }`, "3": collections.NewSetFromItems("2", "3"), }, }, + { + title: "findAllRefsTrivia", + input: `export interface A { + /** Comment */ + [|/*m1*/method|](): string; + /** Comment */ + [|/*m2*/method|](format: string): string; +}`, + expectedLocations: map[string]*collections.Set[string]{ + "m1": collections.NewSetFromItems("m1", "m2"), + "m2": collections.NewSetFromItems("m1", "m2"), + }, + }, } for _, testCase := range testCases { diff --git a/internal/ls/findallreferencesexport_test.go b/internal/ls/findallreferencesexport_test.go index 0077a3d7a6..9fe040197c 100644 --- a/internal/ls/findallreferencesexport_test.go +++ b/internal/ls/findallreferencesexport_test.go @@ -13,7 +13,7 @@ func (l *LanguageService) GetExpectedReferenceFromMarker(fileName string, pos in node := astnav.GetTouchingPropertyName(sourceFile, pos) return &lsproto.Location{ Uri: FileNameToDocumentURI(fileName), - Range: *l.createLspRangeFromNode(node, sourceFile), + Range: *l.getRangeOfNode(node, sourceFile, nil /*endNode*/), } }