llvm-project/clang/unittests
Manuel Klimek eb958ded72 Introduces DynTypedMatcher as a new concept that replaces the UntypedBaseMatcher and TypedMatcher.
Due to DynTypedNode the basic dynamically typed matcher interface can now be simplified.

Also switches the traversal interfaces to use DynTypedNode;
this is in preperation for the hasAncestor implementation, and
also allows us to need fewer changes when we want to add new
nodes to traverse, thus making the code a little more decoupled.

Main design concerns: I went back towards the original design
of getNodeAs to return a pointer, and switched DynTypedNode::get
to always return a pointer (in case of value types like QualType
the pointer points into the storage of DynTypedNode, thus allowing
us to treat all the nodes the same from the point of view of a
user of the DynTypedNodes.

Adding the QualType implementation for DynTypedNode was needed
for the recursive traversal interface changes.

llvm-svn: 163212
2012-09-05 12:12:07 +00:00
..
AST Split library clangRewrite into clangRewriteCore and clangRewriteFrontend. 2012-09-01 05:09:24 +00:00
ASTMatchers Introduces DynTypedMatcher as a new concept that replaces the UntypedBaseMatcher and TypedMatcher. 2012-09-05 12:12:07 +00:00
Basic Clang side of a refactoring of the CMake unit test build strategy. 2012-06-21 09:51:42 +00:00
Frontend Split library clangRewrite into clangRewriteCore and clangRewriteFrontend. 2012-09-01 05:09:24 +00:00
Lex Clang side of a refactoring of the CMake unit test build strategy. 2012-06-21 09:51:42 +00:00
Tooling Split library clangRewrite into clangRewriteCore and clangRewriteFrontend. 2012-09-01 05:09:24 +00:00
CMakeLists.txt add AST unittests to CMake build system 2012-07-23 20:11:34 +00:00
Makefile Adds the AST Matcher library, which provides a in-C++ DSL to express 2012-07-06 05:48:52 +00:00