Dimitar Dobrev
e11057d71d
Fix regressed virtual read-only properties with setters in subclasses
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Dimitar Dobrev
9d365a6b9a
Restore mapping of two properties of the same name save for a prefix
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Dimitar Dobrev
b12acfcce7
Upgrade ANSI marshalling to UTF-8 marshalling
...
UTF-8 is backwards-compatible with i.e. a strict superset of, ANSI, so we can safely marshal any ANSI as UTF-8 and thus we gain UTF-8 support for free.
Also fixed leaking memory when passing strings to native code as nobody ever freed the previously used Marshal.StringToPtr.
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Dimitar Dobrev
fac861ad8d
Make indexers use non-trivial copy ctors if any
...
Fixes #1229 .
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Dimitar Dobrev
6b744458b4
Flatten anonymous types to avoid empty names
...
This improves our generated API as we no longer need "_0"-like names and also prevents conflicts between an anonymous type and a property of this type.
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Dimitar Dobrev
ce3d5d572a
Generate valid C# when a function is named "get<number>"
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Dimitar Dobrev
0e8c80c3b2
Name anonymous types after the fields which use them
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Joao Matos
76ef6b046e
Add a test for passing by value of structs with copy ctors.
6 years ago
Dimitar Dobrev
51d422a756
Fix invalid C++/CLI generated for anonymous types
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Dimitar Dobrev
c358d6bbef
Expose public anonymous types
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Dimitar Dobrev
9cad9462e2
Fixed ambiguous code when a nested type and a property-like method with overloads have the same name
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Dimitar Dobrev
aad3b7f186
Fixed the renaming of properties with the same name as their owners.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Dimitar Dobrev
bc7f20a10a
Fixed the generated C# when an instance method has a parameter named "instance".
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Dimitar Dobrev
b966bd6798
Fixed the generated C# for const/non-const overloads with > 1 param.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Dimitar Dobrev
980f36735c
Fixed the generated C# when a ref parameter is named after a keyword.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
7 years ago
Dimitar Dobrev
5df67cd0c7
Fixed the generation for parameters of type void**.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
7 years ago
Dimitar Dobrev
6602841a3c
Fixed the generated C# for const void*& in parameters.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
7 years ago
Joao Matos
7fedac2740
Fixed warnings in native test code.
7 years ago
Dimitar Dobrev
b0db304523
Fixed overloading of operators with parameters mapped to the same type.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
7 years ago
Dimitar Dobrev
a65f91949c
Handled int and long in maps to help resolve ambiguity.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
7 years ago
Dimitar Dobrev
4adc3d646a
Fixed right-value references creating ambiguous overloads.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
7 years ago
Dimitar Dobrev
202ae75df4
Fixed the generated code in a case of ambiguous overloads.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
7 years ago
Dimitar Dobrev
a240827d54
Added a test for passing an std::string by value.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
7 years ago
Dimitar Dobrev
e035b27686
Fixed a crash when parsing type aliases.
...
This was caused by a change in behaviour in Clang - a8770a7e8e
(SVN revision 346146).
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
7 years ago
Joao Matos
ef0b054301
Split Parser::ParseHeader into helper methods.
...
Use clang::SemaConsumer interface callback to walk over the parsed AST.
This deals with a nasty bug that occurs when processing late-parsed template declarations.
The clang::Parser object life is tied to clang::ParseAST function, so we need to process the AST in the callback.
Fixes https://github.com/mono/CppSharp/issues/1123 and (hopefully) https://github.com/mono/CppSharp/issues/1124 .
7 years ago
Dimitar Dobrev
3917ca2584
Fixed renaming when items of an enum only differ by case.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
7 years ago
Matthew Albrecht
f8ccbb80c0
Added parameter index to managed marshal variables
7 years ago
Rokas Kupstys
d8b53721ef
Fix for #1043 ( #1044 )
...
Field property getter returns non-value types by reference instead of by copy.
Fixes #1043
* Minor code clarity cleanup in GenerateFieldSetter. No behavior changed.
* Fix incorrect code generated in some cases.
* Test for fields getters returning references.
8 years ago
Dimitar Dobrev
67b241d95b
Added support for 16-bit wide characters (char16_t).
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
8 years ago
Dimitar Dobrev
9c2f62c3eb
Fixed a crash when parsing unnamed declarations in name-spaces.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
8 years ago
Joao Matos
bea0653268
Fixed code generation for using template types.
...
Thanks to @zillemarco for coming up with the test case.
8 years ago
Dimitar Dobrev
4b374c9084
Fixed the generated C# for two anonymous types nested in another anonymous type.
...
Fixes https://github.com/mono/CppSharp/issues/931 .
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
8 years ago
Dimitar Dobrev
358650a155
Enabling empty arrays of non-primitives only when not using MSVC.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
8 years ago
Joao Matos
ec66216345
[generator] Ignore zero-sized constant C array types.
8 years ago
Dimitar Dobrev
046c428852
Fixed the binding of multiple identical function pointers with a calling convention.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
8 years ago
Dimitar Dobrev
973fdafdfe
Generated properties from setters returning Booleans.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
8 years ago
Joao Matos
09e568d0b3
[generator] Improved processing for C++ inline namespaces.
8 years ago
Joao Matos
9c83f88c7f
[generator] Fixed regression ignoring function templates.
8 years ago
Dimitar Dobrev
a056659d09
Generated properties from <type> get()/void get(<type>) pairs.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
8 years ago
Dimitar Dobrev
f9a8798b8f
Fixed the generated C# for setters with a reference to a primitive type.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
8 years ago
Dimitar Dobrev
8b9c3ab89f
Fixed a regression when a public virtual is overridden as private.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
8 years ago
Dimitar Dobrev
49104ee0bf
Added a test for getting bases of ignored overrides in secondary bases.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
8 years ago
Dimitar Dobrev
cece243a06
Equalised the access of overrides and their base methods.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
8 years ago
Dimitar Dobrev
2002377f27
Fixed the generated C# when a protected constructor has a parameter with a protected type.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
8 years ago
Mohit Mohta
49e94460a5
Fixes Stack mismatch when bool param passed from C++ to C#
...
Fixes #834
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
8 years ago
Dimitar Dobrev
9f4d501d0b
Fixed a regression of overridden setters not turning into properties.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
8 years ago
Mohit Mohta
65d5037a72
Fixed the generation of C# for Virtual function with std::string params ( #878 )
...
Fixes #877
8 years ago
ktopouzi
75b96143d2
Used packing when laying marshalling structures out sequentially.
...
Fixes https://github.com/mono/CppSharp/issues/772 .
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
8 years ago
Kimon Topouzidis
1298634804
Extended declarations to store their packing. ( #871 )
8 years ago
Dimitar Dobrev
422b98a0fd
Enabled the tests for std::string.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
8 years ago