triton
354f19f46e
Fixed VS lookup to use the first valid VS version found. This makes sure we use the oldest VS version since Clang will not yet work fully with newer (2013+) MSVC headers.
13 years ago
triton
ef69a28bed
Improved VS paths lookup checking.
...
This fixes a bug that happened when you had multiple versions of VS installed and your highest version did not provide the native development SDK.
13 years ago
Dimitar Dobrev
90db6eb95d
Added an option for the used ABI to the C++ Parser class.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
13 years ago
Dimitar Dobrev
d526dda895
Replaced a range-based for to ensure VS C++ 2010 compliance.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
13 years ago
triton
4152c30054
Ignore static assert declarations.
13 years ago
triton
871e14291b
We need to call SourceManager::getFileLoc to get the fully expanded file location when getting diagnostic file names.
13 years ago
triton
7bd56c9b98
Do not try to handle preprocessed entities for invalid locations.
13 years ago
triton
cb812206b3
Fixed parser to not try to get the class layout for invalid declarations.
13 years ago
triton
46989d7f50
Added the C++ ABI to the class layouts.
13 years ago
triton
067ff9f57f
Respect the ToolSetToUse options and assign a default to MSCVersion if none is requested since it is needed to make Clang define _MSC_VER.
13 years ago
triton
8c1372f80a
Fixed Clang parser initialization to be a bit more robust with invalid triples.
13 years ago
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
c3ac5ca130
Fixed whitespace.
13 years ago
triton
dbd9fbc9d5
Added v[f]table parsing support.
13 years ago
Bright Twin
521e1622ca
Fix typo in HTML Comment processing code where the wrong variable was being incremented.
13 years ago
triton
e5c141db6c
Fixed the loop increment when parsing comment blocks.
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
63468dfb0e
Use dynamic_cast instead of safe_cast for upcasting.
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
c488dcbfde
Prefix all the libraries and project names with CppSharp.
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