Skip to content

Commit c586a11

Browse files
committed
fix #1155
1 parent 50688a8 commit c586a11

File tree

3 files changed

+27
-4
lines changed

3 files changed

+27
-4
lines changed

changelog.md

+1
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
* `FIX` [#1141](https://github.com/sumneko/lua-language-server/issues/1141)
1313
* `FIX` [#1144](https://github.com/sumneko/lua-language-server/issues/1144)
1414
* `FIX` [#1150](https://github.com/sumneko/lua-language-server/issues/1150)
15+
* `FIX` [#1155](https://github.com/sumneko/lua-language-server/issues/1155)
1516

1617
## 3.2.3
1718
`2022-5-16`

script/vm/ref.lua

+16-4
Original file line numberDiff line numberDiff line change
@@ -279,10 +279,22 @@ local function searchByDef(source, pushResult)
279279
defMap[source] = true
280280
return defMap
281281
end
282-
local defs = vm.getDefs(source)
283-
for _, def in ipairs(defs) do
284-
pushResult(def)
285-
defMap[def] = true
282+
if source.type == 'field'
283+
or source.type == 'method' then
284+
source = source.parent
285+
end
286+
defMap[source] = true
287+
if guide.isSet(source) then
288+
local defs = vm.getDefs(source)
289+
for _, def in ipairs(defs) do
290+
pushResult(def)
291+
end
292+
else
293+
local defs = vm.getDefs(source)
294+
for _, def in ipairs(defs) do
295+
pushResult(def)
296+
defMap[def] = true
297+
end
286298
end
287299
return defMap
288300
end

test/references/common.lua

+10
Original file line numberDiff line numberDiff line change
@@ -184,3 +184,13 @@ local <~t~>
184184
--b.<~x~> = 1
185185
--c.<!x!> = 1
186186
--]]
187+
188+
TEST [[
189+
---@class a
190+
local a = { }
191+
---@class b
192+
local b = { }
193+
194+
a.color = { 1, 1, 1 }
195+
b.<~color~> = a.color
196+
]]

0 commit comments

Comments
 (0)