elua: register classes with their underscored name
authorDaniel Kolesa <d.kolesa@samsung.com>
Wed, 1 Oct 2014 15:32:29 +0000 (16:32 +0100)
committerDaniel Kolesa <d.kolesa@samsung.com>
Wed, 1 Oct 2014 15:32:29 +0000 (16:32 +0100)
src/bin/elua/modules/lualian.lua

index 8526d7c56ec9e61a71898c32d826bfed5ae6052f..eec3b5e18864c048ccec5bb55de3d8be60d8438a 100644 (file)
@@ -461,6 +461,9 @@ local File = Node:clone {
         dom:log(log.level.INFO, "Generating for file: " .. self.fname)
         dom:log(log.level.INFO, "  Class            : " .. kn)
 
+        local knu = kn:gsub("%.", "_")
+        local paru = par and ('"' .. par:gsub("%.", "_") .. '"') or "nil"
+
         s:write(([[
 -- EFL LuaJIT bindings: %s (class %s)
 -- For use with Elua; automatically generated, do not modify
@@ -480,11 +483,11 @@ local init = function()
     __lib = util.lib_load("%s")
     __class = __lib.%s_class_get()
     eo.class_register("%s", %s, __body, __class)
-]]):format(self.fname, kn, self.libname, ckls.prefix, kn,
-           par and ('"' .. par .. '"') or "nil"))
+]]):format(self.fname, kn, self.libname, ckls.prefix, knu, paru))
 
         if ckls.mixins then for i, v in ipairs(ckls.mixins) do
-            s:write(("    eo.class_mixin(\"%s\", \"%s\")\n"):format(kn, v))
+            s:write(("    eo.class_mixin(\"%s\", \"%s\")\n"):format(knu,
+                v:gsub("%.", "_")))
         end end
 
         s:write(([[