diff options
Diffstat (limited to 'server/src')
-rw-r--r-- | server/src/core/references.lua | 10 | ||||
-rw-r--r-- | server/src/vm/value.lua | 3 |
2 files changed, 13 insertions, 0 deletions
diff --git a/server/src/core/references.lua b/server/src/core/references.lua index dfd26575..4bd26b07 100644 --- a/server/src/core/references.lua +++ b/server/src/core/references.lua @@ -24,6 +24,16 @@ local function parseResult(vm, source, declarat, callback) end) return end + if source:bindFunction() then + if declarat then + callback(source:bindFunction():getSource()) + end + source:bindFunction():eachInfo(function (info, src) + if (declarat and (info.type == 'set' or info.type == 'local')) or info.type == 'get' then + callback(src) + end + end) + end if source:bindValue() then source:bindValue():eachInfo(function (info, src) if (declarat and (info.type == 'set' or info.type == 'local')) or info.type == 'get' then diff --git a/server/src/vm/value.lua b/server/src/vm/value.lua index 4cbc47f9..c0f55b9d 100644 --- a/server/src/vm/value.lua +++ b/server/src/vm/value.lua @@ -315,6 +315,9 @@ function mt:addInfo(tp, source, ...) if not id then error('Not instanted source') end + if not tp then + error('Miss info type') + end if self._info[id] then return end |