felipealmeida pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=81317305e03903ffc01e3dc7a621bc0e06ea1bda

commit 81317305e03903ffc01e3dc7a621bc0e06ea1bda
Author: Jaehyun Cho <jae_hyun....@samsung.com>
Date:   Mon Jan 14 15:21:21 2019 +0900

    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
---
 src/bin/eolian_mono/eolian/mono/alias_definition.hh |  2 +-
 src/bin/eolian_mono/eolian/mono/name_helpers.hh     |  4 +++-
 src/bindings/mono/eo_mono/workaround.cs             | 13 -------------
 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

-- 


Reply via email to