eolian: add an optional warning for ptr() usage in stable API

This commit is contained in:
Daniel Kolesa 2019-09-10 14:06:46 +02:00
parent 6d465b0b1f
commit b880a1c7e8
1 changed files with 4 additions and 0 deletions

View File

@ -14,6 +14,7 @@ typedef struct _Validate_State
Eina_Bool stable;
Eina_Bool unimplemented;
Eina_Bool unimplemented_beta;
Eina_Bool ptr_stable;
} Validate_State;
static Eina_Bool
@ -260,6 +261,8 @@ _validate_type(Validate_State *vals, Eolian_Type *tp)
if (tp->is_ptr)
{
if (vals->stable && vals->ptr_stable)
_eo_parser_log(&tp->base, "ptr() used in stable API");
tp->is_ptr = EINA_FALSE;
Eina_Bool still_ownable = database_type_is_ownable(src, tp, EINA_FALSE);
tp->is_ptr = EINA_TRUE;
@ -1473,6 +1476,7 @@ database_validate(const Eolian_Unit *src)
EINA_TRUE,
!!getenv("EOLIAN_CLASS_UNIMPLEMENTED_WARN"),
!!getenv("EOLIAN_CLASS_UNIMPLEMENTED_BETA_WARN"),
!!getenv("EOLIAN_PTR_STABLE_WARN")
};
/* do an initial pass to refill inherits */