summaryrefslogtreecommitdiff
path: root/script/core
diff options
context:
space:
mode:
authoruhziel <uhziel@gmail.com>2020-12-15 10:58:36 +0800
committeruhziel <uhziel@gmail.com>2020-12-15 10:58:36 +0800
commite7df5a89d015dacd613cc9cdeb7539386884a3eb (patch)
tree737eedc6c6fc48c70b26a9ebf371cd23fc0faffd /script/core
parentf05b8a9b522989e83f28ce0511d5468d7300b40d (diff)
downloadlua-language-server-e7df5a89d015dacd613cc9cdeb7539386884a3eb.zip
优化发现的细节问题,vm.getField() 改为带deep=0,不然会出现误报
Diffstat (limited to 'script/core')
-rw-r--r--script/core/diagnostics/undefined-field.lua5
1 files changed, 2 insertions, 3 deletions
diff --git a/script/core/diagnostics/undefined-field.lua b/script/core/diagnostics/undefined-field.lua
index d01375dd..1b15203c 100644
--- a/script/core/diagnostics/undefined-field.lua
+++ b/script/core/diagnostics/undefined-field.lua
@@ -29,7 +29,7 @@ return function (uri, callback)
local allDocClass = {}
for i = 1, #infers do
local infer = infers[i]
- if infer.type ~= '_G' then
+ if infer.type ~= '_G' and infer.type ~= 'any' then
local inferSource = infer.source
if inferSource.type == 'doc.class' then
addTo(allDocClass, inferSource)
@@ -49,12 +49,11 @@ return function (uri, callback)
return allDocClass
end
- ---@param allDocClass table int
local function getAllFieldsFromAllDocClass(allDocClass)
local fields = {}
local empty = true
for _, docClass in ipairs(allDocClass) do
- local refs = vm.getFields(docClass)
+ local refs = vm.getFields(docClass, 0)
for _, ref in ipairs(refs) do
if ref.type == 'getfield' or ref.type == 'getmethod' then