eolian: add APIs for nullable/optional (+ lua bindings)
This commit is contained in:
parent
5b8f3a083b
commit
4301690535
|
@ -227,6 +227,8 @@ ffi.cdef [[
|
|||
const char *eolian_parameter_description_get(const Eolian_Function_Parameter *param);
|
||||
Eina_Bool eolian_parameter_const_attribute_get(const Eolian_Function_Parameter *param_desc, Eina_Bool is_get);
|
||||
Eina_Bool eolian_parameter_is_nonull(const Eolian_Function_Parameter *param_desc);
|
||||
Eina_Bool eolian_parameter_is_nullable(const Eolian_Function_Parameter *param_desc);
|
||||
Eina_Bool eolian_parameter_is_optional(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 char *eolian_function_return_comment_get(const Eolian_Function *foo_id, Eolian_Function_Type ftype);
|
||||
|
@ -766,6 +768,14 @@ ffi.metatype("Eolian_Function_Parameter", {
|
|||
|
||||
is_nonull = function(self)
|
||||
return eolian.eolian_parameter_is_nonull(self) ~= 0
|
||||
end,
|
||||
|
||||
is_nullable = function(self)
|
||||
return eolian.eolian_parameter_is_nullable(self) ~= 0
|
||||
end,
|
||||
|
||||
is_optional = function(self)
|
||||
return eolian.eolian_parameter_is_optional(self) ~= 0
|
||||
end
|
||||
}
|
||||
})
|
||||
|
|
|
@ -1009,6 +1009,26 @@ EAPI Eina_Bool eolian_parameter_const_attribute_get(const Eolian_Function_Parame
|
|||
*/
|
||||
EAPI Eina_Bool eolian_parameter_is_nonull(const Eolian_Function_Parameter *param_desc);
|
||||
|
||||
/*
|
||||
* @brief Indicates if a parameter is nullable.
|
||||
*
|
||||
* @param[in] param_desc parameter handle
|
||||
* @return EINA_TRUE if nullable, EINA_FALSE otherwise
|
||||
*
|
||||
* @ingroup Eolian
|
||||
*/
|
||||
EAPI Eina_Bool eolian_parameter_is_nullable(const Eolian_Function_Parameter *param_desc);
|
||||
|
||||
/*
|
||||
* @brief Indicates if a parameter is optional.
|
||||
*
|
||||
* @param[in] param_desc parameter handle
|
||||
* @return EINA_TRUE if optional, EINA_FALSE otherwise
|
||||
*
|
||||
* @ingroup Eolian
|
||||
*/
|
||||
EAPI Eina_Bool eolian_parameter_is_optional(const Eolian_Function_Parameter *param_desc);
|
||||
|
||||
/*
|
||||
* @brief Get the return type of a function.
|
||||
*
|
||||
|
|
|
@ -56,3 +56,17 @@ eolian_parameter_is_nonull(const Eolian_Function_Parameter *param)
|
|||
EINA_SAFETY_ON_NULL_RETURN_VAL(param, EINA_FALSE);
|
||||
return param->nonull;
|
||||
}
|
||||
|
||||
EAPI Eina_Bool
|
||||
eolian_parameter_is_nullable(const Eolian_Function_Parameter *param)
|
||||
{
|
||||
EINA_SAFETY_ON_NULL_RETURN_VAL(param, EINA_FALSE);
|
||||
return param->nullable;
|
||||
}
|
||||
|
||||
EAPI Eina_Bool
|
||||
eolian_parameter_is_optional(const Eolian_Function_Parameter *param)
|
||||
{
|
||||
EINA_SAFETY_ON_NULL_RETURN_VAL(param, EINA_FALSE);
|
||||
return param->optional;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue