efl/src/bindings/mono/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
Bind.cs csharp: Skip non-public members from interfaces 2019-09-10 19:30:47 -03:00
Factory.cs csharp: Fix factory inheritance. 2019-08-30 15:08:53 +09:00
GenericModel.cs eolian-mono: Removing I prefix from classes. 2019-09-06 16:06:09 +02:00
UserModel.cs efl-mono: Add Model manual implementation to C# and MVVM factories 2019-08-05 10:18:18 -04:00
efl_all.cs csharp: Do some iterations on exit. 2019-05-31 18:01:04 -03:00
efl_csharp_application.cs eolian-mono: Renaming suffix for event and event args 2019-09-06 15:55:17 +02:00
efl_libs.cs.in efl-mono: Add support for dotnet core 2019-03-01 23:58:56 -03:00
efl_libs.csv.in
map_generate.sh meson: time for the c-sharp build 2018-10-24 12:05:58 +02:00
meson.build efl-mono: Add Model manual implementation to C# and MVVM factories 2019-08-05 10:18:18 -04:00