efl/src/tests/efl_mono
Lauro Moura dfb856158c csharp: Skip non-public members from interfaces
Summary:
Eolian allows non-public members in interfaces and mixins (usually
@protected). As both kinds are converted to C# interfaces, this
causes problem as non-public members are forbidden in C# interfaces.

This commit changes eolian_mono by removing those members from the C#
interfaces. If a generated class implements the interface, the method is
generated as if it were a protected member of the class directly.

For mixed properties like `Efl.Io.Reader.CanRead { get; set @protected; }`,
the interface has only the public getter and the the implementing class has both
the public getter and the protected setter.

With this, C# devs won't be able to directly implement protected Eo
methods from interfaces. (But this really does not make sense from the
C# point of view).

ref T7494

Reviewers: segfaultxavi, felipealmeida, YOhoho

Reviewed By: YOhoho

Subscribers: cedric, brunobelo, Jaehyun_Cho, #reviewers, woohyun, #committers

Tags: #efl

Maniphest Tasks: T7494

Differential Revision: https://phab.enlightenment.org/D9800
2019-09-10 19:30:47 -03:00
..
.gitignore
BasicDirection.cs csharp: update and disable tests that use deprecated eolian type notations 2019-07-09 10:05:23 +02:00
Eina.cs csharp: fix ownership of value types in arrays and lists 2019-08-05 19:15:35 -03:00
EinaTestData.cs csharp: re-enable binbuf tests with -Dmono-beta=false 2019-08-05 18:55:20 -03:00
Eldbus.cs efl_mono: Fix eldbus warnings and typo. 2018-05-17 16:56:18 -03:00
Eo.cs csharp: Skip non-public members from interfaces 2019-09-10 19:30:47 -03:00
EoConstruction.cs csharp: encapsulate some internal code of EoWrapper 2019-07-05 09:57:23 +09:00
EoPromises.cs efl_app: introduce app_main for getting the app object 2018-12-20 12:56:54 +01:00
Errors.cs eolian-mono: Renaming suffix for event and event args 2019-09-06 15:55:17 +02:00
Events.cs CSharp: Cleanup test that inserts idle event and do not remove it 2019-09-10 18:58:31 -03:00
FunctionPointerMarshalling.cs csharp: Change to new class API. 2018-11-29 21:29:48 -02:00
FunctionPointers.cs csharp: fix some unit tests that rely on garbage collection 2019-07-12 17:15:37 -03:00
Inheritance.cs csharp: fix build warning related with an unused field in an unit test 2019-07-09 09:59:24 +02:00
Main.cs efl-mono: Add Model manual implementation to C# and MVVM factories 2019-08-05 10:18:18 -04:00
Model.cs eolian-mono: Removing I prefix from classes. 2019-09-06 16:06:09 +02:00
Parts.cs csharp: Add bindable factory parts support 2019-08-23 14:17:44 -03:00
Promises.cs efl-mono: Fix value forwarding in promises/async 2019-06-27 19:31:55 -03:00
Strbuf.cs csharp: Adding ToString methods to Strbuf and custommarshaler. 2019-09-10 17:42:19 -03:00
Strings.cs csharp: Change to new class API. 2018-11-29 21:29:48 -02:00
StructHelpers.cs csharp: re-enable binbuf tests with -Dmono-beta=false 2019-08-05 18:55:20 -03:00
Structs.cs csharp: re-enable binbuf tests with -Dmono-beta=false 2019-08-05 18:55:20 -03:00
TestUtils.cs csharp: fix some unit tests that rely on garbage collection 2019-07-12 17:15:37 -03:00
Value.cs csharp: Enable conversion of container Eina.Values 2019-07-11 15:57:32 -03:00
ValueEolian.cs csharp: Add EFL_BETA guards around new test 2019-07-30 17:57:24 -03:00
dummy_child.c csharp: Split test files 2019-05-22 17:32:46 -03:00
dummy_child.eo efl-csharp: Respect beta in constructor parameters. 2019-03-07 13:03:33 +01:00
dummy_constructible_object.c csharp: fix some compilation warnings 2019-06-28 10:58:24 -03:00
dummy_constructible_object.eo csharp: make inherited C# classes constructible from native C 2019-06-28 10:38:57 -03:00
dummy_event_manager.c csharp: Add some tests 2019-05-31 17:41:14 -03:00
dummy_event_manager.eo bindings: Rename test cxx and csharp eo ownership tags 2019-09-05 20:05:19 +02:00
dummy_inherit_helper.c csharp: Split test files 2019-05-22 17:32:46 -03:00
dummy_inherit_helper.eo eolian: rename @class on methods to @static 2019-08-16 16:27:00 +02:00
dummy_inherit_iface.eo bindings: Rename test cxx and csharp eo ownership tags 2019-09-05 20:05:19 +02:00
dummy_interfaces.c csharp: Skip non-public members from interfaces 2019-09-10 19:30:47 -03:00
dummy_numberwrapper.c csharp: Split test files 2019-05-22 17:32:46 -03:00
dummy_numberwrapper.eo csharp: Change to new class API. 2018-11-29 21:29:48 -02:00
dummy_part_holder.c csharp: Refactor wrapper lifetime. 2019-05-31 17:44:12 -03:00
dummy_part_holder.eo eolian_mono: fix non-beta build and support for slice/rw_slice keywords 2019-07-09 10:00:06 +02:00
dummy_test_iface.eo csharp: Skip non-public members from interfaces 2019-09-10 19:30:47 -03:00
dummy_test_object.c csharp: Skip non-public members from interfaces 2019-09-10 19:30:47 -03:00
dummy_test_object.eo csharp: Skip non-public members from interfaces 2019-09-10 19:30:47 -03:00
efl-mono-suite.runtimeconfig.json efl-mono: Add support for dotnet core 2019-03-01 23:58:56 -03:00
libefl_mono_native_test.h csharp: make inherited C# classes constructible from native C 2019-06-28 10:38:57 -03:00
meson.build efl-mono: Add Model manual implementation to C# and MVVM factories 2019-08-05 10:18:18 -04:00
mono_test_driver.sh efl_mono: fix test and example compilation on Windows 2017-12-15 22:26:30 -02:00