summaryrefslogtreecommitdiff
path: root/script/vm
diff options
context:
space:
mode:
author最萌小汐 <sumneko@hotmail.com>2022-12-16 03:50:50 +0800
committer最萌小汐 <sumneko@hotmail.com>2022-12-16 03:50:50 +0800
commit7155b72aea44f631141ab84748e6052cb9da0838 (patch)
tree8a4c93fe76e47f6a1a7f9785a1ca5fb33edb4994 /script/vm
parent664a5c78ade155d99543c94d3f63b98b4d0df82d (diff)
downloadlua-language-server-7155b72aea44f631141ab84748e6052cb9da0838.zip
fix
Diffstat (limited to 'script/vm')
-rw-r--r--script/vm/tracer.lua6
1 files changed, 3 insertions, 3 deletions
diff --git a/script/vm/tracer.lua b/script/vm/tracer.lua
index cbd7d855..f8d99800 100644
--- a/script/vm/tracer.lua
+++ b/script/vm/tracer.lua
@@ -454,13 +454,13 @@ end
function mt:lookIntoBlock(block, start, node)
self:resetCastsIndex(start)
for _, action in ipairs(block) do
- if action.start < start then
+ if (action.effect or action.start) < start then
goto CONTINUE
end
if self.careMap[action] then
node = self:lookIntoChild(action, node)
end
- if self.assignMap[action] then
+ if action.finish > start and self.assignMap[action] then
break
end
::CONTINUE::
@@ -472,7 +472,7 @@ function mt:calcNode(source)
if source.type == 'getlocal' then
local lastAssign = self:getLastAssign(0, source.start)
if not lastAssign then
- return
+ lastAssign = source.node
end
self:calcNode(lastAssign)
return