bu5hm4n pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=6b110e578d24b2a99c4c1b158433327a0a43ce1a
commit 6b110e578d24b2a99c4c1b158433327a0a43ce1a Author: Cedric BAIL <cedric.b...@free.fr> Date: Thu Jan 2 15:41:36 2020 -0800 eolian: enforce that list<> can only be used with @beta API. Reviewed-by: Daniel Kolesa <dan...@octaforge.org> Differential Revision: https://phab.enlightenment.org/D11050 --- src/lib/eolian/Eolian.h | 5 +++++ src/lib/eolian/database_validate.c | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/lib/eolian/Eolian.h b/src/lib/eolian/Eolian.h index db0421634a..7f19ff93e7 100644 --- a/src/lib/eolian/Eolian.h +++ b/src/lib/eolian/Eolian.h @@ -336,7 +336,12 @@ typedef enum EOLIAN_TYPE_BUILTIN_ARRAY, EOLIAN_TYPE_BUILTIN_FUTURE, EOLIAN_TYPE_BUILTIN_ITERATOR, +#ifdef EFL_BETA_API_SUPPORT EOLIAN_TYPE_BUILTIN_LIST, +#else + // Placeholder when using release API only. Done to prevent offseting the value below. + EOLIAN_TYPE_BUILTIN_BETA_PLACEHOLDER1, +#endif EOLIAN_TYPE_BUILTIN_ANY_VALUE, EOLIAN_TYPE_BUILTIN_ANY_VALUE_REF, diff --git a/src/lib/eolian/database_validate.c b/src/lib/eolian/database_validate.c index b1af2185ef..1e7b072c9d 100644 --- a/src/lib/eolian/database_validate.c +++ b/src/lib/eolian/database_validate.c @@ -400,9 +400,9 @@ _validate_type(Validate_State *vals, Eolian_Type *tp, Eina_Bool by_ref, int kwid = eo_lexer_keyword_str_to_id(tp->base.name); if (kwid > KW_void) tp->ownable = EINA_TRUE; - if (kwid == KW_hash && vals->stable) + if ((kwid == KW_hash || kwid == KW_list) && vals->stable) { - _eo_parser_log(&tp->base, "hashes not allowed in stable context"); + _eo_parser_log(&tp->base, "hashes and lists not allowed in stable context"); return EINA_FALSE; } Eolian_Type *itp = tp->base_type; --