Commit graph

134 commits

Author SHA1 Message Date
Jonathan Müller
b189c72280 Handle empty C comments in preprocessor 2017-04-19 16:38:18 +02:00
Jonathan Müller
f359885e87 Keep macro definitions when preprocessing
Other includes libclang encounters might depend on them.
2017-04-14 22:38:25 +02:00
Jonathan Müller
599f2bbff8 Add semantic parent to forward declarable entities 2017-04-14 22:06:27 +02:00
Jonathan Müller
cf7ea80768 Fix issue with out-of-line constructor definition of template class 2017-04-14 14:53:37 +02:00
Jonathan Müller
133d51b630 Workaround token issue in unnamed variadic template parameter 2017-04-12 21:28:02 +02:00
Jonathan Müller
f1fc25387e Fix USR collision with SFINAE in return type 2017-04-12 17:56:35 +02:00
Jonathan Müller
b6767ffdeb Force C++ and add current include dir when preprocessing 2017-04-12 17:44:50 +02:00
Jonathan Müller
5b9fe7623f Skip ParmDecl when parsing class entities
Can happen in specialization to function types.
2017-04-12 15:14:05 +02:00
Jonathan Müller
4dc771ad6b Skip comments instead of writing them to output
This simplifies parsing.
2017-04-12 15:09:42 +02:00
Jonathan Müller
db20190fe4 Workaround clang bug with #undef output 2017-04-12 14:52:28 +02:00
Jonathan Müller
5d95c1ed5d Ignore dependent type for now 2017-04-11 20:37:25 +02:00
Jonathan Müller
4db09778b5 Add and parse cpp_static_assert 2017-04-11 20:37:24 +02:00
Jonathan Müller
d125869df5 Fix infinite recursion in decltype type 2017-04-11 20:37:24 +02:00
Jonathan Müller
1b57248fc8 Fix maximal munch parsing issue 2017-04-11 20:37:24 +02:00
Jonathan Müller
e84925d5e4 Fix issue with relative include paths 2017-04-11 19:07:44 +02:00
Jonathan Müller
599524a894 Add definition info to AST dump 2017-04-11 18:33:58 +02:00
Jonathan Müller
487ef8e15d Fix issue with trailing return type parser 2017-04-10 21:47:16 +02:00
Jonathan Müller
aec3d77e2f Fix issue with constructor in template file 2017-04-10 21:15:35 +02:00
Jonathan Müller
75fbc577ad Fix issue when parsing anonymous namespaces 2017-04-10 21:02:23 +02:00
Jonathan Müller
01b206d453 Add simple command line tool to view the AST 2017-04-10 19:58:17 +02:00
Jonathan Müller
a8e2676f36 Fix error reporting in preprocessor 2017-04-10 19:58:17 +02:00
Jonathan Müller
da5b46fdb7 Add debug logging facility 2017-04-06 12:09:29 +02:00
Jonathan Müller
251e9abf5f Always expose underlying type of enum 2017-04-06 11:51:31 +02:00
Jonathan Müller
c3d1d97892 Add and parse cpp_friend
Only works in clang>=4.
2017-04-06 11:45:17 +02:00
Jonathan Müller
9c46c96820 Fix and test include directive parsing 2017-04-03 09:49:29 +02:00
Jonathan Müller
dc5abeb785 Ensure compatibility with clang 4.0.0
There are some bug fixes for libclang, so now some workarounds were broken.
2017-04-02 19:23:49 +02:00
Jonathan Müller
e10a41fea8 Add proper build system 2017-04-02 18:38:28 +02:00
Jonathan Müller
e9e9a3bbc5 Fix issue with functions returning functions 2017-03-31 15:20:41 +02:00
Jonathan Müller
9a0ac36715 Fix parsing of default value
It is now always unexposed, but works better.
2017-03-30 13:11:21 +02:00
Jonathan Müller
df684694cc Add and parse unexposed entity 2017-03-30 12:04:18 +02:00
Jonathan Müller
d18070a799 Implement code generation 2017-03-29 19:51:02 +02:00
Jonathan Müller
c44e0b512e Use enum for builtin types 2017-03-27 22:19:25 +02:00
Jonathan Müller
67f247533c Add is_templated() helper 2017-03-27 21:47:57 +02:00
Jonathan Müller
dc290415f1 Remove is_valid() for types
Not complete and not really necessary.
2017-03-27 21:38:56 +02:00
Jonathan Müller
6f050bac66 Add and parse cpp_decltype_type 2017-03-27 21:36:55 +02:00
Jonathan Müller
acb2f06bfd Add and parse cpp_auto_type 2017-03-27 12:10:40 +02:00
Jonathan Müller
1bbc962b8c Parse cpp_class_template_specialization 2017-03-27 11:51:30 +02:00
Jonathan Müller
22fd582756 Parse cpp_class_template 2017-03-27 11:34:51 +02:00
Jonathan Müller
bf7c85a9dd Parse cpp_function_template_specialization 2017-03-27 10:07:13 +02:00
Jonathan Müller
eeb48f1df5 Parse cpp_function_template 2017-03-25 14:34:04 +01:00
Jonathan Müller
d6f0997fb6 Parse cpp_alias_template 2017-03-24 16:49:31 +01:00
Jonathan Müller
cd4a25e959 Parse template parameters and part of alias template 2017-03-23 09:10:14 +01:00
Jonathan Müller
08717b2ae7 Add support for overloaded entity references 2017-03-19 16:07:54 +01:00
Jonathan Müller
cb9ad57e87 Register declarations as well
Will be overriden by definitions.
2017-03-18 11:01:27 +01:00
Jonathan Müller
db0e649bf6 Properly handle libclang diagnostics 2017-03-16 12:15:46 +01:00
Jonathan Müller
183aeaafde Parse documentation comments 2017-03-16 11:49:37 +01:00
Jonathan Müller
e787b845d5 Parse cpp_destructor 2017-03-12 18:38:31 +01:00
Jonathan Müller
68c74a9f07 Parse cpp_constructor 2017-03-12 18:18:26 +01:00
Jonathan Müller
8691628ec5 Parse cpp_converison_op 2017-03-12 17:43:57 +01:00
Jonathan Müller
85ca226117 Parse cpp_member_function 2017-03-12 16:04:28 +01:00