Joao Matos
db8c2cc99e
Fixed CheckMacroPass pass to work correctly for declaration contexts.
...
This has been broken since we started parsing preprocessed entities for all declarations. In the specific cases of declaration contexts (translation units and namespaces) we would be processing child declaration preprocessed entities and ignoring the whole contexts by mistake.
12 years ago
Joao Matos
3c27e0fad6
Improved generation of enumerations from macros.
...
We now keep track if a certain macro has already been generated in an enum and skip it in future calls to GenerateEnumFromMacros.
12 years ago
Joao Matos
69dcac2903
Ignore some unused methods in the parser bindings.
12 years ago
Joao Matos
19376cc2c3
Added support for keeping track of extern "C" contexts in classes/structs.
12 years ago
Joao Matos
7719b89312
Re-generated the parser bindings.
12 years ago
Joao Matos
4f2135eddf
Use the most recent (re)declaration when setting the MS inheritance model.
12 years ago
Joao Matos
9e14383e10
Fixed parser to work with recent Clang changes.
...
Basically we need to lock in the MS inheritance model in a record when it appears as part of a member pointer type else we get some fun Clang code gen internals assert.
12 years ago
Joao Matos
88e5d1cf3d
Updated the parsers to the latest Clang API changes.
12 years ago
triton
8c0adad5f1
Fixed parsing bug and subsequent failing test in GenerateEnumFromMacros.
...
It now uses preprocessed entities instead of the soon-to-be-removed macros.
12 years ago
triton
5e3d86a33f
Fixed parser bindings build to correctly choose the correct generated bindings depending on the platform.
12 years ago
triton
11a0a51e00
Fixed triggering exception in declaration converting by handling the declaration first.
12 years ago
triton
a112faef52
Fixed memory corruption bug by explicitly initializing the pointer to null.
12 years ago
triton
1afaad6847
Added missing definitions for the AST structures in the C++ parser.
12 years ago
triton
27bd19d741
Re-generated the parser bindings for 32-bit Darwin/OSX.
12 years ago
triton
b11644de19
Converted the rest of the inline declarations to be defined outside the header.
12 years ago
triton
1301268656
Re-generated the parser bindings for 32-bit Darwin/OSX.
12 years ago
triton
6edd10b514
Move CppParser method definitions out of the headers and into the source file.
...
This is a workaround for missing symbols when P/Invoking on the Mac for instance. There should be a working "-fkeep-inline-functions" switch available in Clang but upon reading the source code, it does not do anything besides consuming the option (not even a warning!).
12 years ago
triton
e9fd50983a
Reworked parsing of preprocessed entities.
...
Fixes macro expansions and translation units processing.
12 years ago
triton
59703cc08b
Removed early out in VS lookup code that made us prefer the first version found.
...
This was added to workaround VS 2013 type traits parsing problems, but since that's been fixed upstream this no longer makes sense.
Fixes PR159.
12 years ago
Øystein Krog
5c4cf56af0
Fix Visual Studio lookup logic to handle Visual Studio 2012 and 2013 (11.0 and 12.0) environment variables
12 years ago
triton
4c66ece28c
Added generated parser bindings for 32-bit Darwin/OSX.
12 years ago
triton
f931488f7e
Delete unused #ifdef directive.
12 years ago
Øystein Krog
c71b29aeb9
Update to latest LLVM
12 years ago
Michael Ciccotti
a15b40733b
Update to latest llvm/clang
12 years ago
triton
7e0ddeffd5
Updated the AST converter code to match the bindings.
12 years ago
triton
8acad13760
Re-generated the parser bindings.
12 years ago
triton
3c7709e5cd
Fixed the C# generator to wrap void* as IntPtr.
12 years ago
triton
a58bf5b81b
Changed the visibility of native constructor to public (to match the CLI backend).
12 years ago
triton
d49a1eedb1
Use the existing instance identifier constant in the CLI backend to match the C# generator.
12 years ago
triton
c835a9faf4
Reworked the new parser AST converters.
...
With this, the new parser passes the entire test suite, though there are still some noticeable gaps, mainly documentation AST structures and template specializations.
12 years ago
triton
1a34713454
Re-generated the parser bindings.
12 years ago
triton
5b3d01af73
Fixes to the native AST declarations.
12 years ago
triton
7ceea91333
Fixed members initialization in TranslationUnit constructors.
12 years ago
triton
79816a375e
Remove useless constructor.
12 years ago
triton
391fe9d800
Fixed function type parameters parsing in the the new parser.
12 years ago
triton
5ce7213784
Added partial support for template specializations to the new parser.
12 years ago
triton
74368b2c3d
Fixed the parser to always fill the original pointer value in declarations.
12 years ago
triton
6ae1db609f
Re-generated the parser bindings.
12 years ago
triton
afd626b93f
Added explicit kinds to declarations and kinds in the new parser.
...
This is needed for runtime polymorphism when converting the AST generated by the new parser.
12 years ago
triton
b20a4e2179
Re-generated the parser bindings.
12 years ago
triton
6edfe6599e
Fixed generation regression leading to unnecessary access specifiers in some cases.
...
This was introduced in PR151 (Field properties).
12 years ago
triton
86c651625c
Added a new block policy to only generate a block if the following is not empty.
12 years ago
triton
0f76dc0090
Added experimental destructors/finalizers support.
...
This has exposed some underlying bugs on some pieces of generated code, so I've put it under an option temporarily.
Fixes #148 .
12 years ago
Dimitar Dobrev
9686187eb1
Wrapped properties of non-primitive value types as fields.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
Dimitar Dobrev
b47fa98c94
Fixed a regression when marshalling arrays. Migrated the C++/CLI back-end to property usage.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
Dimitar Dobrev
aa5b66a4ab
Wrapped fields of structures with properties.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
triton
0954ad0c7e
Fixed destructors by keeping track when they are non-trivial.
12 years ago
triton
382896ac91
Only use CppSharp.Parser in the new parser.
12 years ago
triton
22b6a3c11f
Use GenerateInternalFunctionCall when generating class constructors.
...
Fixes #149 .
12 years ago
triton
9390feb330
Added new regex-based testing framework to test patterns against the generated code.
12 years ago