summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorLauro Moura <lauromoura@gmail.com>2019-02-11 16:53:29 -0200
committerVitor Sousa <vitorsousa@expertisesolutions.com.br>2019-02-11 16:59:10 -0200
commit9277586fd8244826bdfbbc7625c3a08be71f5e06 (patch)
tree3252833738a1009969bcc280011f6f51485b2be8 /src
parent133b659b7301c2bf577491575a5e7f455b345347 (diff)
efl-csharp: Fix self in iface concrete functions
Summary: It was mistakenly being called as static functions. Fixes T7619 Test Plan: See attached testcase. Reviewers: segfaultxavi, bu5hm4n, vitor.sousa Reviewed By: vitor.sousa Subscribers: cedric, #reviewers, #committers Tags: #efl Maniphest Tasks: T7619 Differential Revision: https://phab.enlightenment.org/D7904
Diffstat (limited to 'src')
-rw-r--r--src/bin/eolian_mono/eolian/mono/function_definition.hh2
-rw-r--r--src/tests/efl_mono/Eo.cs13
2 files changed, 14 insertions, 1 deletions
diff --git a/src/bin/eolian_mono/eolian/mono/function_definition.hh b/src/bin/eolian_mono/eolian/mono/function_definition.hh
index 5a78bc735f..f89ac954cb 100644
--- a/src/bin/eolian_mono/eolian/mono/function_definition.hh
+++ b/src/bin/eolian_mono/eolian/mono/function_definition.hh
@@ -169,7 +169,7 @@ struct function_definition_generator
169 // inherited is set in the constructor, true if this instance is from a pure C# class (not generated). 169 // inherited is set in the constructor, true if this instance is from a pure C# class (not generated).
170 if (do_super && !f.is_static) 170 if (do_super && !f.is_static)
171 self = "(inherited ? Efl.Eo.Globals.efl_super(" + self + ", this.NativeClass) : " + self + ")"; 171 self = "(inherited ? Efl.Eo.Globals.efl_super(" + self + ", this.NativeClass) : " + self + ")";
172 else 172 else if (f.is_static)
173 self = name_helpers::klass_get_full_name(f.klass) + "()"; 173 self = name_helpers::klass_get_full_name(f.klass) + "()";
174 174
175 if(!as_generator 175 if(!as_generator
diff --git a/src/tests/efl_mono/Eo.cs b/src/tests/efl_mono/Eo.cs
index 37d4735b90..ed1d65a779 100644
--- a/src/tests/efl_mono/Eo.cs
+++ b/src/tests/efl_mono/Eo.cs
@@ -369,4 +369,17 @@ class TestConstructors
369 } 369 }
370} 370}
371 371
372class TestInterfaceConcrete
373{
374 // For T7619
375 public static void test_iface_concrete_methods()
376 {
377 var obj = new Dummy.TestObject();
378 Dummy.TestIface iface = Dummy.TestIfaceConcrete.static_cast(obj);
379
380 iface.IfaceProp = 1970;
381 Test.AssertEquals(iface.IfaceProp, 1970);
382 }
383}
384
372} 385}