path: root/src/bin/eolian_mono/eolian/mono/part_definition.hh
diff options
authorLauro Moura <>2019-03-11 15:46:12 -0300
committerVitor Sousa <>2019-03-11 16:08:04 -0300
commitf29ceef5002f7ab2a0f400adbed20299737bce20 (patch)
tree2324619326073a6a55f286723802553743feb3f9 /src/bin/eolian_mono/eolian/mono/part_definition.hh
parent2a003420f83134331c8b404df1905cba538cfad6 (diff)
efl-csharp: Respect beta for classes and other stuff.
Summary: In order to work around an issue with Efl.App, which is stable but inherits from Efl.Core.Command_Line, @beta interfaces/mixins in the inheritance chain are simply skipped. Also changed the class used int test for inheritance from C# Efl.Loop is stable but internally it uses a @beta class as argument to its Register() method in the constructor. When instantiating a user-defined C# subclass, the binding calls the C# override in the NativeInherit class and the marshalling fails as no code is generated for the beta class. Also moved Efl.Part test to a beta class. Efl.Part is still beta. Regarding parts, they are skipped if its class is @beta too. Also rejected all elm_* files in elm public eo files. They should get back in as they are converted to Efl.Ui.* api. An exception is elm_interface_scrollable.eo, as efl_ui_panel depends on it. Fixes T7730 Test Plan: Run tests Reviewers: vitor.sousa, segfaultxavi, felipealmeida, cedric, bu5hm4n, zmike Reviewed By: vitor.sousa Subscribers: #reviewers, #committers Tags: #efl Maniphest Tasks: T7730 Differential Revision:
Diffstat (limited to 'src/bin/eolian_mono/eolian/mono/part_definition.hh')
1 files changed, 3 insertions, 0 deletions
diff --git a/src/bin/eolian_mono/eolian/mono/part_definition.hh b/src/bin/eolian_mono/eolian/mono/part_definition.hh
index 47951f4bf1..2a8d2e1b00 100644
--- a/src/bin/eolian_mono/eolian/mono/part_definition.hh
+++ b/src/bin/eolian_mono/eolian/mono/part_definition.hh
@@ -18,6 +18,9 @@ struct part_definition_generator
18 template <typename OutputIterator, typename Context> 18 template <typename OutputIterator, typename Context>
19 bool generate(OutputIterator sink, attributes::part_def const& part, Context const& context) const 19 bool generate(OutputIterator sink, attributes::part_def const& part, Context const& context) const
20 { 20 {
21 if (blacklist::is_class_blacklisted(part.klass, context))
22 return true;
21 auto part_klass_name = name_helpers::klass_full_concrete_or_interface_name(part.klass); 24 auto part_klass_name = name_helpers::klass_full_concrete_or_interface_name(part.klass);
22 return as_generator(scope_tab << documentation 25 return as_generator(scope_tab << documentation
23 << scope_tab << "public " << part_klass_name << " " << name_helpers::managed_part_name(part) << "\n" 26 << scope_tab << "public " << part_klass_name << " " << name_helpers::managed_part_name(part) << "\n"