Dimitar Dobrev
17cc96bafd
Regenerate the parser bindings
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Dimitar Dobrev
6e963c1033
Remove useless creation of managed std::strings
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Dimitar Dobrev
739858f312
Regenerate the parser bindings
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Dimitar Dobrev
990d04d2cd
Regenerate the parser bindings
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Dimitar Dobrev
547a9f2819
Fix the passing of std::string by value
...
std::string has a non-trivial copy constructor which was erroneously ignored.
Fixes #867 .
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Dimitar Dobrev
72368d5050
Fix returned objects by value attributed with inalloca
...
For more details see https://llvm.org/docs/InAlloca.html . This specific crash happened on Win 32 only.
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Dimitar Dobrev
1fc1b4ec51
Fix default arguments to only map to null if pointers
...
This bug is revealed by properly fixing the reading of ABI parameters in the parser.
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Dimitar Dobrev
c579b65a3b
Update LLVM/Clang
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Dimitar Dobrev
a9bfe1c31f
Support indirect parameters
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Joao Matos
3eee343554
Add parsing and AST support for RecordArgABI information in class records.
6 years ago
Alexander Ovchinnikov
2c14b91301
Fix the generated C++ for Xcode 10.2
...
Fixes https://github.com/mono/CppSharp/issues/1203
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Dimitar Dobrev
46332cc8c0
Regenerate the parser bindings
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Dimitar Dobrev
6b3cdaffb7
Optimize renaming of declarations named after keywords
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Joao Matos
ea7023dfad
Remove ParserOptions.Abi since its misleading as it serves no purpose.
6 years ago
Joao Matos
f35bd75563
Improved robustness when parsing C++ ABI kind.
...
Fixes https://github.com/mono/CppSharp/issues/1202 .
6 years ago
Joao Matos
76ba6d4cd5
Remove unused line in `Bootstrap.cs`.
6 years ago
Joao Matos
3ea7e97241
Re-generated the parser bindings and bootstrap code.
6 years ago
Joao Matos
e0875c7a8c
Ignore `stripLabelLikeStatements` property in bootstrap generator.
...
This is not really necessary and causes StackOverflow exceptions when parsing statements.
6 years ago
Dimitar Dobrev
926e8ab343
Regenerate the parser bindings
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Dimitar Dobrev
8ad78c37c4
Fix the generation of properties for locations in expressions
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Joao Matos
69ce866d82
Extended parser bootstrap with managed visitors.
6 years ago
Dimitar Dobrev
d5ee92bd45
Ignore methods with parameters when generating expressions
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Dimitar Dobrev
01a24182d7
Changed expressions to use properties.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Dimitar Dobrev
73b011e3c4
Optimized the generation of expressions.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Dimitar Dobrev
be0d9494fd
Exposed many more properties of expressions.
...
They were previously hidden by a bug in the pass for properties fixed since.
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Dimitar Dobrev
9840d8a267
Added the new default values based on expressions, to parameters.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Joao Matos
5559ef47c7
Added support for values in more literal expressions.
6 years ago
Joao Matos
f65d41080f
Added parser bootstrap generator with support for expressions and statements.
6 years ago
Joao Matos
378c9b301e
Added support for parsing function bodies (and option `SkipFunctionBodies`).
6 years ago
Joao Matos
faf8037be0
Re-generate the parser bindings.
6 years ago
Joao Matos
d7fdf20b1e
Generate the native parser code for expression and statements.
6 years ago
Joao Matos
e9a2dda3fa
Improve robustness when parsing types and decls.
6 years ago
Joao Matos
08fbadd0b2
Fixed indentation regressions.
6 years ago
Joao Matos
aa73692543
Obsolete managed expression class machinery.
6 years ago
Joao Matos
579df276e4
Add `ScopeKind` to base `TypePrinter`.
6 years ago
Dimitar Dobrev
2fe157d51a
Obsoleted all hand-written types for expressions.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Joao Matos
1ef9bee970
Added reserved keywords checking helpers in `CCodeGenerator`.
6 years ago
Joao Matos
7eb7fc2912
Extract types and decls out of `AST.h`.
6 years ago
Joao Matos
c4a215f5fa
Re-generate the parser bindings.
6 years ago
Joao Matos
a5c5b4c930
Added initial generated files `Expr.h` and `Stmt.h`.
6 years ago
Joao Matos
f5d1040725
Improve parser bootstrapping generator to generate skeletons of statements.
6 years ago
Joao Matos
4ab3343fe5
Use `takeError()` when handling errors in parsing libraries.
6 years ago
Joao Matos
45c5435899
Fully qualify references to `clang::Stmt` in parser code.
6 years ago
Joao Matos
e9005f6eb2
Implemented Clang's MSVC toolchain lookup mode with `ForceClangToolchainLookup`.
6 years ago
Joao Matos
0be7e83a0e
Improve `ParserOptions.Verbose` to print compiler arguments.
6 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.
6 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
Dimitar Dobrev
e203463a9d
Added an option for skipping private declarations.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
7 years ago