aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJaehyun Cho <jae_hyun.cho@samsung.com>2019-01-14 15:21:21 +0900
committerFelipe Magno de Almeida <felipe@expertisesolutions.com.br>2019-01-14 15:36:14 +0900
commit81317305e03903ffc01e3dc7a621bc0e06ea1bda (patch)
tree3dd385de465b0b3e3d069b17076e66e2f1bc2550
parentelm - dnd - restore to working as drop targets (diff)
downloadefl-81317305e03903ffc01e3dc7a621bc0e06ea1bda.tar.gz
efl_mono: remove '_' from type for C# naming convention
Summary: "type" in .eo is converted to "struct" in .eo.cs. Since the type name in .eo is the same with the struct name .eo.cs, '_' is removed from the converted struct in .eo.cs for C# naming convention. For example, Efl.Callback_Priority is defined in efl_object.eo and the name is converted to Efl.CallbackPriority in efl_object.eo.cs. Efl.Access.StateSet in workaround.cs causes duplicated definition with this patch so Efl.Access.StateSet in workaround.cs is removed. Test Plan: Compile with autogen.sh --enable-csharp-bindings Reviewers: lauromoura, segfaultxavi, felipealmeida Reviewed By: felipealmeida Subscribers: segfaultxavi, cedric, #reviewers, #committers, woohyun Tags: #efl Differential Revision: https://phab.enlightenment.org/D7597
-rw-r--r--src/bin/eolian_mono/eolian/mono/alias_definition.hh2
-rw-r--r--src/bin/eolian_mono/eolian/mono/name_helpers.hh4
-rw-r--r--src/bindings/mono/eo_mono/workaround.cs13
3 files changed, 4 insertions, 15 deletions
diff --git a/src/bin/eolian_mono/eolian/mono/alias_definition.hh b/src/bin/eolian_mono/eolian/mono/alias_definition.hh
index 91659fb7bd..cf9d3495ce 100644
--- a/src/bin/eolian_mono/eolian/mono/alias_definition.hh
+++ b/src/bin/eolian_mono/eolian/mono/alias_definition.hh
@@ -33,7 +33,7 @@ struct alias_definition_generator
if (!name_helpers::open_namespaces(sink, alias.namespaces, context))
return false;
- std::string const& alias_name = alias.eolian_name;
+ std::string const alias_name = utils::remove_all(alias.eolian_name, '_');
if (!as_generator(
"public struct " << alias_name << " {\n"
<< scope_tab << "private " << type << " payload;\n"
diff --git a/src/bin/eolian_mono/eolian/mono/name_helpers.hh b/src/bin/eolian_mono/eolian/mono/name_helpers.hh
index 79aa5b47ae..801d721008 100644
--- a/src/bin/eolian_mono/eolian/mono/name_helpers.hh
+++ b/src/bin/eolian_mono/eolian/mono/name_helpers.hh
@@ -194,7 +194,9 @@ inline std::string managed_method_name(attributes::function_def const& f)
inline std::string alias_full_eolian_name(attributes::alias_def const& alias)
{
- return join_namespaces(alias.namespaces, '.') + alias.eolian_name;
+
+ std::string eolian_name = utils::remove_all(alias.eolian_name, '_');
+ return join_namespaces(alias.namespaces, '.') + eolian_name;
}
inline std::string managed_async_method_name(attributes::function_def const& f)
diff --git a/src/bindings/mono/eo_mono/workaround.cs b/src/bindings/mono/eo_mono/workaround.cs
index 1fa3889d48..99fb53b7e4 100644
--- a/src/bindings/mono/eo_mono/workaround.cs
+++ b/src/bindings/mono/eo_mono/workaround.cs
@@ -134,19 +134,6 @@ public struct ActionData {
public IntPtr func;
}
-public struct StateSet {
- private ulong val;
-
- public static implicit operator StateSet(ulong x)
- {
- return new StateSet{val=x};
- }
- public static implicit operator ulong(StateSet x)
- {
- return x.val;
- }
-}
-
} // namespace Access
} // namespace Efl