summaryrefslogtreecommitdiff
path: root/src/bin/eolian_mono/eolian/mono/struct_definition.hh
diff options
context:
space:
mode:
authorLauro Moura <lauromoura@expertisesolutions.com.br>2019-03-11 15:46:12 -0300
committerVitor Sousa <vitorsousa@expertisesolutions.com.br>2019-03-11 16:08:04 -0300
commitf29ceef5002f7ab2a0f400adbed20299737bce20 (patch)
tree2324619326073a6a55f286723802553743feb3f9 /src/bin/eolian_mono/eolian/mono/struct_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: https://phab.enlightenment.org/D8268
Diffstat (limited to 'src/bin/eolian_mono/eolian/mono/struct_definition.hh')
-rw-r--r--src/bin/eolian_mono/eolian/mono/struct_definition.hh4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/bin/eolian_mono/eolian/mono/struct_definition.hh b/src/bin/eolian_mono/eolian/mono/struct_definition.hh
index 17485d12e4..ba058d0817 100644
--- a/src/bin/eolian_mono/eolian/mono/struct_definition.hh
+++ b/src/bin/eolian_mono/eolian/mono/struct_definition.hh
@@ -196,6 +196,7 @@ struct to_internal_field_convert_generator
196 bool generate(OutputIterator sink, attributes::struct_field_def const& field, Context const& context) const 196 bool generate(OutputIterator sink, attributes::struct_field_def const& field, Context const& context) const
197 { 197 {
198 auto field_name = name_helpers::to_field_name(field.name); 198 auto field_name = name_helpers::to_field_name(field.name);
199 // FIXME Replace need_struct_conversion(regular) with need_struct_conversion(type)
199 auto regular = efl::eina::get<attributes::regular_type_def>(&field.type.original_type); 200 auto regular = efl::eina::get<attributes::regular_type_def>(&field.type.original_type);
200 auto klass = efl::eina::get<attributes::klass_name>(&field.type.original_type); 201 auto klass = efl::eina::get<attributes::klass_name>(&field.type.original_type);
201 auto complex = efl::eina::get<attributes::complex_type_def>(&field.type.original_type); 202 auto complex = efl::eina::get<attributes::complex_type_def>(&field.type.original_type);
@@ -496,10 +497,9 @@ struct struct_entities_generator
496 template <typename OutputIterator, typename Context> 497 template <typename OutputIterator, typename Context>
497 bool generate(OutputIterator sink, attributes::struct_def const& struct_, Context const& context) const 498 bool generate(OutputIterator sink, attributes::struct_def const& struct_, Context const& context) const
498 { 499 {
499 if (blacklist::is_struct_blacklisted(struct_)) 500 if (blacklist::is_struct_blacklisted(struct_, context))
500 return true; 501 return true;
501 502
502
503 if (!name_helpers::open_namespaces(sink, struct_.namespaces, context)) 503 if (!name_helpers::open_namespaces(sink, struct_.namespaces, context))
504 return false; 504 return false;
505 505