forked from enlightenment/efl
elua: support is_c_only in lualian
This commit is contained in:
parent
d24220221a
commit
67c693eff1
|
@ -604,7 +604,7 @@ local gen_contents = function(klass)
|
||||||
-- first try properties
|
-- first try properties
|
||||||
local props = klass:functions_get(ft.PROPERTY):to_array()
|
local props = klass:functions_get(ft.PROPERTY):to_array()
|
||||||
for i, v in ipairs(props) do
|
for i, v in ipairs(props) do
|
||||||
if v:scope_get() == eolian.object_scope.PUBLIC then
|
if v:scope_get() == eolian.object_scope.PUBLIC and not v:is_c_only() then
|
||||||
local ftype = v:type_get()
|
local ftype = v:type_get()
|
||||||
local fread = (ftype == ft.PROPERTY or ftype == ft.PROP_GET)
|
local fread = (ftype == ft.PROPERTY or ftype == ft.PROP_GET)
|
||||||
local fwrite = (ftype == ft.PROPERTY or ftype == ft.PROP_SET)
|
local fwrite = (ftype == ft.PROPERTY or ftype == ft.PROP_SET)
|
||||||
|
@ -619,7 +619,7 @@ local gen_contents = function(klass)
|
||||||
-- then methods
|
-- then methods
|
||||||
local meths = klass:functions_get(ft.METHOD):to_array()
|
local meths = klass:functions_get(ft.METHOD):to_array()
|
||||||
for i, v in ipairs(meths) do
|
for i, v in ipairs(meths) do
|
||||||
if v:scope_get() == eolian.object_scope.PUBLIC then
|
if v:scope_get() == eolian.object_scope.PUBLIC and not v:is_c_only() then
|
||||||
cnt[#cnt + 1] = Method(v)
|
cnt[#cnt + 1] = Method(v)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -215,6 +215,7 @@ ffi.cdef [[
|
||||||
Eina_Bool eolian_function_is_empty(const Eolian_Function *function_id, Eolian_Function_Type f_type);
|
Eina_Bool eolian_function_is_empty(const Eolian_Function *function_id, Eolian_Function_Type f_type);
|
||||||
Eina_Bool eolian_function_is_legacy_only(const Eolian_Function *function_id, Eolian_Function_Type ftype);
|
Eina_Bool eolian_function_is_legacy_only(const Eolian_Function *function_id, Eolian_Function_Type ftype);
|
||||||
Eina_Bool eolian_function_is_class(const Eolian_Function *function_id);
|
Eina_Bool eolian_function_is_class(const Eolian_Function *function_id);
|
||||||
|
Eina_Bool eolian_function_is_c_only(const Eolian_Function *function_id);
|
||||||
const Eolian_Function_Parameter *eolian_function_parameter_get_by_name(const Eolian_Function *function_id, const char *param_name);
|
const Eolian_Function_Parameter *eolian_function_parameter_get_by_name(const Eolian_Function *function_id, const char *param_name);
|
||||||
Eina_Iterator *eolian_property_keys_get(const Eolian_Function *foo_id);
|
Eina_Iterator *eolian_property_keys_get(const Eolian_Function *foo_id);
|
||||||
Eina_Iterator *eolian_property_values_get(const Eolian_Function *foo_id);
|
Eina_Iterator *eolian_property_values_get(const Eolian_Function *foo_id);
|
||||||
|
@ -669,6 +670,10 @@ M.Function = ffi.metatype("Eolian_Function", {
|
||||||
return eolian.eolian_function_is_class(self) ~= 0
|
return eolian.eolian_function_is_class(self) ~= 0
|
||||||
end,
|
end,
|
||||||
|
|
||||||
|
is_c_only = function(self)
|
||||||
|
return eolian.eolian_function_is_c_only(self) ~= 0
|
||||||
|
end,
|
||||||
|
|
||||||
parameter_get_by_name = function(self, pname)
|
parameter_get_by_name = function(self, pname)
|
||||||
local v = eolian.eolian_function_parameter_get_by_name(self, pname)
|
local v = eolian.eolian_function_parameter_get_by_name(self, pname)
|
||||||
if v == nil then return nil end
|
if v == nil then return nil end
|
||||||
|
|
Loading…
Reference in New Issue