João Matos
d45e4ba1e3
Add CXXOperatorArity.Zero enum item for further usage in subsequent code.
6 years ago
João Matos
cfba72ce1b
Initial C++ generator backend.
6 years ago
João Matos
7bbe6a2df4
Associate getter/setter methods with their associated property in GetterSetterToProperty pass.
6 years ago
João Matos
04247b6baf
Added optional getter/setter pair creation for fields in FieldToProperty pass.
6 years ago
João Matos
7bad042715
Refactor CLI handling of enums to be based on generic C generator.
6 years ago
João Matos
40119222c1
Default to .h file extension in C code generator.
6 years ago
João Matos
c19df0cc64
Minor refactoring fixes.
6 years ago
João Matos
5af8e9eb40
Add helper methods to ignore and generate specific translation units.
6 years ago
João Matos
76ae12b89e
Guard a few more language-specific passes in the driver.
6 years ago
João Matos
1af171dc93
Fix generation of multiple interfaces in C# for some edge cases.
6 years ago
João Matos
9df2f3c5e9
Fix templates to be abstract if any specialization is abstract.
6 years ago
João Matos
db3e0e3820
Fix TranslationUnit.FileRelativePath for invalid units.
6 years ago
João Matos
ae47fd73bc
Re-use common C++ declaration type printing code in CLITypePrinter.
6 years ago
João Matos
c89d427bf2
Minor refactorings in CppTypePrinter.cs.
6 years ago
João Matos
fd914fa282
Allow changing the default TypePrinterContextKind when creating a type printer.
6 years ago
João Matos
c88ddcc60d
Refactor CLITypePrinter.cs to use string interpolation.
6 years ago
João Matos
4ac2427afc
Refactoring fixes in ParamTypeToInterfacePass.
6 years ago
João Matos
a7824abb02
Formatting fixes on MultipleInheritancePass.
6 years ago
Dimitar Dobrev
6fe81fddcc
Remove needless pointer offsets from generated C#
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 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>
6 years ago
João Matos
40ca6f281a
Fix bug related to processing of potential property methods.
...
Fixes https://github.com/mono/CppSharp/issues/1291 .
6 years ago
Dimitar Dobrev
37d391bdac
Ensure generated symbols can use placement new
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
João Matos
d110a2f045
Fix Mono not being found on the PATH on recent macOS versions.
6 years ago
Dimitar Dobrev
8b0aecef9b
Instantiate exception specifications before reading
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Dimitar Dobrev
299cb912cc
Update LLVM to the latest version
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Dimitar Dobrev
9337004bb6
Simplify and optimize the printing of pointers in C++
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Dimitar Dobrev
e4ac492560
Fix printing of function pointers in C++
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Dimitar Dobrev
ed2e45f609
Don't export symbols for explicit specializations
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Dimitar Dobrev
9b1cad799b
Update the printing of comments to the new Clang
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Dimitar Dobrev
709fcb6f7e
Work around MSVC 32 crashing reading of exported symbols in Mach-O
...
See https://bugs.llvm.org/show_bug.cgi?id=44433 .
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Joao Matos
fa5dbb9010
Improve Xcode toolchain lookup to be more robust.
...
Fixes https://github.com/mono/CppSharp/issues/1259 .
Signed-off-by: Joao Matos <joao@tritao.eu>
6 years ago
Joao Matos
be73e994bc
Implement logic for -fgnuc-version= argument required by LLVM.
...
Signed-off-by: Joao Matos <joao@tritao.eu>
6 years ago
Joao Matos
eab2620c18
Update LLVM to the latest version.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
Signed-off-by: Joao Matos <joao@tritao.eu>
6 years ago
Joao Matos
ac7bdb2585
Refactor Clang builtins directory logic and move it to the managed side.
...
This now matches systems Clang includes order on macOS which fixes a bug.
Signed-off-by: Joao Matos <joao@tritao.eu>
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Joao Matos
899e8d2caa
Improve CS_INTERNAL so it now applies to all declarations.
...
Signed-off-by: Joao Matos <joao@tritao.eu>
6 years ago
Joao Matos
29c0b8593a
Print the parser target triple in verbose mode.
...
Signed-off-by: Joao Matos <joao@tritao.eu>
6 years ago
Joao Matos
7df1623e6d
Cleanup Clang resource directory lookup logic.
...
Now the logic is more standard across platforms, we always re-use the builtin bundled headers.
Fixes https://github.com/mono/CppSharp/issues/1259 .
6 years ago
Joao Matos
1802dfa8fe
Update bootstrap tool to run against latest LLVM.
...
It generates to the end however the generated code is not fully compilable yet.
6 years ago
Joao Matos
80ae66428c
Update bootstrap tool to find LLVM build directory.
6 years ago
Dimitar Dobrev
24d2e4ca08
Improve the ignoring of dependent name types
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 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>
6 years ago
Dimitar Dobrev
58cc7c8ae8
Fix the tests for exception types
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Dimitar Dobrev
4a4c919fb3
Extend printing and reading of exception types
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Dimitar Dobrev
16bfc67a9a
Fix the check to ignore dependent name types
...
The bug used to break the parser bindings for macOS since std::string uses a dependent name type for its necessary methods.
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Dimitar Dobrev
dd9070fccd
Regenerate the parser bindings
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Dimitar Dobrev
403440dac2
Ignore unused destructors when generating symbols
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Dimitar Dobrev
8fd6ea1863
Fix the printing of "noexcept" in C++
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 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
Joao Matos
abf219b019
Fix compile warning for unused variable.
6 years ago