triton
aeba55cb3c
Remove the compile-time Clang revision checks for the new vftable APIs since they do not work.
13 years ago
triton
69320246a9
Do not ignore system declarations when walking enum types.
...
This restores the old behavior that I changed a couple commits ago which turns out we depend on.
13 years ago
triton
751e0da4e3
Keep the original pointer that originated the AST declaration node and check if we have already processed the method in WalkMethodCXX (if so, just return the already existing declaration).
...
We depend on this to get the right method instance when walking through the vtable methods.
13 years ago
triton
0926734f38
Walk the vtable further down after all the child declarations of the class have been processed so that we find the proper methods once we walk the vtable components.
13 years ago
triton
d0f7f81e5a
Added IsVirtual data to methods.
13 years ago
triton
752cfa4869
Added IsDynamic and IsPolymorphic data to classes.
13 years ago
triton
ac49d1796b
Remove assert temporarily as it causes some relatively harmless assertions in debug mode in some special cases.
13 years ago
triton
d8f4ea7076
Be more careful when handling type locations in WalkType and check for validness before each use.
13 years ago
triton
63c3d96e9a
Revert "Fixed handling of template methods processing."
...
This is not the right way to fix the issue and was causing a lot of other parsing problems...
This reverts commit 463730baeb .
13 years ago
marcos henrich
0c97842a8b
Check if clang SVN_REVISION is greater than 187409 before trying to use MicrosoftVFTableContext.
13 years ago
triton
5b7bd8bd03
Minor cleanup.
13 years ago
triton
463730baeb
Fixed handling of template methods processing.
13 years ago
triton
2f293308ac
Fixed whitespace.
13 years ago
triton
dbd9fbc9d5
Added v[f]table parsing support.
13 years ago
triton
cd08295499
Use a map to keep track of anonymous declarations else we cannot refer to them later when needed.
...
This could lead to self-referencing problems when parsing (and stack overflows!).
13 years ago
triton
a6fa8af39d
Added full support for C++ documentation comments to the AST and parser.
13 years ago
marcos henrich
253946c622
Parser now adds namespace function parameters.
13 years ago
marcos henrich
f738d00738
Parser now initializes ClassTemplate's parameters
13 years ago
marcos henrich
d418ec2e23
Added HandlePreprocessedEntities call for all entities that doesn't contain yet any preprocessed entity.
13 years ago
triton
acac3fc00d
Re-work handling of enum constants fixing signedness and formatting issues.
13 years ago
triton
6a31a00760
Add the enumeration item expression as a string to the AST.
13 years ago
triton
9e3f9f29ac
Ignore irrelevant Clang declarations in the parser.
13 years ago
triton
68ddfbdd6f
Move the AST project to the CppSharp.AST namespace.
13 years ago
triton
acc5885594
Added support for decayed types which represent a pointer type decayed from an array or function type which have been added to latest Clang.
13 years ago
Bright Twin
74b82a21eb
Got CppSharp building against the head of LLVM and Clang.
13 years ago
Tom Spilman
b66cefc062
Fixed Parser to compile against latest LLVM.
13 years ago
triton
464dc37984
Improved support for dependent arrays.
13 years ago
triton
db3798ebd0
Remove unused virtual function as it's been removed from up-to-date Clang APIs.
13 years ago
triton
53bce57b19
Added parsing of access specifiers in methods.
...
This lets us keep track of groups of methods in the order they were declared in the native class which is useful to bind some libraries, like Qt which uses non-standard constructs like Q_SIGNALS. Since we now also keep track of macro expansions in declarations this gives us the information needed to deal with those cases correctly.
13 years ago
triton
e2fffddadf
Changed function/method return types to be qualified types.
13 years ago
triton
c3810b5a67
Actually add variables to the namespace when parsing.
13 years ago
triton
5077adb8c9
Added better support for pure virtual functions.
13 years ago
marcos henrich
e066932762
Added to PreprocessedEntity MacroLocation, macroexpansions can now be retrieved before the begin of the declaration with GetDeclStartLocation
13 years ago
triton
54db52dda7
Call HandlePreprocessedEntities to handle preprocessor definitions when walking through records.
13 years ago
triton
bcb692c77a
Check for dependent contexts when parsing functions.
13 years ago
triton
9cf717707b
Ignore a couple more unused declarations.
13 years ago
triton
cc892a6f19
Use the field's class as the field namespace.
13 years ago
triton
78b3732b19
Unify the handling of comments in WalkDeclaration.
13 years ago
triton
b43887ed90
Remove unused namespace variable.
13 years ago
triton
c984806f5c
Remove the unused TypeLoc parameter from WalkDeclaration.
13 years ago
triton
ba8081b0ba
Remove some old debug output.
13 years ago
triton
7377565118
Since we now process records fully, we also get some undesired declarations that are created automatically by Clang. Long story short, in this case we do not want to process injected class names inside the record since that will lead us to process records twice and insert them in different namespaces.
13 years ago
triton
e07e529f2a
Re-work the way we handle records in the parser to actually go through all declarations instead of just a subset of them. This makes sure we handle nested definitions properly.
13 years ago
triton
55c0b94e78
Remove obsolete checks for isAnonymousStructOrUnion and hasFlexibleArrayMember.
13 years ago
triton
2fb1952c05
Remove HasClassDependentFields and IsDependent parameter from WalkRecordCXX and just query Clang directly if the type is dependent.
13 years ago
triton
5e475658a8
Completely re-work the way we handle namespaces/declaration contexts in the native parser to properly handle nested definitions.
13 years ago
triton
3da1199e3d
Fixed generation of static methods by processing it right in the parser and generator.
13 years ago
triton
c063ca4ef7
Added very basic support for dependent array types.
13 years ago
triton
e33cc3d82d
Template specializations types now keep their desugared version, if available.
13 years ago
triton
d37cca5ca1
Changed the return type of functions to be a qualified type.
13 years ago