forked from enlightenment/efl
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
This commit is contained in:
parent
a53ef37c54
commit
76631f502a
|
@ -285,9 +285,8 @@ struct property_extension_method_definition_generator
|
||||||
if (property.setter.is_engaged())
|
if (property.setter.is_engaged())
|
||||||
{
|
{
|
||||||
attributes::type_def prop_type = property.setter->parameters[0].type;
|
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<"
|
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)
|
<< name_helpers::klass_full_concrete_or_interface_name(cls) << " {\n"
|
||||||
<< ", T>magic = null) 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) << scope_tab << "return new Efl.BindableProperty<" << type(true) << ">(\"" << property.name << "\", fac);\n"
|
||||||
<< scope_tab(2) << "}\n\n"
|
<< scope_tab(2) << "}\n\n"
|
||||||
).generate(sink, std::make_tuple(prop_type, prop_type), context))
|
).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())
|
if (property.setter.is_engaged())
|
||||||
{
|
{
|
||||||
attributes::type_def prop_type = property.setter->parameters[0].type;
|
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<"
|
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)
|
<< name_helpers::klass_full_concrete_or_interface_name(cls) << " {\n"
|
||||||
<< ", T>magic = null) 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 << "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) << scope_tab << "return new Efl.BindableProperty<" << type(true) << ">(part.PartName, \"" << property.name << "\", part.Binder);\n"
|
||||||
<< scope_tab(2) << "}\n\n"
|
<< scope_tab(2) << "}\n\n"
|
||||||
|
|
|
@ -70,9 +70,8 @@ struct part_extension_method_definition_generator
|
||||||
bindableClass = "Efl.BindableFactoryPart";
|
bindableClass = "Efl.BindableFactoryPart";
|
||||||
|
|
||||||
if (!as_generator(
|
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<"
|
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)
|
<< name_helpers::klass_full_concrete_or_interface_name(cls) << "\n"
|
||||||
<< ", T> x=null) where T : " << name_helpers::klass_full_concrete_or_interface_name(cls) << "\n"
|
|
||||||
<< scope_tab(2) << "{\n"
|
<< scope_tab(2) << "{\n"
|
||||||
<< scope_tab(2) << scope_tab << "return new " << bindableClass << "<" << part_klass_name << ">(\"" << part.name << "\", fac);\n"
|
<< scope_tab(2) << scope_tab << "return new " << bindableClass << "<" << part_klass_name << ">(\"" << part.name << "\", fac);\n"
|
||||||
<< scope_tab(2) << "}\n\n"
|
<< scope_tab(2) << "}\n\n"
|
||||||
|
|
|
@ -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
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue