Dimitar Dobrev
b7fa720ee1
Generate valid C# for constructors taking const&
...
Fixes https://github.com/mono/CppSharp/issues/1119 .
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
5 years ago
Dimitar Dobrev
6dcb2ac31a
Generate valid C# for returned function pointers
...
Fixes https://github.com/mono/CppSharp/issues/1226 .
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
5 years ago
Dimitar Dobrev
2acbf32a96
Fix generation for fields of type const reference
...
Fixes https://github.com/mono/CppSharp/issues/1323 .
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
5 years ago
Build Agent
e31dc22ab1
CreateInstance factory overload to pass flag informing wrapper if it should own the native pointer passed to it.
5 years ago
Dimitar Dobrev
081ac688f4
Simplify the mapping of virtual tables in C#
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
5 years ago
Dimitar Dobrev
09222174c1
Made the original virtual tables static too
...
Virtual tables are the same object per class in C++.
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
5 years ago
Dimitar Dobrev
0da9c46a73
Pass native pointers to bases in the generated C#
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
5 years ago
Dimitar Dobrev
c214b10e3c
Check type maps when printing C++ for pointers
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
5 years ago
João Matos
6a9d829698
Implement more accurate managed type printing in C++ type printer.
5 years ago
João Matos
2a7d7fa469
Use a native type printer context when looking for type maps in CSharpSourcesExtensions.DisableTypeMap.
5 years ago
João Matos
63c42c3252
Use explicit type printer when printing types in C# GenerateMethodSpecifier.
5 years ago
João Matos
9ba53acc11
Refactor CodeGenerator.GenerateMethodSpecifier to allow explicit specifier kind.
5 years ago
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
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
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
4e30a41ee8
Correctly align printed information for debugging
...
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
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
João Matos
b091a0370a
Extract and rework type map finding code from VisitTagType in C++ type printer.
5 years ago
João Matos
c7db119d47
Fix marshaling for wchar_t in C++ generator mode.
5 years ago
João Matos
060432c2d9
Remove some dead code.
5 years ago
João Matos
daef4342c1
Fix generation of field property setters in C++ generator.
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
Build Agent
574fbca2c8
Add declaration context as object to function class block
5 years ago
Build Agent
010099021c
Add blocks for ctor, dtor, and finalizer bodies. Add constructor that takes a bool from the caller to indicate if the callee should own the pointer passed to it or not
5 years ago
João Matos
1ad118ceba
Fix type printing of typedef qualifiers in C++ type printer.
5 years ago
João Matos
64a99cce08
Fix C++ parser ambiguity in generation of C++ method identifiers by wrapping them in parens.
5 years ago
João Matos
aa2a7117ac
Fix generation of C++ constructor for abstract classes.
5 years ago
João Matos
38a037e104
Fix generation of native instance constructors in C++ generator.
5 years ago
João Matos
0f23d871de
Fix marshaling of C++ references in C++ marshaler.
5 years ago
João Matos
a6fc9fa8e4
Fix CppTypePrinter to check for typemaps for tag types and keep track of them.
5 years ago
João Matos
21ec93209e
Implement a few overloads in CppTypePrinter that trigger the type maps checking code.
5 years ago
João Matos
0be50847df
Minor formatting fixes.
5 years ago
João Matos
41a366597e
Reformat long lines in CppTypePrinter.cs.
5 years ago
João Matos
55a31b05bf
CppTypePrinter now takes a BindingContext for further usage in type maps handling.
5 years ago
João Matos
3e67c1f9e3
Only generate “override” in header files for C++ generator.
5 years ago
João Matos
283ba0ea3b
Overall fixes to C++ generation.
5 years ago
Ali Alamiri
3547203538
Marshal non primitive fixed arrays. ( #1311 )
...
Marshal non primitive fixed arrays.
5 years ago
Dimitar Dobrev
89efbf69fd
Remove and simplify code in the major refactoring
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
5 years ago
João Matos
29f1cc2901
Implement proper array printing with C array name suffix notation.
5 years ago
João Matos
d3935ec45c
Refactor type printing placeholder and name prefix/suffix code.
5 years ago
João Matos
7555cabd1b
Fix CLITypeReferences so it generates regular C++ code in C++ generator mode.
5 years ago
João Matos
cfba72ce1b
Initial C++ generator backend.
5 years ago
João Matos
7bad042715
Refactor CLI handling of enums to be based on generic C generator.
5 years ago