Ali Alamiri
29adf57f83
Correctly marshal constant arrays in C++/CLI ( #1346 )
...
Co-authored-by: Build Agent <admin@sage.com>
5 years ago
Ali Alamiri
c23ef39bca
Marshal pointer to primitive typedefs in C++/CLI ( #1355 )
...
Co-authored-by: Build Agent <admin@sage.com>
5 years ago
Dimitar Dobrev
54c6159f35
Fix naming conflicts with nested types and members
...
Fixes https://github.com/mono/CppSharp/issues/1353 .
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
5 years ago
João Matos
6a007e6d60
Implement basic support for parsing function-like macros.
5 years ago
Dimitar Dobrev
64b1efd1e7
Generate valid C# for parameters typedef-ed to mapped types
...
Fixes https://github.com/mono/CppSharp/issues/1256 .
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
5 years ago
Dimitar Dobrev
6fd9078445
Fix the regressed C# marshalling of char*
...
Fixes https://github.com/mono/CppSharp/issues/1258 .
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
5 years ago
Ali Alamiri
e0b8b58836
Handle pointer to pointer param ( #1343 )
...
Generate valid C++/CLI for passed pointers to pointers
Co-authored-by: Build Agent <admin@sage.com>
5 years ago
Ali Alamiri
190cbfa2d3
Handle returned pointers to std::vector in C++/CLI
...
Co-authored-by: Build Agent <admin@sage.com>
5 years ago
Dimitar Dobrev
7b6fb6e340
Implement abstract templates to call virtuals
...
This allows for, just as with regular classes, the calling of virtual methods of abstract templates returned by functions.
Fixes https://github.com/mono/CppSharp/issues/1270 .
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
5 years ago
Dimitar Dobrev
c23bc89f86
Clean all warnings in the non-generated C#
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
5 years ago
Dimitar Dobrev
8dfcd5b717
Fix all memory leaks in tests
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
5 years ago
Dimitar Dobrev
653f4cc287
Generate by ref parameters of type a pointer to enum
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
5 years ago
Ali Alamiri
eb838be70f
Use UnsupportedType description for type name instead of empty string ( #1339 )
...
Use UnsupportedType description for type name instead of empty string
5 years ago
Dimitar Dobrev
7fc681a41d
Ensure complete template specializations in AST
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
5 years ago
João Matos
c21ddcca1e
Implement parsing and AST processing of C++ deprecated attributes.
5 years ago
João Matos
534acc564d
Fix declaration access for generated fields flattened from anonymous types.
5 years ago
Ali Alamiri
32b83a3015
Generate forward ref header for enum defined inside a class in C++/CLI ( #1322 )
...
Co-authored-by: Build Agent <admin@sage.com>
5 years ago
Ali Alamiri
344656c787
Move the GenerateInclude logic to GetTypeReference ( #1319 )
...
Improve generation of forward references and includes in C++/CLI.
Move the GenerateInclude logic to GetTypeReference so that an include is also generated for visited types of an ASTRecord that are forward declared, and come from typedef of ignored class template.
Co-authored-by: Build Agent <admin@sage.com>
5 years ago
Ali Alamiri
d2f5c26da0
By reference enum param fixes ( #1321 )
...
Fix generated C++/CLI of pointers to enums
Co-authored-by: Build Agent <admin@sage.com>
5 years ago
Ali Alamiri
3547203538
Marshal non primitive fixed arrays. ( #1311 )
...
Marshal non primitive fixed arrays.
5 years ago
Build Agent
094e1ec65a
Ensure typedefs of std::vector are mapped
5 years ago
Dimitar Dobrev
c80986e04e
Always keep default constructors in the AST
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
5 years ago
Dimitar Dobrev
40cd49ac37
Keep copy/move constructors and assignment in AST
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
5 years ago
Dimitar Dobrev
c496fcb38c
Move the body of a template function to its header
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
5 years ago
Dimitar Dobrev
d3a3484c35
Fix a crash for secondary bases with secondary bases
...
The test has also uncovered a bug where the call to a primary base isn't always adjusted so the fix is extended accordingly.
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
5 years ago
João Matos
40ca6f281a
Fix bug related to processing of potential property methods.
...
Fixes https://github.com/mono/CppSharp/issues/1291 .
5 years ago
Dimitar Dobrev
d31cab7315
Avoid invalid template specializations in tests
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
5 years ago
Joao Matos
f5638bd3cc
Fix warning about #pragma once in source file.
5 years ago
Joao Matos
c5bcb48cc2
Implement UnresolvedUsingType and UnresolvedUsingTypename.
...
Fixes https://github.com/mono/CppSharp/issues/1235 .
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
5 years ago
Dimitar Dobrev
4a4c919fb3
Extend printing and reading of exception types
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
5 years ago
Dimitar Dobrev
be54a8b695
Make destructors virtual in abstract classes for tests
...
This fixes annoying warnings when compiling the generated code for additional symbols.
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
5 years ago
Joao Matos
b15ca8827e
Avoid generating abstract implementations for template classes.
...
Fixes https://github.com/mono/CppSharp/issues/1268 .
6 years ago
Joao Matos
3409498738
Fix template type checking in CovariantTypeComparer.
...
Fixes https://github.com/mono/CppSharp/issues/1266 .
6 years ago
Ghasan Al-Sakkaf
0b9b10d2f5
Fix enum with zeros for hex literals
6 years ago
Dimitar Dobrev
05c70ea515
Generate valid C# when an external module has an unsupported operator
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Dimitar Dobrev
c62f85bfa8
Delete a custom pass added as standard
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Dimitar Dobrev
e592a2b611
Fix properties when a setter precedes a getter
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Dimitar Dobrev
ed6f8f1f96
Fix comparison of char and const char* in overloading
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Dimitar Dobrev
0e0513feaa
Fix regressed overloaded potential setters
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Dimitar Dobrev
51978ad4c4
Restore writeable properties starting with verbs
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
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
d2ebabbebe
Restore mapping of overloaded getters to methods
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Dimitar Dobrev
914b977dfd
Optimize the pass for properties
...
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
573272e855
Generate valid C# when a renamed override causes conflicts
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Dimitar Dobrev
d9a33bac7b
Ensure protected nested types are accessible with multiple inheritance
...
Fixes #594 .
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Dimitar Dobrev
1792f529ff
Fix the getting of references to pointers in C#
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Dimitar Dobrev
62fc6f90d9
Fix the passing of references to pointers in C#
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Dimitar Dobrev
c0510730f0
Prefer non-mapped types when resolving ambiguous overloads
...
This fixes a missing specialized method when it has a parameter with type a mapped template which is ignored when dependent.
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago