Dimitar Dobrev
3eb259f151
Fixed the generated code when having long doubles in the origin.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
9 years ago
Dimitar Dobrev
0c7031e951
Fixed the parsing of typedefs with the same name in different specialisations of a template.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
9 years ago
Dimitar Dobrev
fa16cb9379
Removed several redundant type casts in the parser.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
9 years ago
Dimitar Dobrev
f45fcc26a2
Fixed a bug in the parser thus removing the necessity for a hack we had.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
9 years ago
Dimitar Dobrev
6abdb764e6
Completed the exposing of type aliases in our AST.
...
Fixes https://github.com/mono/CppSharp/issues/670 .
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
9 years ago
Dimitar Dobrev
b4438b78c9
Restored the completion of member pointers when using the MS ABI.
...
The new Clang crashes without the completion.
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
9 years ago
Dimitar Dobrev
02c14e5e68
Partially handled MSVC system headers after VS 2015 Update 3.
...
The rest of the fix requires an update to Clang.
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
9 years ago
Joao Matos
d6b21efe59
Ignore namespace alias when parsing declarations.
9 years ago
Joao Matos
7f75246215
Added support for C++11 type alias template declarations.
...
Partial fix for https://github.com/mono/CppSharp/issues/664 .
9 years ago
Joao Matos
afa12be715
Added support for C++11 type-alias type declarations.
...
In the future, we might want to add a TypeAliasDecl AST node,
but for now this simple approach is enough for typedef-like using declarations.
Won't be enough to support partial template using syntax (TypeAliasTemplateDecl).
Partial fix for https://github.com/mono/CppSharp/issues/664 .
9 years ago
Joao Matos
965129182d
Fixed parsing of classes with virtual bases.
...
This bug only manifested itself as an assert in debug builds.
Partial fix for https://github.com/mono/CppSharp/issues/664 .
9 years ago
Joao Matos
d4a2a7ea25
Fixed parsing of dependent member pointer types.
...
Partial fix for https://github.com/mono/CppSharp/issues/664 .
9 years ago
Dimitar Dobrev
517b1a5ccd
Saved the offsets per base in the layout of a record.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
9 years ago
Dimitar Dobrev
c4c2ef21ce
Filled in all missing v-table pointers in record layouts.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
9 years ago
Dimitar Dobrev
e2b8f44565
Properly fixed the offsets of fields in all possible cases.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
9 years ago
Dimitar Dobrev
e38ebdd55c
Introduced more proper const-ness to the parser.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
9 years ago
Dimitar Dobrev
0af26773de
Simplified the walking of qualified types in the parser.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
9 years ago
Dimitar Dobrev
733ea63925
Introduced proper const-ness to the parser.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
9 years ago
Dimitar Dobrev
02ed084fd8
Added template specialisations to their lists before parsing their parameters.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
9 years ago
Dimitar Dobrev
5987b5783e
Fixed a bug causing friend declarations to have their real declaration empty.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
9 years ago
Dimitar Dobrev
0798c5428c
Fixed a case of default arguments which use nullptr.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
9 years ago
Dimitar Dobrev
cdc51afc0e
Extended the parser and AST to handle template template parameters.
...
For more details see the Clang documentation ( http://clang.llvm.org/doxygen/classclang_1_1TemplateTemplateParmDecl.html ).
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
9 years ago
Dimitar Dobrev
8a4261dd42
Handled the completeness of template specialisations in the parser.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
9 years ago
Dimitar Dobrev
dc84c9b765
Added an option to parse all headers at once - much faster.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
9 years ago
Dimitar Dobrev
69bd424c75
Temporarily suspended the completion of types because it causes problems while not useful yet.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
9 years ago
Dimitar Dobrev
e41d4340e9
Simplified the parser by removing a redundancy.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
9 years ago
Dimitar Dobrev
0d5c4539a2
Generated internals of types nested in templates.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
9 years ago
Dimitar Dobrev
a6604b5f8c
Fixed a regression when getting code gen info for certain functions.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
9 years ago
Dimitar Dobrev
1604f8e494
Removed the completion of system types because it needlessly exhausts the stack.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
9 years ago
Dimitar Dobrev
8badb497cf
Fixed an endless recursion when checking a function for code generation.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
9 years ago
Dimitar Dobrev
f29e3a2240
Fixed an assert when parsing nested types which use template instantiations of void.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
9 years ago
Dimitar Dobrev
50a5d328db
Fixed an assert when parsing template instantiations of void.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
9 years ago
Dimitar Dobrev
c4332f2c8a
Removed some redundant completion of types now that we complete all of them anyway.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
9 years ago
Dimitar Dobrev
3d4c7c56f8
Changed the parser for easier transition to a newer Clang.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
9 years ago
Dimitar Dobrev
2403d7d3a3
Replaced the useless internals of templates with the internals of their specialisations.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
9 years ago
Dimitar Dobrev
e4200f4690
Fixed the wrapping of template parameters in the parser.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
9 years ago
Joao Matos
bc26e77ab2
Extract AST->getTargetInfo() expression into a local variable.
9 years ago
Joao Matos
b53aaae81b
Fixes parsing of K&R-style C functions with no prototypes.
...
Fixes issue #641 .
9 years ago
Joao Matos
93f5161710
Fixed handling of different language versions in the C++ parser.
...
Fixes issue #641 .
9 years ago
Dimitar Dobrev
6821e983a6
Checked if a library exists before trying to parse it.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
9 years ago
Dimitar Dobrev
2ef14d0fcf
Introduced consistent usage of '&' - it is now always stuck to the type.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
9 years ago
Dimitar Dobrev
ae8d3feb53
Added reading of exported mach-o (OS X) symbols.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
9 years ago
Dimitar Dobrev
fc84e6bf1e
Added reading of dependencies of Mach-O (OS X) binaries.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
9 years ago
Dimitar Dobrev
192fede3f7
Connected the functions in the AST to the template functions they instantiate, if any.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
9 years ago
Dimitar Dobrev
a2fd71cc74
Enabled getting of template specialisations when type locations are invalid.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
9 years ago
Joao Matos
24e53f4f79
Fixed expression parsing of dependent type default unary expressions.
...
Fixes issue #618 .
9 years ago
Abhinav Tripathi
d753c8d637
Moved property IsImplicit to Declaration from Method.
10 years ago
Dimitar Dobrev
998f8446fe
Fixed the debug build.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
10 years ago
Dimitar Dobrev
1471e6f2fb
Simplified and tested the reading of line numbers.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
10 years ago
Dimitar Dobrev
05d7088cd0
Improved the reading of line numbers by expanding locations.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
10 years ago