diff options
author | Jaehyun Cho <jae_hyun.cho@samsung.com> | 2020-01-15 18:45:38 +0900 |
---|---|---|
committer | Jaehyun Cho <jae_hyun.cho@samsung.com> | 2020-01-15 18:45:38 +0900 |
commit | 76631f502a8234c04ed8124bfdebe62ed5bdf954 (patch) | |
tree | abe50c8cf4eb50b64f71516ce811e9928ae6229d | |
parent | a53ef37c5411218091101445e6c1db2035498d7a (diff) | |
download | efl-76631f502a8234c04ed8124bfdebe62ed5bdf954.tar.gz |
efl_mono: remove class ExtensionTag
Summary:
Since class BindablePart and class BindableProperty use generic type
constraint as "where T : <class name>", class ExtensionTag is no longer
needed.
Reviewers: SanghyeonLee, felipealmeida, YOhoho
Reviewed By: YOhoho
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11101
-rw-r--r-- | src/bin/eolian_mono/eolian/mono/function_definition.hh | 10 | ||||
-rw-r--r-- | src/bin/eolian_mono/eolian/mono/part_definition.hh | 5 | ||||
-rw-r--r-- | src/bindings/mono/efl_mono/Bind.cs | 14 |
3 files changed, 6 insertions, 23 deletions
diff --git a/src/bin/eolian_mono/eolian/mono/function_definition.hh b/src/bin/eolian_mono/eolian/mono/function_definition.hh index df6f62a2fb..0c2adebe42 100644 --- a/src/bin/eolian_mono/eolian/mono/function_definition.hh +++ b/src/bin/eolian_mono/eolian/mono/function_definition.hh @@ -285,9 +285,8 @@ struct property_extension_method_definition_generator if (property.setter.is_engaged()) { attributes::type_def prop_type = property.setter->parameters[0].type; - if (!as_generator(scope_tab(2) << "public static Efl.BindableProperty<" << type(true) << "> " << managed_name << "<T>(this Efl.Ui.ItemFactory<T> fac, Efl.Csharp.ExtensionTag<" - << name_helpers::klass_full_concrete_or_interface_name(cls) - << ", T>magic = null) where T : " << name_helpers::klass_full_concrete_or_interface_name(cls) << " {\n" + if (!as_generator(scope_tab(2) << "public static Efl.BindableProperty<" << type(true) << "> " << managed_name << "<T>(this Efl.Ui.ItemFactory<T> fac) where T : " + << name_helpers::klass_full_concrete_or_interface_name(cls) << " {\n" << scope_tab(2) << scope_tab << "return new Efl.BindableProperty<" << type(true) << ">(\"" << property.name << "\", fac);\n" << scope_tab(2) << "}\n\n" ).generate(sink, std::make_tuple(prop_type, prop_type), context)) @@ -302,9 +301,8 @@ struct property_extension_method_definition_generator if (property.setter.is_engaged()) { attributes::type_def prop_type = property.setter->parameters[0].type; - if (!as_generator(scope_tab(2) << "public static Efl.BindableProperty<" << type(true) << "> " << managed_name << "<T>(this Efl.BindablePart<T> part, Efl.Csharp.ExtensionTag<" - << name_helpers::klass_full_concrete_or_interface_name(cls) - << ", T>magic = null) where T : " << name_helpers::klass_full_concrete_or_interface_name(cls) << " {\n" + if (!as_generator(scope_tab(2) << "public static Efl.BindableProperty<" << type(true) << "> " << managed_name << "<T>(this Efl.BindablePart<T> part) where T : " + << name_helpers::klass_full_concrete_or_interface_name(cls) << " {\n" << scope_tab(2) << scope_tab << "Contract.Requires(part != null, nameof(part));\n" << scope_tab(2) << scope_tab << "return new Efl.BindableProperty<" << type(true) << ">(part.PartName, \"" << property.name << "\", part.Binder);\n" << scope_tab(2) << "}\n\n" diff --git a/src/bin/eolian_mono/eolian/mono/part_definition.hh b/src/bin/eolian_mono/eolian/mono/part_definition.hh index 4facf27209..d87b0b56ac 100644 --- a/src/bin/eolian_mono/eolian/mono/part_definition.hh +++ b/src/bin/eolian_mono/eolian/mono/part_definition.hh @@ -70,9 +70,8 @@ struct part_extension_method_definition_generator bindableClass = "Efl.BindableFactoryPart"; if (!as_generator( - scope_tab(2) << "public static " << bindableClass << "<" << part_klass_name << "> " << name_helpers::managed_part_name(part) << "<T>(this Efl.Ui.ItemFactory<T> fac, Efl.Csharp.ExtensionTag<" - << name_helpers::klass_full_concrete_or_interface_name(cls) - << ", T> x=null) where T : " << name_helpers::klass_full_concrete_or_interface_name(cls) << "\n" + scope_tab(2) << "public static " << bindableClass << "<" << part_klass_name << "> " << name_helpers::managed_part_name(part) << "<T>(this Efl.Ui.ItemFactory<T> fac) where T : " + << name_helpers::klass_full_concrete_or_interface_name(cls) << "\n" << scope_tab(2) << "{\n" << scope_tab(2) << scope_tab << "return new " << bindableClass << "<" << part_klass_name << ">(\"" << part.name << "\", fac);\n" << scope_tab(2) << "}\n\n" diff --git a/src/bindings/mono/efl_mono/Bind.cs b/src/bindings/mono/efl_mono/Bind.cs index 2a4fcbded5..302f1dadd2 100644 --- a/src/bindings/mono/efl_mono/Bind.cs +++ b/src/bindings/mono/efl_mono/Bind.cs @@ -148,20 +148,6 @@ public class BindableFactoryPart<T> } } -namespace Csharp -{ - -/// <summary>Helper class to differentiate between factory extension methods. -/// -/// For internal use only.</summary> -[EditorBrowsable(EditorBrowsableState.Never)] -public class ExtensionTag<TBase, TInherited> - where TInherited : TBase -{ -} - -} - } #endif |