duckdoom5
56fdde53a4
Fix AST Converter missing conversion data
5 months ago
Jelle
b8714867b6
Fix/bootstrap update ( #1904 )
...
* Fix warning
* Code cleanup
* Add missing native project launch settings
* Fix bootstrap generator
Update bootstrap / parser gen lang version
* Fix bug in `std::optional` mapping
* Fix crash with null template
* Use arm64 headers if available
* Support some `std::optional/vector` methods
* Add optional for csharp
* Template type alias cast fix
* Update generated bootstrap/parser bindings
* Temp fix for build errors in bindings
* Fix `IgnoreSystemDeclsPass` not visiting all declared overrides
* Drop optional support for now
I'm struck on `std::optional:<>:operator=(Ty&&)`, would need to add some code that handles by creating a function for default template arguments but this PR has already become way too large
* Add formatting settings
* Format all files
5 months ago
Jelle
fe7afc3b05
Fix some template declarations not setting namespace ( #1913 )
...
* Fix some template declarations not setting namespace
* throw on unsupported arch/platform
* Update bindings
5 months ago
Joao Matos
b5ab95e11d
Update iOS64 ABI name to the more accurate AppleARM64.
2 years ago
Joao Matos
d1307a532f
Add support for AArch64 C++ ABI.
2 years ago
deadlocklogic
9071cd2a59
Implement ClassTemplatePartialSpecialization::Parameters ( #1809 )
...
* Implement ClassTemplatePartialSpecialization::Parameters
* Template.cs: Implement ClassTemplatePartialSpecialization.Parameters
* GeneratorKind: fix bug introduced while migrating from enum to class
* Implement native ClassTemplatePartialSpecialization.Parameters + ASTConverter
* regenerated bindings (#1813 )
* regenerated bindings
* regenerated bindings after rebase
* Directory.Build.props: support C# 10.0
* Implement native ClassTemplatePartialSpecialization.Parameters + ASTConverter
* Regenerated bindings
* TestAST.cs: add TestASTClassTemplatePartialSpecialization
2 years ago
Joao Matos
17102021cc
Add Method.IsVolatile property.
...
Fixes https://github.com/mono/CppSharp/issues/1761
2 years ago
João Matos
e464da48c8
Bug fixes for GCC 11, cache conversion robustness and error handling ( #1765 )
...
* Fix missing Attribute dtor in GCC 11.
Parser bindings are expecting this, yet this was optimized out under GCC
11.
* Improve error handling for failed library parsing.
* Make the converted declaration cache more robust.
We were getting a failure due to duplicated original pointers. Make it
take the declaration kind into account as a key to the cache.
* Change ConsoleDriver.Run to return a failure bool.
2 years ago
João Matos
bb31bd616b
Add type parameter to non-type template parameter decls. ( #1749 )
2 years ago
João Matos
9b06e7bc01
Add C++ WebAssembly ABI ( #1711 )
...
* Minor code refactorings.
* Fix debug assert issue with vtable methods.
* Add support for WebAssembly C++ ABI to parser and AST converter.
3 years ago
josetr
eb5031bf4c
Format files
3 years ago
Dimitar Dobrev
0214b6e1cc
Work around adding an STD name-space to a custom header
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
4 years ago
Dimitar Dobrev
8d8c67d3a4
Bind the tag kind (struct, class, enum) of a type
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
4 years ago
Joao Matos
50451ac897
Code cleanup.
4 years ago
Joao Matos
1e9cff43c6
Clean multiline function signatures in the AST converter.
5 years ago
josetr
7791cf6996
Fallback to LayoutKind.Explicit when a custom alignment is specified. ( #1476 )
5 years ago
Dimitar Dobrev
d3135664ca
Expose if a variable is a constant expression
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
5 years ago
josetr
6496bf8dae
Basic support for static constexpr variables ( #1435 )
...
Basic support for static constexpr variables
5 years ago
Dimitar Dobrev
cf29d26b8e
Revert "Add information about linkage to the AST"
...
This reverts commit e061edde76
.
We don't need it after all so let's keep the AST as simple as possible.
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
5 years ago
Dimitar Dobrev
e061edde76
Add information about linkage to the AST
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
5 years ago
Dimitar Dobrev
5ceedc167a
Set the render kind of inline command comments
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
5 years ago
João Matos
c21ddcca1e
Implement parsing and AST processing of C++ deprecated attributes.
5 years ago
Dimitar Dobrev
6fe81fddcc
Remove needless pointer offsets from generated C#
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
5 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
Joao Matos
3eee343554
Add parsing and AST support for RecordArgABI information in class records.
6 years ago
Dimitar Dobrev
9840d8a267
Added the new default values based on expressions, to parameters.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
7 years ago
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
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>
7 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
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
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
9c26b7e648
Fixed the setting of name-spaces of parameters to actually work.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
8 years ago
Dimitar Dobrev
9294ea0978
Ignored defaulted functions when generating C++ for symbols.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
8 years ago
Dimitar Dobrev
e2e4109631
Added to a method a list of its overridden methods.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
8 years ago
Kimon Topouzidis
3760d4d550
Made Function a DeclarationContext to match the Clang AST. ( #896 )
8 years ago
Kimon Topouzidis
1298634804
Extended declarations to store their packing. ( #871 )
8 years ago
Dimitar Dobrev
9dbcc3cc2c
Completed the support for dependent type names.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
8 years ago
Dimitar Dobrev
974f8fab20
Replaced the useless desugared dependent name type with its qualifier.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
8 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>
8 years ago
realvictorprm
9d89764965
Wrapped injected classes in order to ease binding lists of redeclarations.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
8 years ago
realvictorprm
938ccf686b
Incomplete classes and structs are now generated for C#. ( #797 )
...
This feature is NOT coming for C++/CLI !
8 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
Joao Matos
b1621d660c
Add the enum as the enum item namespace when converting the parser AST.
9 years ago
Joao Matos
3bfb24228b
Remove "Ordinary" prefix from BCPL and C comment kinds.
9 years ago
Joao Matos
9a4c0bae82
Renamed RawCommentKind to CommentKind.
9 years ago
Dimitar Dobrev
b8f54de73e
Parsed function bodies.
9 years ago