diff options
author | Daniel Kolesa <d.kolesa@samsung.com> | 2014-06-24 17:23:13 +0100 |
---|---|---|
committer | Daniel Kolesa <d.kolesa@samsung.com> | 2014-06-30 17:20:07 +0100 |
commit | d8701252311751d8383c743d7d4ea37fad2ca113 (patch) | |
tree | 7536898ebf2e758b96797955018ebb005b492ac9 | |
parent | 8a82e0fdf4bf531a1d778c5cbf1860e2b00e0cd1 (diff) | |
download | efl-d8701252311751d8383c743d7d4ea37fad2ca113.tar.gz |
elua: use the new dedup API in lualiandevs/q66/eolian_experimental
-rw-r--r-- | src/bin/elua/modules/lualian.lua | 18 | ||||
-rw-r--r-- | src/bindings/luajit/eolian.lua | 7 |
2 files changed, 9 insertions, 16 deletions
diff --git a/src/bin/elua/modules/lualian.lua b/src/bin/elua/modules/lualian.lua index 311e5c05be..c2d0cb170b 100644 --- a/src/bin/elua/modules/lualian.lua +++ b/src/bin/elua/modules/lualian.lua @@ -122,20 +122,6 @@ local typeconv = function(tps, expr, isin) return build_calln(tps, expr, false) end -local dedup_name = function(classn, funcn) - local suffix = classn:match(".+_(.+)" ) or classn - local prefix = funcn:match("([^_]+)_.+") or funcn - if prefix == suffix then - if classn == suffix then - return funcn - else - return classn:match("(.+_).+") .. funcn - end - else - return classn .. "_" .. funcn - end -end - local Node = util.Object:clone { generate = function(self, s) end, @@ -184,7 +170,7 @@ local Method = Node:clone { local allocs = {} proto.allocs = allocs - proto.full_name = dedup_name(self.parent_node.prefix, proto.name) + proto.full_name = meth:full_c_name_get(self.parent_node.prefix) local dirs = eolian.parameter_dir @@ -280,7 +266,7 @@ local Property = Method:clone { local allocs = {} proto.allocs = allocs - proto.full_name = dedup_name(self.parent_node.prefix, proto.name) + proto.full_name = prop:full_c_name_get(self.parent_node.prefix) .. proto.suffix local dirs = eolian.parameter_dir diff --git a/src/bindings/luajit/eolian.lua b/src/bindings/luajit/eolian.lua index 01d7f99a49..1baf0368b0 100644 --- a/src/bindings/luajit/eolian.lua +++ b/src/bindings/luajit/eolian.lua @@ -71,6 +71,7 @@ ffi.cdef [[ Eolian_Function_Type eolian_function_type_get(Eolian_Function *function_id); Eolian_Function_Scope eolian_function_scope_get(Eolian_Function *function_id); const char *eolian_function_name_get(Eolian_Function *function_id); + const char *eolian_function_full_c_name_get(Eolian_Function function_id, const char *prefix); Eolian_Function *eolian_class_function_find_by_name(const Eolian_Class *klass, const char *func_name, Eolian_Function_Type f_type); const char *eolian_function_data_get(Eolian_Function *function_id, const char *key); Eina_Bool eolian_function_is_virtual_pure(Eolian_Function *function_id, Eolian_Function_Type f_type); @@ -190,6 +191,12 @@ M.Function = ffi.metatype("Eolian_Function", { return ffi.string(v) end, + full_c_name_get = function(self) + local v = eolian.eolian_function_full_c_name_get(self) + if v == nil then return nil end + return ffi.string(v) + end, + data_get = function(self, key) local v = eolian.eolian_function_data_get(self, key) if v == nil then return nil end |