elua: expose new tags via eolian bindings

This commit is contained in:
Daniel Kolesa 2019-08-30 17:14:09 +02:00
parent 7dc7cbf076
commit 37e5befd6b
1 changed files with 30 additions and 0 deletions

View File

@ -377,10 +377,14 @@ ffi.cdef [[
const Eolian_Expression *eolian_parameter_default_value_get(const Eolian_Function_Parameter *param);
const Eolian_Documentation *eolian_parameter_documentation_get(const Eolian_Function_Parameter *param);
Eina_Bool eolian_parameter_is_optional(const Eolian_Function_Parameter *param_desc);
Eina_Bool eolian_parameter_is_by_ref(const Eolian_Function_Parameter *param_desc);
Eina_Bool eolian_parameter_is_move(const Eolian_Function_Parameter *param_desc);
const Eolian_Type *eolian_function_return_type_get(const Eolian_Function *function_id, Eolian_Function_Type ftype);
const Eolian_Expression *eolian_function_return_default_value_get(const Eolian_Function *foo_id, Eolian_Function_Type ftype);
const Eolian_Documentation *eolian_function_return_documentation_get(const Eolian_Function *foo_id, Eolian_Function_Type ftype);
Eina_Bool eolian_function_return_allow_unused(const Eolian_Function *foo_id, Eolian_Function_Type ftype);
Eina_Bool eolian_function_return_is_by_ref(const Eolian_Function *foo_id, Eolian_Function_Type ftype);
Eina_Bool eolian_function_return_is_move(const Eolian_Function *foo_id, Eolian_Function_Type ftype);
Eina_Bool eolian_function_object_is_const(const Eolian_Function *function_id);
const Eolian_Class *eolian_function_class_get(const Eolian_Function *function_id);
const Eolian_Class *eolian_implement_class_get(const Eolian_Implement *impl);
@ -422,6 +426,8 @@ ffi.cdef [[
const Eolian_Struct_Type_Field *eolian_typedecl_struct_field_get(const Eolian_Typedecl *tp, const char *field);
const Eolian_Documentation *eolian_typedecl_struct_field_documentation_get(const Eolian_Struct_Type_Field *fl);
const Eolian_Type *eolian_typedecl_struct_field_type_get(const Eolian_Struct_Type_Field *fl);
Eina_Bool eolian_typedecl_struct_field_is_by_ref(const Eolian_Struct_Type_Field *fl);
Eina_Bool eolian_typedecl_struct_field_is_move(const Eolian_Struct_Type_Field *fl);
Eina_Iterator *eolian_typedecl_enum_fields_get(const Eolian_Typedecl *tp);
const Eolian_Enum_Type_Field *eolian_typedecl_enum_field_get(const Eolian_Typedecl *tp, const char *field);
const char *eolian_typedecl_enum_field_c_constant_get(const Eolian_Enum_Type_Field *fl);
@ -1002,6 +1008,14 @@ ffi.metatype("Eolian_Struct_Type_Field", {
local v = eolian.eolian_typedecl_struct_field_type_get(self)
if v == nil then return nil end
return v
end,
is_by_ref = function(self)
return eolian.eolian_typedecl_struct_field_is_by_ref(self) ~= 0
end,
is_move = function(self)
return eolian.eolian_typedecl_struct_field_is_move(self) ~= 0
end
}
})
@ -1251,6 +1265,14 @@ M.Function = ffi.metatype("Eolian_Function", {
ftype) ~= 0
end,
return_is_by_ref = function(self, ftype)
return eolian.eolian_function_return_is_by_ref(self, ftype) ~= 0
end,
return_is_move = function(self, ftype)
return eolian.eolian_function_return_is_move(self, ftype) ~= 0
end,
is_const = function(self)
return eolian.eolian_function_object_is_const(self) ~= 0
end,
@ -1296,6 +1318,14 @@ ffi.metatype("Eolian_Function_Parameter", {
is_optional = function(self)
return eolian.eolian_parameter_is_optional(self) ~= 0
end,
is_by_ref = function(self)
return eolian.eolian_parameter_is_by_ref(self) ~= 0
end,
is_move = function(self)
return eolian.eolian_parameter_is_move(self) ~= 0
end
}
})