From 718f3cd49586ec6a0448977081e16cd647b06e68 Mon Sep 17 00:00:00 2001 From: Daniel Kolesa Date: Fri, 20 Sep 2019 17:03:58 +0200 Subject: [PATCH] eolian: make hashes beta-only for now They're not completely settled on and we don't even know if we want them at all. So let's make them beta only for now. Ref T8050. --- src/lib/eolian/database_validate.c | 5 +++++ src/tests/eolian/data/owning.eo | 2 +- src/tests/eolian_cxx/complex.eo | 8 ++++---- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/lib/eolian/database_validate.c b/src/lib/eolian/database_validate.c index f13e0e82b7..4ad105de0f 100644 --- a/src/lib/eolian/database_validate.c +++ b/src/lib/eolian/database_validate.c @@ -293,6 +293,11 @@ _validate_type(Validate_State *vals, Eolian_Type *tp) 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) + { + _eo_parser_log(&tp->base, "hashes not allowed in stable context"); + return EINA_FALSE; + } Eolian_Type *itp = tp->base_type; /* validate types in brackets so transitive fields get written */ while (itp) diff --git a/src/tests/eolian/data/owning.eo b/src/tests/eolian/data/owning.eo index 6c9cb10046..fe6b5bf2f0 100644 --- a/src/tests/eolian/data/owning.eo +++ b/src/tests/eolian/data/owning.eo @@ -1,4 +1,4 @@ -class Owning { +class @beta Owning { methods { test1 { params { diff --git a/src/tests/eolian_cxx/complex.eo b/src/tests/eolian_cxx/complex.eo index d3f88488a0..a87391d83b 100644 --- a/src/tests/eolian_cxx/complex.eo +++ b/src/tests/eolian_cxx/complex.eo @@ -58,12 +58,12 @@ class Complex extends Efl.Object l: array @move; } } - inhash { + inhash @beta { params { l: hash; } } - inhashown { + inhashown @beta { params { l: hash @move; } @@ -139,12 +139,12 @@ class Complex extends Efl.Object @out l: array @move; } } - outhash { + outhash @beta { params { @out l: hash; } } - outhashown { + outhashown @beta { params { @out l: hash @move; }