From d1dd3c30b91fd1015a157690f5678fc0520bd23c Mon Sep 17 00:00:00 2001 From: Yeongjong Lee Date: Mon, 30 Sep 2019 13:52:45 +0900 Subject: [PATCH] eolian_mono: Respect beta for enum Summary: this prevent generating beta enum with `-Dmono-beta=false`. Test Plan: meson setup -Dbindings=mono,cxx -Dmono-beta=false Reviewers: lauromoura, Jaehyun_Cho Reviewed By: Jaehyun_Cho Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D10245 --- src/bin/eolian_mono/eolian/mono/enum_definition.hh | 3 +++ src/lib/eolian_cxx/grammar/klass_def.hpp | 2 ++ 2 files changed, 5 insertions(+) diff --git a/src/bin/eolian_mono/eolian/mono/enum_definition.hh b/src/bin/eolian_mono/eolian/mono/enum_definition.hh index c5ab79ae66..56560afcf2 100644 --- a/src/bin/eolian_mono/eolian/mono/enum_definition.hh +++ b/src/bin/eolian_mono/eolian/mono/enum_definition.hh @@ -17,6 +17,9 @@ struct enum_definition_generator template bool generate(OutputIterator sink, attributes::enum_def const& enum_, Context const& context) const { + if(enum_.is_beta) + return true; + if(!name_helpers::open_namespaces(sink, enum_.namespaces, context)) return false; diff --git a/src/lib/eolian_cxx/grammar/klass_def.hpp b/src/lib/eolian_cxx/grammar/klass_def.hpp index 81f40d3ba5..d0de5db39b 100644 --- a/src/lib/eolian_cxx/grammar/klass_def.hpp +++ b/src/lib/eolian_cxx/grammar/klass_def.hpp @@ -1617,6 +1617,7 @@ struct enum_def std::vector namespaces; std::vector fields; documentation_def documentation; + bool is_beta; enum_def(Eolian_Typedecl const* enum_obj, Eolian_Unit const* unit) { @@ -1634,6 +1635,7 @@ struct enum_def enum_value_def field_def(&*field_iterator, unit); this->fields.push_back(field_def); } + is_beta = eolian_object_is_beta(EOLIAN_OBJECT(enum_obj)); documentation = ::eolian_typedecl_documentation_get(enum_obj); }