diff options
author | uhziel <uhziel@gmail.com> | 2020-12-15 10:58:36 +0800 |
---|---|---|
committer | uhziel <uhziel@gmail.com> | 2020-12-15 10:58:36 +0800 |
commit | e7df5a89d015dacd613cc9cdeb7539386884a3eb (patch) | |
tree | 737eedc6c6fc48c70b26a9ebf371cd23fc0faffd /script/core | |
parent | f05b8a9b522989e83f28ce0511d5468d7300b40d (diff) | |
download | lua-language-server-e7df5a89d015dacd613cc9cdeb7539386884a3eb.zip |
优化发现的细节问题,vm.getField() 改为带deep=0,不然会出现误报
Diffstat (limited to 'script/core')
-rw-r--r-- | script/core/diagnostics/undefined-field.lua | 5 |
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 |