eolian_function_documentation_get(func, ftype);
if (hasnewdocs)
{
- Eina_Bool is_internal = eolian_function_is_internal(func);
+ Eina_Bool is_internal = eolian_function_is_internal(func, ftype);
Eina_Strbuf *dbuf = docs_generate_function(func, ftype, 0, EINA_FALSE, is_internal);
eina_strbuf_append(str_func, eina_strbuf_string_get(dbuf));
eina_strbuf_append_char(str_func, '\n');
eolian_function_documentation_get(funcid, ftype);
if (hasnewdocs)
{
- Eina_Bool is_internal = eolian_function_is_internal(funcid);
+ Eina_Bool is_internal = eolian_function_is_internal(funcid, ftype);
Eina_Strbuf *dbuf = docs_generate_function(funcid, ftype, 0, EINA_TRUE, is_internal);
eina_strbuf_append_char(fbody, '\n');
*
* @ingroup Eolian
*/
-EAPI Eina_Bool eolian_function_is_internal(const Eolian_Function *function_id);
+EAPI Eina_Bool eolian_function_is_internal(const Eolian_Function *function_id, Eolian_Function_Type ftype);
/*
* @brief Indicates if a function is a constructing function of a given class.
}
EAPI Eina_Bool
-eolian_function_is_internal(const Eolian_Function *fid)
+eolian_function_is_internal(const Eolian_Function *fid, Eolian_Function_Type ftype)
{
EINA_SAFETY_ON_NULL_RETURN_VAL(fid, EINA_FALSE);
- return fid->is_internal;
+ switch (ftype)
+ {
+ case EOLIAN_UNRESOLVED: case EOLIAN_METHOD: case EOLIAN_PROPERTY: case EOLIAN_PROP_GET: return fid->get_internal; break;
+ case EOLIAN_PROP_SET: return fid->set_internal; break;
+ default: return EINA_FALSE;
+ }
}
EAPI Eina_Bool eolian_function_is_implemented(
int line, col;
Eina_Bool has_return = EINA_FALSE, has_legacy = EINA_FALSE,
has_eo = EINA_FALSE, has_keys = EINA_FALSE,
- has_values = EINA_FALSE;
+ has_values = EINA_FALSE, has_internal = EINA_FALSE;
Eina_Bool is_get = (ls->t.kw == KW_get);
if (is_get)
{
prop->type = EOLIAN_PROP_SET;
}
eo_lexer_get(ls);
+ for (;;) switch (ls->t.kw)
+ {
+ case KW_at_internal:
+ CASE_LOCK(ls, internal, "internal qualifier");
+ if (is_get)
+ prop->get_internal = EINA_TRUE;
+ else
+ prop->set_internal = EINA_TRUE;
+ eo_lexer_get(ls);
+ break;
+ default:
+ goto body;
+ }
+body:
line = ls->line_number;
col = ls->column;
check_next(ls, '{');
break;
case KW_at_internal:
CASE_LOCK(ls, internal, "internal qualifier");
- prop->is_internal = EINA_TRUE;
+ prop->get_internal = EINA_TRUE;
+ prop->set_internal = EINA_TRUE;
eo_lexer_get(ls);
break;
default:
break;
case KW_at_internal:
CASE_LOCK(ls, internal, "internal qualifier");
- meth->is_internal = EINA_TRUE;
+ meth->get_internal = EINA_TRUE;
eo_lexer_get(ls);
break;
default:
Eina_Bool is_class :1;
Eina_Bool is_c_only :1;
Eina_Bool is_beta :1;
- Eina_Bool is_internal :1;
+ Eina_Bool get_internal :1;
+ Eina_Bool set_internal :1;
Eina_List *ctor_of;
Eolian_Class *klass;
};