diff --git a/src/bindings/luajit/eo.lua b/src/bindings/luajit/eo.lua index 741c4bcee7..498483c65c 100644 --- a/src/bindings/luajit/eo.lua +++ b/src/bindings/luajit/eo.lua @@ -146,10 +146,9 @@ M.eo_class_get = function(name) return eo_classes[name] end -M.class_register = function(name, val, addr) - classes[name] = val - eo_classes[name] = addr - return val +M.class_register = function(name, parent, body, eocl) + classes[name] = classes[parent]:clone(body) + eo_classes[name] = eocl end M.class_unregister = function(name) @@ -157,6 +156,10 @@ M.class_unregister = function(name) eo_classes[name] = nil end +M.class_mixin = function(name, mixin) + classes[name]:mixin(classes[mixin]) +end + M.__ctor_common = function(self, klass, parent, ctor, loff, ...) local info = getinfo(2 + (loff or 0), "nlSf") local source = info.source