Joao Matos
794b276cfb
Added `ForceClangToolchainLookup` option to force to use Clang's toolchain lookup code.
7 years ago
Joao Matos
bd4dec1586
Extract `ParserOptions` cloning code into a copy constructor.
7 years ago
Joao Matos
0be7e83a0e
Improve `ParserOptions.Verbose` to print compiler arguments.
7 years ago
Joao Matos
1dad81dab6
Fixed `Options.DryRun` to not generate any binding code.
7 years ago
Joao Matos
96cfb37aab
Implement `CppTypePrinter.VisitPrimitiveType(PrimitiveType, TypeQualifiers)`.
7 years ago
Joao Matos
2296f8b63c
Added some helper methods in `Enumeration` to work with scoped enumerations.
7 years ago
Joao Matos
d77c6559d5
Remove `VisitDeclaration` calls when visiting translation units.
...
This causes the `VisitNamespace.VisitDeclaration` to early out, so just remove this as its redundant.
7 years ago
Joao Matos
07e3113cef
Added a parsing option to skip gathering of native layout info.
...
The way we get AST layout info from Clang sometimes causes us to crash deep inside Clang.
While layout info is needed for binding C++ code, it is not usually necessary for more generalized AST consumption tasks, so add this option to make parsing code less problematic, until we are able to get the bugs tracked down.
7 years ago
Dimitar Dobrev
38844e5e23
Fixed a regression which made inlines uncompilable.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
7 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>
7 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>
7 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
d97016fe3c
Fixed the generated C# for indexers in templates specialized with void*.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
7 years ago
Dimitar Dobrev
cd32a449c8
Fixed the generated C# for template specializations of pointers.
...
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
Dimitar Dobrev
e2a23b8987
Fixed the generated C# when returning a non-const char*.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
7 years ago
Dimitar Dobrev
c688330897
Fixed the generated C# for parameters initialized with {}.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
7 years ago
Dimitar Dobrev
c51b3cba71
Fixed the generated C# when a template is specialized with T and const T.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
7 years ago
Dimitar Dobrev
12642f9a42
Fixed the generated C# when an unsigned enum is assigned a negative value.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
7 years ago
Joao Matos
68db2a8e39
Fixed AST viewer to compile on Linux.
7 years ago
Joao Matos
f340e3b161
Remove unused CMakeLists.txt.
7 years ago
Joao Matos
fdb7ddabdf
Initial integration of Clang AST viewer GUI tool.
7 years ago
Dimitar Dobrev
1ea19d5a1e
Made an exception serializable and removed another.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
7 years ago
Dimitar Dobrev
72709dcd7a
Fixed a crash when parsing libraries on macOS.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
7 years ago
Joao Matos
beca1b5942
Fixed error handling when parsing non-existent libraries.
7 years ago
Joao Matos
4fcfe4e4eb
Build changes.
...
- Added support for building with Clang and LLD
- Switched to use csc.exe Roslyn compiler under Mono
- Disable most of the support for explicit pre-C++11 ABI since we do not
need it anymore
7 years ago
Joao Matos
302565dc8e
Remove unused code.
7 years ago
Dimitar Dobrev
5e0e19ea18
Fixed the generation of dependent virtual methods.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
7 years ago
Dimitar Dobrev
a430d19870
Simplified the generation of virtual calls.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
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
f4673f5d7f
Extended the type maps for primitive strings to C++/CLI.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
7 years ago
Dimitar Dobrev
b0aa6e1af0
Removed a useless remnant from an overridden fix.
...
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
efa11ab745
Simplified type maps by unlinking them from declarations.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
7 years ago
Dimitar Dobrev
55053fddda
Properly hashed types to optimize their storage in maps.
...
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
a4913509eb
Added type maps for primitive strings (pointers to char).
...
const char*, const char16_t* and const wchar_t* in particular.
This enables comparison of types when resolving ambiguity.
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
7 years ago
Dimitar Dobrev
e203463a9d
Added an option for skipping private declarations.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
7 years ago
Joao Matos
c3629a2aad
Initial support for building under .NET Core.
7 years ago
Dimitar Dobrev
8c2d9ea750
Fixed a possible crash when ordering declarations.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
7 years ago
Dimitar Dobrev
9a12db86d9
Fixed a regression in the generator of C++/CLI.
...
Restored the sorting by order of definition.
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
7 years ago
Dimitar Dobrev
32da859711
Exported all additional symbols on macOS.
...
Many functions in libc++ are marked with _LIBCPP_INLINE_VISIBILITY. This means they are only exported when actually used. This is why exporting just the templates themselves failed to export their functions but listing the functions themselves worked. We need to define _LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS to have the functions always exported.
We use _LIBCPP_VERSION to detect if we use libc++ i.e. Clang's standard C++ library.
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
7 years ago
Joao Matos
e5aaa2ee19
Fixed error handling and message when parsing non-existent files.
7 years ago
Dimitar Dobrev
41b22762a4
Fixed the marshalling of std::string with GCC 6+ on Linux.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
7 years ago
Dimitar Dobrev
43bb2ee4bb
Added a type map for char.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
7 years ago
Dan Shechter
c75d665310
Make Windows10SDK detection more robust
...
- fixes #1145
7 years ago
Dimitar Dobrev
02f70d0b35
Cached found type maps for faster look-ups.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
7 years ago
Dimitar Dobrev
3b51325f0a
Deleted an unused member in type maps.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
7 years ago