diff options
author | 最萌小汐 <sumneko@hotmail.com> | 2018-12-21 18:32:56 +0800 |
---|---|---|
committer | 最萌小汐 <sumneko@hotmail.com> | 2018-12-21 18:32:56 +0800 |
commit | 8de0c9246ada8f823f6abb1edde38c5768af19fa (patch) | |
tree | b618420a970839dba69f0385d4695f97e0913387 /server/src | |
parent | 320680b3529d2d4be84c13ac5ca6d728c6c5621c (diff) | |
download | lua-language-server-8de0c9246ada8f823f6abb1edde38c5768af19fa.zip |
用一个专用函数实现,以免影响别人
Diffstat (limited to 'server/src')
-rw-r--r-- | server/src/matcher/vm.lua | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/server/src/matcher/vm.lua b/server/src/matcher/vm.lua index e7863e47..23a74c7f 100644 --- a/server/src/matcher/vm.lua +++ b/server/src/matcher/vm.lua @@ -38,6 +38,16 @@ end local mt = {} mt.__index = mt +function mt:createDummyVar(source, value) + local loc = { + type = 'local', + key = '', + source = source or DefaultSource, + } + self:setValue(loc, value, source) + return loc +end + function mt:createLocal(key, source, value) local loc = { type = 'local', @@ -784,11 +794,11 @@ function mt:getSimple(simple, mode) parentName = field.key elseif tp == 'string' or tp == 'number' or tp == 'nil' or tp == 'boolean' then local v = self:createValue(tp, simple[1], simple[1][1]) - field = self:createLocal('', simple[1], v) + field = self:createDummyVar(simple[1], v) parentName = '*' .. tp else local v = self:createValue('any', simple[1]) - field = self:createLocal('', simple[1], v) + field = self:createDummyVar(simple[1], v) parentName = '?' end local object |