summaryrefslogtreecommitdiff
path: root/server/src
diff options
context:
space:
mode:
author最萌小汐 <sumneko@hotmail.com>2019-02-26 17:03:58 +0800
committer最萌小汐 <sumneko@hotmail.com>2019-02-26 17:03:58 +0800
commit18694a6c3453206c453c41c0da0bcf4e4d62c8f7 (patch)
treeb458507851eb781c4fd4ad484a12f9fb9ec8a657 /server/src
parenta7d4e8df1ec6a560a5bbf3a3917b6e89c8cc9c92 (diff)
downloadlua-language-server-18694a6c3453206c453c41c0da0bcf4e4d62c8f7.zip
函数设置到最后一个source上
Diffstat (limited to 'server/src')
-rw-r--r--server/src/vm/vm.lua11
1 files changed, 8 insertions, 3 deletions
diff --git a/server/src/vm/vm.lua b/server/src/vm/vm.lua
index 32bc3bc2..d8905538 100644
--- a/server/src/vm/vm.lua
+++ b/server/src/vm/vm.lua
@@ -854,8 +854,10 @@ function mt:doFunction(action)
local parent = self:getSimple(name, -2)
if name[#name-1].type == ':' then
local value = self:buildFunction(action)
- local index = self:getIndex(name[#name])
+ local source = name[#name]
+ local index = self:getIndex(source)
parent:setChild(index, value)
+ source:bindValue(value, 'set')
local func = value:getFunction()
if #name == 3 then
@@ -871,12 +873,15 @@ function mt:doFunction(action)
end
else
local value = self:buildFunction(action)
- local index = self:getIndex(name[#name])
+ local source = name[#name]
+ local index = self:getIndex(source)
parent:setChild(index, value)
+ source:bindValue(value, 'set')
end
else
local value = self:buildFunction(action)
- self:setName(name[1], action, value)
+ self:setName(name[1], name, value)
+ name:bindValue(value, 'set')
end
else
self:buildFunction(action)