q66 pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=17c9aeb80c074020482ab59038269583cc9dfa6f

commit 17c9aeb80c074020482ab59038269583cc9dfa6f
Author: Daniel Kolesa <d.kol...@samsung.com>
Date:   Thu Oct 2 10:34:14 2014 +0100

    elua: properly support _class_get funcs in lualian
---
 src/bin/elua/modules/lualian.lua | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/src/bin/elua/modules/lualian.lua b/src/bin/elua/modules/lualian.lua
index eec3b5e..745c228 100644
--- a/src/bin/elua/modules/lualian.lua
+++ b/src/bin/elua/modules/lualian.lua
@@ -362,11 +362,12 @@ local gen_ns = function(klass, s)
 end
 
 local Mixin = Node:clone {
-    __ctor = function(self, klass, ch, evs)
+    __ctor = function(self, klass, iface, ch, evs)
         self.klass    = klass
         self.prefix   = klass:eo_prefix_get()
         self.children = ch
         self.events   = evs
+        self.is_iface = iface
     end,
 
     generate = function(self, s)
@@ -385,7 +386,9 @@ local Mixin = Node:clone {
     end,
 
     gen_ffi = function(self, s)
-        s:write("    const Eo_Class *", self.prefix, "_class_get(void);\n")
+        local prefix = self.is_iface and "interface" or "mixin"
+        s:write("    const Eo_Class *", self.prefix, "_", prefix,
+            "_get(void);\n")
         for i, v in ipairs(self.children) do
             v.parent_node = self
             v:gen_ffi(s)
@@ -554,8 +557,8 @@ local gen_contents = function(klass)
     return cnt, evs
 end
 
-local gen_mixin = function(kliass)
-    return Mixin(klass, gen_contents(klass))
+local gen_mixin = function(klass, iface)
+    return Mixin(klass, iface, gen_contents(klass))
 end
 
 local gen_class = function(klass)
@@ -606,7 +609,7 @@ M.generate = function(fname, libname, fstream)
     local ct = eolian.class_type
     local cl
     if tp == ct.MIXIN or tp == ct.INTERFACE then
-        cl = gen_mixin(klass)
+        cl = gen_mixin(klass, tp == ct.INTERFACE)
     elseif tp == ct.REGULAR or tp == ct.ABSTRACT then
         cl = gen_class(klass)
     else

-- 


Reply via email to