diff options
author | 最萌小汐 <sumneko@hotmail.com> | 2019-10-22 21:00:24 +0800 |
---|---|---|
committer | 最萌小汐 <sumneko@hotmail.com> | 2019-10-22 21:00:24 +0800 |
commit | 863f1fc0350fff0d7b7e2a376d82ccaaf301f4ce (patch) | |
tree | e5da7c758612ccf574f0dfc563690306550a1d36 /server-beta/src/seacher/number.lua | |
parent | 1f0a645cddeae4caba21c655651d97b5313d2302 (diff) | |
download | lua-language-server-863f1fc0350fff0d7b7e2a376d82ccaaf301f4ce.zip |
整理代码
Diffstat (limited to 'server-beta/src/seacher/number.lua')
-rw-r--r-- | server-beta/src/seacher/number.lua | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/server-beta/src/seacher/number.lua b/server-beta/src/seacher/number.lua new file mode 100644 index 00000000..3f36ee59 --- /dev/null +++ b/server-beta/src/seacher/number.lua @@ -0,0 +1,43 @@ +local guide = require 'parser.guide' + +local m = {} + +function m:eachDef(source, callback) + local parent = source.parent + if not parent then + return + end + if parent.type ~= 'setindex' and parent.type ~= 'getindex' then + return + end + local node = parent.node + local key = guide.getKeyName(source) + self:eachField(node, key, function (src, mode) + if mode == 'set' then + callback(src, mode) + end + end) +end + +function m:eachRef(source, callback) + local parent = source.parent + if not parent then + return + end + if parent.type ~= 'setindex' and parent.type ~= 'getindex' then + return + end + local node = parent.node + local key = guide.getKeyName(source) + self:eachField(node, key, function (src, mode) + if mode == 'set' or mode == 'get' then + callback(src, mode) + end + end) +end + +function m:eachValue(source, callback) + callback(source) +end + +return m |