diff options
author | Cedric BAIL <cedric.bail@free.fr> | 2020-01-02 15:41:36 -0800 |
---|---|---|
committer | Xavi Artigas <xavierartigas@yahoo.es> | 2020-01-29 16:28:00 +0100 |
commit | 5e93a878b701f95e43f4b2c4945e782eb4a1d9a6 (patch) | |
tree | 5e6c634031560ed7bc59dc535af739ed7ea24848 | |
parent | fdcc0053c609a021171db76a92a7ae36625154f6 (diff) | |
download | efl-5e93a878b701f95e43f4b2c4945e782eb4a1d9a6.tar.gz |
eolian: enforce that list<> can only be used with @beta API.
Reviewed-by: Daniel Kolesa <daniel@octaforge.org>
Differential Revision: https://phab.enlightenment.org/D11050
-rw-r--r-- | src/lib/eolian/Eolian.h | 5 | ||||
-rw-r--r-- | 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; |