#
f46e5f1c |
| 21-Oct-2013 |
Samuel Benzaquen <sbenza@google.com> |
Refactor DynTypedMatcher into a value type class, just like Matcher<T>.
Summary: Refactor DynTypedMatcher into a value type class, just like Matcher<T>. This simplifies its usage and removes the vir
Refactor DynTypedMatcher into a value type class, just like Matcher<T>.
Summary: Refactor DynTypedMatcher into a value type class, just like Matcher<T>. This simplifies its usage and removes the virtual hierarchy from Matcher<T>. It also enables planned changes to replace MatcherInteface<T>. Too many instantiaions of this class hierarchy has been causing Registry.cpp.o to bloat in size and number of symbols.
Reviewers: klimek
CC: cfe-commits, revane
Differential Revision: http://llvm-reviews.chandlerc.com/D1661
llvm-svn: 193100
show more ...
|
#
4adca626 |
| 28-Aug-2013 |
Samuel Benzaquen <sbenza@google.com> |
Add support for eachOf/allOf/anyOf variadic matchers in the dynamic layer.
Summary: Add support for eachOf/allOf/anyOf variadic matchers in the dynamic layer. These function require some late bindin
Add support for eachOf/allOf/anyOf variadic matchers in the dynamic layer.
Summary: Add support for eachOf/allOf/anyOf variadic matchers in the dynamic layer. These function require some late binding behavior for the type conversions, thus changes in VariadicValue's MatcherList. Second try. This time with a fix for C++11 builds.
Reviewers: klimek
CC: cfe-commits, revane
Differential Revision: http://llvm-reviews.chandlerc.com/D1536
llvm-svn: 189500
show more ...
|
#
46e59b05 |
| 27-Aug-2013 |
Samuel Benzaquen <sbenza@google.com> |
Revert "Add support for eachOf/allOf/anyOf variadic matchers in the dynamic layer."
Summary: This reverts commit 3b082a3c72324aa3363b5184731740534c6b9a2b.
It breaks the build in c++11 mode.
Review
Revert "Add support for eachOf/allOf/anyOf variadic matchers in the dynamic layer."
Summary: This reverts commit 3b082a3c72324aa3363b5184731740534c6b9a2b.
It breaks the build in c++11 mode.
Reviewers: klimek
CC: cfe-commits, revane
Differential Revision: http://llvm-reviews.chandlerc.com/D1533
llvm-svn: 189368
show more ...
|
#
fe48aaf1 |
| 27-Aug-2013 |
Samuel Benzaquen <sbenza@google.com> |
Add support for eachOf/allOf/anyOf variadic matchers in the dynamic layer.
Summary: Add support for eachOf/allOf/anyOf variadic matchers in the dynamic layer. These function require some late bindin
Add support for eachOf/allOf/anyOf variadic matchers in the dynamic layer.
Summary: Add support for eachOf/allOf/anyOf variadic matchers in the dynamic layer. These function require some late binding behavior for the type conversions, thus changes in VariadicValue's MatcherList.
Reviewers: klimek
CC: cfe-commits, revane
Differential Revision: http://llvm-reviews.chandlerc.com/D1531
llvm-svn: 189362
show more ...
|
#
bd7d887f |
| 16-Aug-2013 |
Samuel Benzaquen <sbenza@google.com> |
Refactor ArgumentAdaptativeMatcher matchers to remove the template from their declaration.
Summary: Refactor ArgumentAdaptativeMatcher matchers to remove the template from their declaration. This fa
Refactor ArgumentAdaptativeMatcher matchers to remove the template from their declaration.
Summary: Refactor ArgumentAdaptativeMatcher matchers to remove the template from their declaration. This facilitates dynamic registration. Change the registry code to use the regular overload resolution mechanism for adaptative matchers.
Reviewers: klimek
CC: cfe-commits, revane
Differential Revision: http://llvm-reviews.chandlerc.com/D1402
llvm-svn: 188560
show more ...
|
#
403f6ddc |
| 15-Aug-2013 |
Stefanus Du Toit <stefanus.du.toit@intel.com> |
Add ctorInitializer to the dynamic AST Matcher registry.
llvm-svn: 188439
|
#
0239b691 |
| 13-Aug-2013 |
Samuel Benzaquen <sbenza@google.com> |
Refactor "MatcherList" into "VariantMatcher" and abstract the notion of a list of matchers for the polymorphic case.
Summary: Refactor "MatcherList" into "VariantMatcher" and abstract the notion of
Refactor "MatcherList" into "VariantMatcher" and abstract the notion of a list of matchers for the polymorphic case.
Summary: Refactor "MatcherList" into "VariantMatcher" and abstract the notion of a list of matchers for the polymorphic case. This work is to support future changes needed for eachOf/allOf/anyOf matchers. We will add a new type on VariantMatcher.
Reviewers: klimek
CC: cfe-commits, revane
Differential Revision: http://llvm-reviews.chandlerc.com/D1365
llvm-svn: 188272
show more ...
|
#
91f1c8ca |
| 26-Jul-2013 |
Daniel Jasper <djasper@google.com> |
Add matcher for float literals.
Patch by Chris Gray! Thanks!
llvm-svn: 187232
|
#
7f8a5b14 |
| 24-Jul-2013 |
Samuel Benzaquen <sbenza@google.com> |
Add support for Adaptative matchers on the dynamic registry.
Summary: Add support for Adaptative matchers on the dynamic registry. Each adaptative matcher is created with a function template. We ins
Add support for Adaptative matchers on the dynamic registry.
Summary: Add support for Adaptative matchers on the dynamic registry. Each adaptative matcher is created with a function template. We instantiate the function N times, one for each possible From type and apply the techniques used on argument overloaded and polymorphic matchers to add them to the registry.
Reviewers: klimek
CC: cfe-commits, revane
Differential Revision: http://llvm-reviews.chandlerc.com/D1201
llvm-svn: 187044
show more ...
|
#
e0b2c8e4 |
| 22-Jul-2013 |
Samuel Benzaquen <sbenza@google.com> |
Add support for overloaded matchers. ie different matcher function signatures with the same name.
Summary: Add support for overloaded matchers. This composes with other features, like supporting pol
Add support for overloaded matchers. ie different matcher function signatures with the same name.
Summary: Add support for overloaded matchers. This composes with other features, like supporting polymorphic matchers.
Reviewers: klimek
CC: cfe-commits, revane
Differential Revision: http://llvm-reviews.chandlerc.com/D1188
llvm-svn: 186836
show more ...
|
#
a37bb8c0 |
| 18-Jul-2013 |
Samuel Benzaquen <sbenza@google.com> |
Separate the notion of 'context' when recursing down in the parser and actual errors.
Summary: Change how error messages are constructed and stored in Diagnostics. Separate the notion of 'context' w
Separate the notion of 'context' when recursing down in the parser and actual errors.
Summary: Change how error messages are constructed and stored in Diagnostics. Separate the notion of 'context' when recursing down in the parser and actual errors. This will simplify adding some new features, like argument overloading and error recovery.
Reviewers: klimek
CC: cfe-commits, revane
Differential Revision: http://llvm-reviews.chandlerc.com/D1168
llvm-svn: 186602
show more ...
|
#
21b3da0f |
| 17-Jul-2013 |
Samuel Benzaquen <sbenza@google.com> |
Add TemplateArgument related matchers to the registry.
Summary: Continue adding more matchers to the dynamic registry. This time, we add TemplateArgument matchers.
Reviewers: klimek
CC: cfe-commit
Add TemplateArgument related matchers to the registry.
Summary: Continue adding more matchers to the dynamic registry. This time, we add TemplateArgument matchers.
Reviewers: klimek
CC: cfe-commits, revane
Differential Revision: http://llvm-reviews.chandlerc.com/D1166
llvm-svn: 186514
show more ...
|
#
06e056c4 |
| 17-Jul-2013 |
Samuel Benzaquen <sbenza@google.com> |
Add CXXCtorInitializer related matchers to the dynamic matcher registry.
Summary: Now that CXXCtorInitializer is already supported in ASTNodeKind, add CXXCtorInitializer matchers to the dynamic matc
Add CXXCtorInitializer related matchers to the dynamic matcher registry.
Summary: Now that CXXCtorInitializer is already supported in ASTNodeKind, add CXXCtorInitializer matchers to the dynamic matcher registry.
Reviewers: klimek
CC: cfe-commits, revane
Differential Revision: http://llvm-reviews.chandlerc.com/D1158
llvm-svn: 186508
show more ...
|
#
79656e19 |
| 15-Jul-2013 |
Samuel Benzaquen <sbenza@google.com> |
Add support for type traversal matchers.
Summary: Fixup the type traversal macros/matchers to specify the supported types. Make the marshallers a little more generic to support any variadic function
Add support for type traversal matchers.
Summary: Fixup the type traversal macros/matchers to specify the supported types. Make the marshallers a little more generic to support any variadic function. Update the doc script.
Reviewers: klimek
CC: cfe-commits, revane
Differential Revision: http://llvm-reviews.chandlerc.com/D1023
llvm-svn: 186340
show more ...
|
Revision tags: llvmorg-3.3.1-rc1 |
|
#
c6f2c9b5 |
| 21-Jun-2013 |
Samuel Benzaquen <sbenza@google.com> |
Add support for polymorphic matchers. Use runtime type checking to determine the right polymorphic overload to use.
llvm-svn: 184558
|
Revision tags: llvmorg-3.3.0 |
|
#
c31b3524 |
| 04-Jun-2013 |
Samuel Benzaquen <sbenza@google.com> |
Parser/Registry argument enhancements.
Summary: Parser/Registry argument enhancements. - 2 argument support. - unsigned values support.
Reviewers: klimek
CC: cfe-commits, revane
Differential
Parser/Registry argument enhancements.
Summary: Parser/Registry argument enhancements. - 2 argument support. - unsigned values support.
Reviewers: klimek
CC: cfe-commits, revane
Differential Revision: http://llvm-reviews.chandlerc.com/D915
llvm-svn: 183231
show more ...
|
Revision tags: llvmorg-3.3.0-rc3 |
|
#
31edb51a |
| 03-Jun-2013 |
Samuel Benzaquen <sbenza@google.com> |
Add support for .bind("foo") expressions on the dynamic matchers.
Summary: Add support on the parser, registry, and DynTypedMatcher for binding IDs dynamically.
Reviewers: klimek
CC: cfe-commits,
Add support for .bind("foo") expressions on the dynamic matchers.
Summary: Add support on the parser, registry, and DynTypedMatcher for binding IDs dynamically.
Reviewers: klimek
CC: cfe-commits, revane
Differential Revision: http://llvm-reviews.chandlerc.com/D911
llvm-svn: 183144
show more ...
|
Revision tags: llvmorg-3.3.0-rc2 |
|
#
a76d8cd0 |
| 15-May-2013 |
Samuel Benzaquen <sbenza@google.com> |
Test commit
llvm-svn: 181915
|
#
24db0f0a |
| 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 ru
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.
llvm-svn: 181768
show more ...
|