diff options
author | 最萌小汐 <sumneko@hotmail.com> | 2022-09-07 20:59:41 +0800 |
---|---|---|
committer | 最萌小汐 <sumneko@hotmail.com> | 2022-09-07 20:59:41 +0800 |
commit | 22fde127dbc02ce329fdd2141af19b1729c368de (patch) | |
tree | f64ada1523704e370d343efa1358d5f89968031f | |
parent | bae4d2e8e68127b017dc09f3019ab9ba886430dc (diff) | |
download | lua-language-server-22fde127dbc02ce329fdd2141af19b1729c368de.zip |
fix
-rw-r--r-- | script/vm/compiler.lua | 6 | ||||
-rw-r--r-- | test/definition/luadoc.lua | 10 |
2 files changed, 15 insertions, 1 deletions
diff --git a/script/vm/compiler.lua b/script/vm/compiler.lua index 1efe8abb..b0694a4b 100644 --- a/script/vm/compiler.lua +++ b/script/vm/compiler.lua @@ -375,7 +375,11 @@ function vm.getClassFields(suri, object, key, ref, pushResult) if not searchedFields[fieldKey] and guide.isSet(field) and field.value then - if guide.isLiteral(field.value) then + if vm.getLocalID(field) + and vm.getLocalID(field) == vm.getLocalID(field.value) then + elseif src._globalNode + and src._globalNode == field.value._globalNode then + else hasFounded[fieldKey] = true end pushResult(field, true) diff --git a/test/definition/luadoc.lua b/test/definition/luadoc.lua index afa53227..2da10f93 100644 --- a/test/definition/luadoc.lua +++ b/test/definition/luadoc.lua @@ -922,4 +922,14 @@ f { } ]] +TEST [[ +---@class A +local a +a.__index = a + +---@class B: A +local <!b!> +b.<!<?__index?>!> = b +]] + config.set(nil, 'Lua.type.castNumberToInteger', true) |