summaryrefslogtreecommitdiff
path: root/script
diff options
context:
space:
mode:
author最萌小汐 <sumneko@hotmail.com>2023-03-08 21:32:39 +0800
committer最萌小汐 <sumneko@hotmail.com>2023-03-08 21:32:39 +0800
commitc6820ed9972fe26594c1661d3887fb1d9a6dda1e (patch)
tree8835a7e2f4c66ae80d33a4ab36e8e76617989a1e /script
parentdcfc5d24708643bc2e41f49f227580716a2103a2 (diff)
downloadlua-language-server-c6820ed9972fe26594c1661d3887fb1d9a6dda1e.zip
should check type of `self`
fix #1922
Diffstat (limited to 'script')
-rw-r--r--script/core/diagnostics/param-type-mismatch.lua6
1 files changed, 2 insertions, 4 deletions
diff --git a/script/core/diagnostics/param-type-mismatch.lua b/script/core/diagnostics/param-type-mismatch.lua
index 607d4b0e..da39c5e1 100644
--- a/script/core/diagnostics/param-type-mismatch.lua
+++ b/script/core/diagnostics/param-type-mismatch.lua
@@ -87,9 +87,6 @@ return function (uri, callback)
await.delay()
local funcNode = vm.compileNode(source.node)
for i, arg in ipairs(source.args) do
- if i == 1 and source.node.type == 'getmethod' then
- goto CONTINUE
- end
local refNode = vm.compileNode(arg)
if not refNode then
goto CONTINUE
@@ -99,7 +96,8 @@ return function (uri, callback)
goto CONTINUE
end
if arg.type == 'getfield'
- or arg.type == 'getindex' then
+ or arg.type == 'getindex'
+ or arg.type == 'self' then
-- 由于无法对字段进行类型收窄,
-- 因此将假值移除再进行检查
refNode = refNode:copy():setTruthy()