efl/src/tests/efl_mono
Yeongjong Lee 581bec9598 eolian_mono: make struct immutable
Summary:
Immutable value type is recommeneded for struct type in cs world.
`DO NOT define mutable value types.`
(see, https://docs.microsoft.com/en-us/dotnet/standard/design-guidelines/struct)

Also, this patch include refactoring of generated struct types.
1. Change field type to property type that have only getter. it will fix CA1051(ref T8397).
2. Remove internal NativeStruct. there is private field for marshalling struct instead.
3. Fix some test cases that change value inside struct. because struct is immutable.

Test Plan: meson build -Dbindings=mono,cxx -Dmono-beta=true

Reviewers: woohyun, felipealmeida, Jaehyun_Cho

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8397

Differential Revision: https://phab.enlightenment.org/D11146
2020-01-28 14:46:10 +09:00
..
.gitignore
Array.cs c#: Implement IList to Eina.Array. 2019-12-22 11:31:35 -03:00
BasicDirection.cs csharp: Disposing IDisposable objects. 2019-11-14 15:32:42 -03:00
Eina.cs eina_mono: replace eina_list and eina_array with IList 2020-01-14 17:17:05 +09:00
EinaTestData.cs csharp: rename ExtensionMethods 2020-01-06 19:08:44 +09:00
Eldbus.cs csharp: space after keywords. 2019-10-31 07:53:00 -03:00
Eo.cs csharp: cleanup concrete class 2020-01-23 07:30:14 +09:00
EoConstruction.cs csharp: Add licensing information. 2019-10-24 10:10:56 -03:00
EoPromises.cs csharp: Disposing IDisposable objects. 2019-11-14 15:32:42 -03:00
Errors.cs csharp: Disposing IDisposable objects. 2019-11-14 15:32:42 -03:00
Events.cs eolian_mono: make struct immutable 2020-01-28 14:46:10 +09:00
FunctionPointerMarshalling.cs csharp: Disposing IDisposable objects. 2019-11-14 15:32:42 -03:00
FunctionPointers.cs csharp: Disposing IDisposable objects. 2019-11-14 15:32:42 -03:00
Hash.cs csharp: Disposing IDisposable objects. 2019-11-14 15:32:42 -03:00
Inheritance.cs csharp: Iterate more in GC-dependent test 2019-11-26 12:40:32 -03:00
List.cs c#: Implement IList<T> to Eina.List. 2019-12-11 18:58:20 -03:00
Main.cs csharp: Specifying StringComparison. 2019-11-20 17:47:44 -03:00
Model.cs eolian_mono: add namespace to extension methods of ItemFactory 2020-01-06 19:07:28 +09:00
Parts.cs eolian_mono: add namespace to extension methods of ItemFactory 2020-01-06 19:07:28 +09:00
Promises.cs csharp: Disposing IDisposable objects. 2019-11-14 15:32:42 -03:00
Strbuf.cs csharp: Disposing IDisposable objects. 2019-11-14 15:32:42 -03:00
Strings.cs csharp: Disposing IDisposable objects. 2019-11-14 15:32:42 -03:00
StructHelpers.cs eolian_mono: make struct immutable 2020-01-28 14:46:10 +09:00
Structs.cs eolian_mono: make struct immutable 2020-01-28 14:46:10 +09:00
TestUtils.cs csharp: Add licensing information. 2019-10-24 10:10:56 -03:00
Value.cs csharp: Disposing IDisposable objects. 2019-11-14 15:32:42 -03:00
ValueEolian.cs csharp: Disposing IDisposable objects. 2019-11-14 15:32:42 -03:00
dummy_child.c csharp: Add licensing information. 2019-10-24 10:10:56 -03:00
dummy_child.eo Revert "eolian: disallow missing docs for stable API where necessary" 2019-09-30 19:48:19 +02:00
dummy_constructible_object.c csharp: Add licensing information. 2019-10-24 10:10:56 -03:00
dummy_constructible_object.eo Revert "eolian: disallow missing docs for stable API where necessary" 2019-09-30 19:48:19 +02:00
dummy_event_manager.c Revert "csharp: Property Indexer implementation" 2020-01-21 07:00:44 +09:00
dummy_event_manager.eo Revert "csharp: Property Indexer implementation" 2020-01-21 07:00:44 +09:00
dummy_hidden_object.c csharp: Fix wrapping of private classes 2019-09-24 18:00:05 -03:00
dummy_hidden_object.eo Revert "eolian: disallow missing docs for stable API where necessary" 2019-09-30 19:48:19 +02:00
dummy_inherit_helper.c csharp: Add licensing information. 2019-10-24 10:10:56 -03:00
dummy_inherit_helper.eo Revert "eolian: disallow missing docs for stable API where necessary" 2019-09-30 19:48:19 +02:00
dummy_inherit_iface.eo Revert "eolian: disallow missing docs for stable API where necessary" 2019-09-30 19:48:19 +02:00
dummy_interfaces.c csharp: Add licensing information. 2019-10-24 10:10:56 -03:00
dummy_numberwrapper.c csharp: Add licensing information. 2019-10-24 10:10:56 -03:00
dummy_numberwrapper.eo Revert "eolian: disallow missing docs for stable API where necessary" 2019-09-30 19:48:19 +02:00
dummy_part_holder.c csharp: Add licensing information. 2019-10-24 10:10:56 -03:00
dummy_part_holder.eo Revert "eolian: disallow missing docs for stable API where necessary" 2019-09-30 19:48:19 +02:00
dummy_test_iface.eo csharp: Add since info to members related to events. 2019-10-12 19:20:58 -03:00
dummy_test_object.c csharp: cleanup concrete class 2020-01-23 07:30:14 +09:00
dummy_test_object.eo csharp: cleanup concrete class 2020-01-23 07:30:14 +09:00
efl-mono-suite.runtimeconfig.json efl-mono: Add support for dotnet core 2019-03-01 23:58:56 -03:00
efl_sharp_test_suite.csproj.in csharp: Add StyleCop support to dotnet build 2019-12-30 22:17:32 -03:00
eolian_mono_suite.cc csharp: Fix helper function 2019-11-22 12:01:59 -03:00
libefl_mono_native_test.h csharp: Add licensing information. 2019-10-24 10:10:56 -03:00
meson.build csharp: Add StyleCop support to dotnet build 2019-12-30 22:17:32 -03:00
mono_test_driver.sh efl_mono: fix test and example compilation on Windows 2017-12-15 22:26:30 -02:00