Commit graph

150 commits

Author SHA1 Message Date
Jonathan Müller
6894a025ca Remove full_name() function
Doesn't work for templates.
2017-04-13 11:35:22 +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
365677b2c9 Fix missing include 2017-04-12 18:19:08 +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
de5900a278 Augment is_definition() & co to work for templates 2017-04-12 15:19:27 +02:00
Jonathan Müller
d0451c517b Skip templated and friended entities in tool 2017-04-12 15:17:30 +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
c5d6df957c Remove parameter children from e.g. cpp_function_base
Also template parameter children of cpp_template_template_parameter.
Now accessible over named function, consistent with base classes, other template parameters etc.
2017-04-11 18:50:02 +02:00
Jonathan Müller
599524a894 Add definition info to AST dump 2017-04-11 18:33:58 +02:00
Jonathan Müller
0bc5097579 Fix typo in to_string 2017-04-10 21:47:48 +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
6a09a5253e Expose cppast version string via macro 2017-04-10 20:01:50 +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
d66d6d26af Add tool infrastructure 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
17477319fb Fix CMake issue 2017-04-10 19:58:16 +02:00
Jonathan Müller
88af191c70 Clean kind check functions 2017-04-07 19:06:45 +02:00
Jonathan Müller
45041e8b9c Implement equality for dependent types 2017-04-07 19:02:07 +02:00
Jonathan Müller
a6f15d6334 Add CMake options to control assertion levels 2017-04-06 12:23:31 +02:00
Jonathan Müller
33cff49a20 Add ability to hide definition in code generator 2017-04-06 12:17:04 +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
a3143debdb Add template comment check 2017-03-27 21:49:23 +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
203cccd687 Add missing static kind function 2017-03-27 11:56:08 +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