diff options
Diffstat (limited to 'script-beta/parser/guide.lua')
-rw-r--r-- | script-beta/parser/guide.lua | 31 |
1 files changed, 21 insertions, 10 deletions
diff --git a/script-beta/parser/guide.lua b/script-beta/parser/guide.lua index 88c81414..2a930c79 100644 --- a/script-beta/parser/guide.lua +++ b/script-beta/parser/guide.lua @@ -1217,16 +1217,27 @@ function m.checkSameSimpleInCall(status, ref, start, queue, mode) if not func then return end - local objs = status.interface.call(func, args, index, mode) - if objs then - for _, obj in ipairs(objs) do - queue[#queue+1] = { - obj = obj, - start = start, - force = true, - call = true, - } - end + local objs = status.interface.call(func, args, index) + if not objs then + return + end + local newStatus = m.status(status) + for _, obj in ipairs(objs) do + m.searchRefs(newStatus, obj, 'ref') + queue[#queue+1] = { + obj = obj, + start = start, + force = true, + call = true, + } + end + for _, obj in ipairs(newStatus.results) do + queue[#queue+1] = { + obj = obj, + start = start, + force = true, + call = true, + } end end |