| 12345678910111213141516171819202122232425262728 | local function _hx_anon_newindex(t,k,v) t.__fields__[k] = true; rawset(t,k,v); endlocal _hx_anon_mt = {__newindex=_hx_anon_newindex}local function _hx_a(...)  local __fields__ = {};  local ret = {__fields__ = __fields__};  local max = select('#',...);  local tab = {...};  local cur = 1;  while cur < max do    local v = tab[cur];    __fields__[v] = true;    ret[v] = tab[cur+1];    cur = cur + 2  end  return setmetatable(ret, _hx_anon_mt)endlocal function _hx_e()  return setmetatable({__fields__ = {}}, _hx_anon_mt)endlocal function _hx_o(obj)  return setmetatable(obj, _hx_anon_mt)endlocal function _hx_new(prototype)  return setmetatable({__fields__ = {}}, {__newindex=_hx_anon_newindex, __index=prototype})end
 |