Joao Matos
06ddf85b4f
Added managed AST conversion code for statements and expressions.
7 years ago
Joao Matos
aa73692543
Obsolete managed expression class machinery.
7 years ago
Dimitar Dobrev
2fe157d51a
Obsoleted all hand-written types for expressions.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
7 years ago
Joao Matos
e9005f6eb2
Implemented Clang's MSVC toolchain lookup mode with `ForceClangToolchainLookup`.
7 years ago
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
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
c3629a2aad
Initial support for building under .NET Core.
7 years ago
Dimitar Dobrev
8427ff8e92
Optimized the walking of the managed AST.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
7 years ago
Dimitar Dobrev
c8536b4141
Updated to LLVM/Clang revisions 339502/339494 respectively.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
8 years ago
Rokas Kupstys
c41a2dd2af
Add one more include path which linux usually expects.
8 years ago
Dimitar Dobrev
3dba1eb594
Exported entire specialisations when they only have valid functions.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
8 years ago
Dimitar Dobrev
fceb204a98
Fixed the generated C# for members of types nested in templates.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
8 years ago
Dimitar Dobrev
573818f33e
Fixed a regression, a crash, when generating the parser bindings.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
8 years ago
Rokas Kupstys
b90fb52525
Re-added linux include path that was removed by mistake.
8 years ago
Rokas Kupstys
86f2c59ec5
Tweak linux include dirs, previous change broke GCC7 include dirs on archlinux.
8 years ago
Rokas Kupstys
7a3adcd401
Some linux distributions use `major.minor.patch` and some use `major.minor` for versioning include dirs. Add them all.
8 years ago
Rokas Kupstys
aa33609d45
Clean up linux includes setup.
...
Includes setup was moved to ParserOptions.cs and is used just like `SetupMSVC()` and `SetupXcode()`. Native compiler is queried for it's type and version. Correct include paths are set up in cases where system has multiple compilers installed as well.
8 years ago
Rokas Kupstys
05445f3028
Linux fixes, Bootstrap.cs build errors, warnings ( #1010 )
...
* Fix warnings about unused variables
* Fix linux include paths in ParserGen and CLI generator.
Remove parsing of `CppSharp.CppParser.lib` as it is not used.
* Fix build errors in CppSharp.Parser.Bootstrap target.
8 years ago
Dimitar Dobrev
e53b25346e
Prevented C++ generation for invalid specialised functions.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
8 years ago
Dimitar Dobrev
33bc64ad9a
Reused the parsing of headers to get the target info as well.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
8 years ago
Dimitar Dobrev
5e17200af8
Moved the method for building parser options specific to a file.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
8 years ago
Dimitar Dobrev
4c884e6c20
Ensured no overflown stack in the AST converter.
...
Switched the conversion of name-spaces and classes to breadth-first.
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
8 years ago
Dimitar Dobrev
f992cd8280
Removed the out parameter when looking for a version of Visual Studio.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
9 years ago
Victor Peter Rouven Müller
9edd7819c2
Add C++17 to the parser options
...
Just to complete the list @tritao 😄
9 years ago
Joao Matos
e1200bc577
[parser] Refactor the parser layer.
...
Removes some useless abstractions and unused code.
Signed-off-by: Joao Matos <joao@tritao.eu>
9 years ago
Dimitar Dobrev
5aaa0a0351
Fixed a crash when trying to use a VS version missing from the system.
...
Fixes https://github.com/mono/CppSharp/issues/922 .
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
9 years ago
Dimitar Dobrev
9c26b7e648
Fixed the setting of name-spaces of parameters to actually work.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
9 years ago
Joao Matos
142b3be9f1
Added a default build config file and an option to disable config generation.
9 years ago
Dimitar Dobrev
9294ea0978
Ignored defaulted functions when generating C++ for symbols.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
9 years ago
Joao Matos
27efa2ec87
Fixed unreachable code warning.
9 years ago
Joao Matos
661609176a
Rewrite build config file generation in Premake.
...
The previous version used io.output which is not needed and also badly interacts with Premake internals.
9 years ago
Dimitar Dobrev
e2e4109631
Added to a method a list of its overridden methods.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
9 years ago
Kimon Topouzidis
3760d4d550
Made Function a DeclarationContext to match the Clang AST. ( #896 )
9 years ago
Mohit Mohta
3e8b15c42c
Made the C/C++ language switches adjustable in managed code. ( #895 )
9 years ago
Mohit Mohta
fa0d129000
Moved the definition of SetupArguments before SetupIncludes ( #894 )
9 years ago
Mohit Mohta
5227e517fc
Added an option to enable or disable RTTI ( #892 )
...
Fixes #819
9 years ago
Dimitar Dobrev
617e7c78d8
Restored the overload of SetupMSVC with a parameter.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
9 years ago
Mohit Mohta
65d6c49e1b
Making the code run properly from a different working directory ( #891 )
9 years ago
Mohit Mohta
416c67215c
Added passage of VS Version selected at config time to the build ( #886 )
...
Fixes #815
Fixes #814
9 years ago
Kimon Topouzidis
1298634804
Extended declarations to store their packing. ( #871 )
9 years ago
Dimitar Dobrev
422b98a0fd
Enabled the tests for std::string.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
9 years ago
Dimitar Dobrev
9dbcc3cc2c
Completed the support for dependent type names.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
9 years ago
Dimitar Dobrev
974f8fab20
Replaced the useless desugared dependent name type with its qualifier.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
9 years ago
realvictorprm
10c86a2a10
Fixed the generated C# when an incomplete class is forwarded more than once.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
9 years ago
realvictorprm
9d89764965
Wrapped injected classes in order to ease binding lists of redeclarations.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
9 years ago
realvictorprm
938ccf686b
Incomplete classes and structs are now generated for C#. ( #797 )
...
This feature is NOT coming for C++/CLI !
9 years ago
realvictorprm
8f8031584c
Added complete support for VS 2017
9 years ago
Dimitar Dobrev
d293a7f49f
Regenerated the parser bindings with the renaming of enum items.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
9 years ago
Dimitar Dobrev
fed72f5910
Ensured the C# gen correctly imports a native library with no target triple.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
9 years ago