diff options
Diffstat (limited to 'server/src')
-rw-r--r-- | server/src/core/document_symbol.lua | 6 | ||||
-rw-r--r-- | server/src/vm/vm.lua | 4 |
2 files changed, 3 insertions, 7 deletions
diff --git a/server/src/core/document_symbol.lua b/server/src/core/document_symbol.lua index 39257ba3..ac81277c 100644 --- a/server/src/core/document_symbol.lua +++ b/server/src/core/document_symbol.lua @@ -228,9 +228,6 @@ local function packChild(symbols, finish, kind) t = {} end t[#t+1] = symbol - if coroutine.isyieldable() then - coroutine.yield() - end end return t end @@ -252,9 +249,6 @@ return function (vm) buildSource(vm, source, used, function (data) symbols[#symbols+1] = data end) - if coroutine.isyieldable() then - coroutine.yield() - end end local packedSymbols = packSymbols(symbols) diff --git a/server/src/vm/vm.lua b/server/src/vm/vm.lua index 0c952765..2a81372b 100644 --- a/server/src/vm/vm.lua +++ b/server/src/vm/vm.lua @@ -911,6 +911,7 @@ function mt:doFunction(action) self:instantSource(action) local name = action.name if name then + self:instantSource(name) if name.type == 'simple' then local parent = self:getSimple(name, -2) if name[#name-1].type == ':' then @@ -969,8 +970,9 @@ function mt:doLocalFunction(action) self:instantSource(action) local name = action.name if name then + self:instantSource(name) if name.type == 'simple' then - self:buildFunction(action) + self:doFunction(action) else local loc = self:createLocal(name[1], name) local func = self:buildFunction(action) |