local Hello Hello = (function() local _parent_0 = nil local _base_0 = { hello = function(self) return print(self.test, self.world) end, __tostring = function(self) return "hello world" end } _base_0.__index = _base_0 if _parent_0 then setmetatable(_base_0, _parent_0.__base) end local _class_0 = setmetatable({ __init = function(self, test, world) self.test, self.world = test, world return print("creating object..") end, __base = _base_0, __name = "Hello", __parent = _parent_0 }, { __index = function(cls, name) local val = rawget(_base_0, name) if val == nil and _parent_0 then return _parent_0[name] else return val end end, __call = function(cls, ...) local _self_0 = setmetatable({}, _base_0) cls.__init(_self_0, ...) return _self_0 end }) _base_0.__class = _class_0 return _class_0 end)() local x = Hello(1, 2) x:hello() print(x) local Simple Simple = (function() local _parent_0 = nil local _base_0 = { cool = function(self) return print("cool") end } _base_0.__index = _base_0 if _parent_0 then setmetatable(_base_0, _parent_0.__base) end local _class_0 = setmetatable({ __init = function(self, ...) if _parent_0 then return _parent_0.__init(self, ...) end end, __base = _base_0, __name = "Simple", __parent = _parent_0 }, { __index = function(cls, name) local val = rawget(_base_0, name) if val == nil and _parent_0 then return _parent_0[name] else return val end end, __call = function(cls, ...) local _self_0 = setmetatable({}, _base_0) cls.__init(_self_0, ...) return _self_0 end }) _base_0.__class = _class_0 return _class_0 end)() local Yikes Yikes = (function() local _parent_0 = Simple local _base_0 = { } _base_0.__index = _base_0 if _parent_0 then setmetatable(_base_0, _parent_0.__base) end local _class_0 = setmetatable({ __init = function(self) return print("created hello") end, __base = _base_0, __name = "Yikes", __parent = _parent_0 }, { __index = function(cls, name) local val = rawget(_base_0, name) if val == nil and _parent_0 then return _parent_0[name] else return val end end, __call = function(cls, ...) local _self_0 = setmetatable({}, _base_0) cls.__init(_self_0, ...) return _self_0 end }) _base_0.__class = _class_0 return _class_0 end)() x = Yikes() x:cool() local Hi Hi = (function() local _parent_0 = nil local _base_0 = { cool = function(self, num) return print("num", num) end } _base_0.__index = _base_0 if _parent_0 then setmetatable(_base_0, _parent_0.__base) end local _class_0 = setmetatable({ __init = function(self, arg) return print("init arg", arg) end, __base = _base_0, __name = "Hi", __parent = _parent_0 }, { __index = function(cls, name) local val = rawget(_base_0, name) if val == nil and _parent_0 then return _parent_0[name] else return val end end, __call = function(cls, ...) local _self_0 = setmetatable({}, _base_0) cls.__init(_self_0, ...) return _self_0 end }) _base_0.__class = _class_0 return _class_0 end)() Simple = (function() local _parent_0 = Hi local _base_0 = { cool = function(self) return _parent_0.cool(self, 120302) end } _base_0.__index = _base_0 if _parent_0 then setmetatable(_base_0, _parent_0.__base) end local _class_0 = setmetatable({ __init = function(self) return _parent_0.__init(self, "man") end, __base = _base_0, __name = "Simple", __parent = _parent_0 }, { __index = function(cls, name) local val = rawget(_base_0, name) if val == nil and _parent_0 then return _parent_0[name] else return val end end, __call = function(cls, ...) local _self_0 = setmetatable({}, _base_0) cls.__init(_self_0, ...) return _self_0 end }) _base_0.__class = _class_0 return _class_0 end)() x = Simple() x:cool() print(x.__class == Simple) local Okay Okay = (function() local _parent_0 = nil local _base_0 = { something = 20323 } _base_0.__index = _base_0 if _parent_0 then setmetatable(_base_0, _parent_0.__base) end local _class_0 = setmetatable({ __init = function(self, ...) if _parent_0 then return _parent_0.__init(self, ...) end end, __base = _base_0, __name = "Okay", __parent = _parent_0 }, { __index = function(cls, name) local val = rawget(_base_0, name) if val == nil and _parent_0 then return _parent_0[name] else return val end end, __call = function(cls, ...) local _self_0 = setmetatable({}, _base_0) cls.__init(_self_0, ...) return _self_0 end }) _base_0.__class = _class_0 return _class_0 end)() local Biggie Biggie = (function() local _parent_0 = Okay local _base_0 = { something = function(self) _parent_0.something(self, 1, 2, 3, 4) _parent_0.something(another_self, 1, 2, 3, 4) return assert(_parent_0 == Okay) end } _base_0.__index = _base_0 if _parent_0 then setmetatable(_base_0, _parent_0.__base) end local _class_0 = setmetatable({ __init = function(self, ...) if _parent_0 then return _parent_0.__init(self, ...) end end, __base = _base_0, __name = "Biggie", __parent = _parent_0 }, { __index = function(cls, name) local val = rawget(_base_0, name) if val == nil and _parent_0 then return _parent_0[name] else return val end end, __call = function(cls, ...) local _self_0 = setmetatable({}, _base_0) cls.__init(_self_0, ...) return _self_0 end }) _base_0.__class = _class_0 return _class_0 end)() local Yeah Yeah = (function() local _parent_0 = nil local _base_0 = { okay = function(self) return _parent_0.something(self, 1, 2, 3, 4) end } _base_0.__index = _base_0 if _parent_0 then setmetatable(_base_0, _parent_0.__base) end local _class_0 = setmetatable({ __init = function(self, ...) if _parent_0 then return _parent_0.__init(self, ...) end end, __base = _base_0, __name = "Yeah", __parent = _parent_0 }, { __index = function(cls, name) local val = rawget(_base_0, name) if val == nil and _parent_0 then return _parent_0[name] else return val end end, __call = function(cls, ...) local _self_0 = setmetatable({}, _base_0) cls.__init(_self_0, ...) return _self_0 end }) _base_0.__class = _class_0 return _class_0 end)() local What What = (function() local _parent_0 = nil local _base_0 = { something = function(self) return print("val:", self.val) end } _base_0.__index = _base_0 if _parent_0 then setmetatable(_base_0, _parent_0.__base) end local _class_0 = setmetatable({ __init = function(self, ...) if _parent_0 then return _parent_0.__init(self, ...) end end, __base = _base_0, __name = "What", __parent = _parent_0 }, { __index = function(cls, name) local val = rawget(_base_0, name) if val == nil and _parent_0 then return _parent_0[name] else return val end end, __call = function(cls, ...) local _self_0 = setmetatable({}, _base_0) cls.__init(_self_0, ...) return _self_0 end }) _base_0.__class = _class_0 return _class_0 end)() Hello = (function() local _parent_0 = What local _base_0 = { val = 2323, something = function(self) return (function() local _base_1 = _parent_0 local _fn_0 = _base_1.something return function(...) return _fn_0(self, ...) end end)() end } _base_0.__index = _base_0 if _parent_0 then setmetatable(_base_0, _parent_0.__base) end local _class_0 = setmetatable({ __init = function(self, ...) if _parent_0 then return _parent_0.__init(self, ...) end end, __base = _base_0, __name = "Hello", __parent = _parent_0 }, { __index = function(cls, name) local val = rawget(_base_0, name) if val == nil and _parent_0 then return _parent_0[name] else return val end end, __call = function(cls, ...) local _self_0 = setmetatable({}, _base_0) cls.__init(_self_0, ...) return _self_0 end }) _base_0.__class = _class_0 return _class_0 end)() do local _with_0 = Hello() x = _with_0:something() print(x) x() end local CoolSuper CoolSuper = (function() local _parent_0 = nil local _base_0 = { hi = function(self) _parent_0.hi(self, 1, 2, 3, 4)(1, 2, 3, 4) _parent_0.something(1, 2, 3, 4) local _ = _parent_0.something(1, 2, 3, 4).world _parent_0.yeah(self, "world").okay(hi, hi, hi) _ = something.super _ = _parent_0.super.super.super return nil end } _base_0.__index = _base_0 if _parent_0 then setmetatable(_base_0, _parent_0.__base) end local _class_0 = setmetatable({ __init = function(self, ...) if _parent_0 then return _parent_0.__init(self, ...) end end, __base = _base_0, __name = "CoolSuper", __parent = _parent_0 }, { __index = function(cls, name) local val = rawget(_base_0, name) if val == nil and _parent_0 then return _parent_0[name] else return val end end, __call = function(cls, ...) local _self_0 = setmetatable({}, _base_0) cls.__init(_self_0, ...) return _self_0 end }) _base_0.__class = _class_0 return _class_0 end)() x = self.hello x = self.__class.hello self:hello("world") self.__class:hello("world") self.__class:one(self.__class:two(4, 5)(self.three, self.four)) local xx xx = function(hello, world, cool) self.hello, self.__class.world = hello, world end local ClassMan ClassMan = (function() local _parent_0 = nil local _base_0 = { blue = function(self) end, green = function(self) end } _base_0.__index = _base_0 if _parent_0 then setmetatable(_base_0, _parent_0.__base) end local _class_0 = setmetatable({ __init = function(self, ...) if _parent_0 then return _parent_0.__init(self, ...) end end, __base = _base_0, __name = "ClassMan", __parent = _parent_0 }, { __index = function(cls, name) local val = rawget(_base_0, name) if val == nil and _parent_0 then return _parent_0[name] else return val end end, __call = function(cls, ...) local _self_0 = setmetatable({}, _base_0) cls.__init(_self_0, ...) return _self_0 end }) _base_0.__class = _class_0 local self = _class_0 self.yeah = 343 self.hello = 3434 self.world = 23423 self.red = function(self) end return _class_0 end)() x = self local y = self.__class self(something) self.__class(something) local self = self + self / self self = 343 self.hello(2, 3, 4) local _ = hello[self].world if something then local Whacko Whacko = (function() local _parent_0 = nil local _base_0 = { } _base_0.__index = _base_0 if _parent_0 then setmetatable(_base_0, _parent_0.__base) end local _class_0 = setmetatable({ __init = function(self, ...) if _parent_0 then return _parent_0.__init(self, ...) end end, __base = _base_0, __name = "Whacko", __parent = _parent_0 }, { __index = function(cls, name) local val = rawget(_base_0, name) if val == nil and _parent_0 then return _parent_0[name] else return val end end, __call = function(cls, ...) local _self_0 = setmetatable({}, _base_0) cls.__init(_self_0, ...) return _self_0 end }) _base_0.__class = _class_0 local self = _class_0 _ = self.hello if something then print("hello world") end local hello = "world" self.another = "day" print("yeah") return _class_0 end)() end print("hello")