diff options
author | 最萌小汐 <sumneko@hotmail.com> | 2019-11-23 00:05:30 +0800 |
---|---|---|
committer | 最萌小汐 <sumneko@hotmail.com> | 2019-11-23 00:05:30 +0800 |
commit | 6da2b175e20ed3c03b0dfcfc9046de1e0e5d4444 (patch) | |
tree | fdc22d78150fd1c5edc46732c8b151ccfefb519f /script/emmy/typeUnit.lua | |
parent | d0ff66c9abe9d6abbca12fd811e0c3cb69c1033a (diff) | |
download | lua-language-server-6da2b175e20ed3c03b0dfcfc9046de1e0e5d4444.zip |
正路目录
Diffstat (limited to 'script/emmy/typeUnit.lua')
-rw-r--r-- | script/emmy/typeUnit.lua | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/script/emmy/typeUnit.lua b/script/emmy/typeUnit.lua new file mode 100644 index 00000000..73d7ea6b --- /dev/null +++ b/script/emmy/typeUnit.lua @@ -0,0 +1,51 @@ +local listMgr = require 'vm.list' + +---@class EmmyTypeUnit +local mt = {} +mt.__index = mt +mt.type = 'emmy.typeUnit' + +function mt:getType() + return self.name +end + +function mt:getName() + return self.name +end + +function mt:getSource() + return listMgr.get(self.source) +end + +function mt:getClass(callback) + self._manager:eachClass(self:getName(), function (class) + if class.type == 'emmy.class' then + callback(class) + end + end) +end + +function mt:setValue(value) + self.value = value +end + +function mt:getValue() + return self.value +end + +function mt:setParent(parent) + self.parent = parent +end + +function mt:getParent() + return self.parent +end + +return function (manager, source) + local self = setmetatable({ + name = source[1], + source = source.id, + _manager = manager, + }, mt) + return self +end |