76c2f92c4b4ab7e02857661a05e53ba4b501d87a |
|
20-Jun-2013 |
Samuel Benzaquen <sbenza@google.com> |
Enhancements for the DynTypedMatcher system. - Added conversion routines and checks in Matcher<T> that take a DynTypedMatcher. - Added type information on the error messages for the marshallers. - Allows future work on Polymorphic/overloaded matchers. We should be able to disambiguate at runtime and choose the appropriate overload. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@184429 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/ASTMatchers/ASTMatchFinder.h
|
8f9e590f78b1b05c36c2a14d68c4b9f9acbb891a |
|
28-May-2013 |
Peter Collingbourne <peter@pcc.me.uk> |
Add an overridable MatchCallback::onEndOfTranslationUnit() function. Differential Revision: http://llvm-reviews.chandlerc.com/D745 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@182798 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/ASTMatchers/ASTMatchFinder.h
|
f7f295f321fd434e1e542844a71f538a56f2f8fb |
|
14-May-2013 |
Manuel Klimek <klimek@google.com> |
First revision of the dynamic ASTMatcher library. This library supports all the features of the compile-time based ASTMatcher library, but allows the user to specify and construct the matchers at runtime. It contains the following modules: - A variant type, to be used by the matcher factory. - A registry, where the matchers are indexed by name and have a factory method with a generic signature. - A simple matcher expression parser, that can be used to convert a matcher expression string into actual matchers that can be used with the AST at runtime. Many features where omitted from this first revision to simplify this code review. The main ideas are still represented in this change and it already has support working use cases. Things that are missing: - Support for polymorphic matchers. These requires supporting code in the registry, the marshallers and the variant type. - Support for numbers, char and bool arguments to the matchers. This requires supporting code in the parser and the variant type. - A command line program putting everything together and providing an already functional tool. Patch by Samuel Benzaquen. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@181768 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/ASTMatchers/ASTMatchFinder.h
|
cf87bffc346244f0ed8eae7fffb52a0f03cd0413 |
|
06-Feb-2013 |
Manuel Klimek <klimek@google.com> |
Adds a convenience function selectFirst to simplify matching. A very common use case is to search for the first occurrence of a certain node that is a descendant of another node. In that case, selectFirst significantly simplifies the code at the client side. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174499 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/ASTMatchers/ASTMatchFinder.h
|
60969f5f6be1cbf7ac2384cc5ad571d28adf6bf1 |
|
01-Feb-2013 |
Manuel Klimek <klimek@google.com> |
Re-design the convenience interfaces on MatchFinder. First, this implements a match() method on MatchFinder; this allows us to get rid of the findAll implementation, as findAll is really a special case of recursive matchers on match. Instead of findAll, provide a convenience function match() that lets users iterate easily over the results instead of needing to implement callbacks. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174172 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/ASTMatchers/ASTMatchFinder.h
|
31bdf071afc18bb9551e4f4254be297333200c4a |
|
10-Dec-2012 |
Manuel Klimek <klimek@google.com> |
Clarifying comments for the MatchFinder and matchesNames matcher. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169737 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/ASTMatchers/ASTMatchFinder.h
|
e579328ec9a95acc7f181e04c58a747ba001d80f |
|
02-Nov-2012 |
Manuel Klimek <klimek@google.com> |
Insert interception point onStartOfTranslationUnit. Often users of the ASTMatchers want to add tasks that are done once per translation unit, for example, cleaning up caches. Combined with the interception point for the end of source file one can add to the factory creation, this covers the cases we've seen users need. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@167271 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/ASTMatchers/ASTMatchFinder.h
|
3e2aa99e992b89bd421ac2a6bf79307114d257fc |
|
24-Oct-2012 |
Manuel Klimek <klimek@google.com> |
Adds the possibility to run ASTMatchFinder over arbitrary AST nodes. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@166567 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/ASTMatchers/ASTMatchFinder.h
|
ce62007526cdf718faed10df5e9fc7c3cd160cde |
|
17-Oct-2012 |
Daniel Jasper <djasper@google.com> |
First version of matchers for Types and TypeLocs. Review: http://llvm-reviews.chandlerc.com/D47 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@166094 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/ASTMatchers/ASTMatchFinder.h
|
a7564433191601cb8851196b8dde39392c9c05ee |
|
13-Sep-2012 |
Daniel Jasper <djasper@google.com> |
Create initial support for matching and binding NestedNameSpecifier(Loc)s. Review: http://llvm-reviews.chandlerc.com/D39 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@163794 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/ASTMatchers/ASTMatchFinder.h
|
a78d0d6203a990b88c9c3e4c4f2a277001e8bd46 |
|
05-Sep-2012 |
Manuel Klimek <klimek@google.com> |
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@163212 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/ASTMatchers/ASTMatchFinder.h
|
4da216637fa1ad4bdfd31bc265edb57ca35c2c12 |
|
06-Jul-2012 |
Manuel Klimek <klimek@google.com> |
Adds the AST Matcher library, which provides a in-C++ DSL to express matches on interesting parts of the AST, and callback mechanisms to act on them. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159805 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/ASTMatchers/ASTMatchFinder.h
|