#
2019cea8 |
| 02-Apr-2014 |
Samuel Benzaquen <sbenza@google.com> |
Add support for named values in the parser.
Summary: Add support for named values in the parser. This allows injection of arbitrary constants using a custom Sema object. Completions are not supporte
Add support for named values in the parser.
Summary: Add support for named values in the parser. This allows injection of arbitrary constants using a custom Sema object. Completions are not supported right now.
Will be used by clang_query to support the 'let' command. Usage example: clang_query> let unique_ptr recordDecl(hasName("unique_ptr")) clang_query> match varDecl(hasType(unique_ptr))
Reviewers: klimek, pcc
CC: cfe-commits, klimek
Differential Revision: http://llvm-reviews.chandlerc.com/D3229
llvm-svn: 205419
show more ...
|
#
252444a7 |
| 30-Jan-2014 |
Peter Collingbourne <peter@pcc.me.uk> |
Introduce Parser::completeExpression.
This function returns a list of completions for a given expression and completion position.
Differential Revision: http://llvm-reviews.chandlerc.com/D2261
llv
Introduce Parser::completeExpression.
This function returns a list of completions for a given expression and completion position.
Differential Revision: http://llvm-reviews.chandlerc.com/D2261
llvm-svn: 200497
show more ...
|
#
5553d0d4 |
| 07-Jan-2014 |
Chandler Carruth <chandlerc@gmail.com> |
Sort all the #include lines with LLVM's utils/sort_includes.py which encodes the canonical rules for LLVM's style. I noticed this had drifted quite a bit when cleaning up LLVM, so wanted to clean up
Sort all the #include lines with LLVM's utils/sort_includes.py which encodes the canonical rules for LLVM's style. I noticed this had drifted quite a bit when cleaning up LLVM, so wanted to clean up Clang as well.
llvm-svn: 198686
show more ...
|
Revision tags: llvmorg-3.4.0, llvmorg-3.4.0-rc3, llvmorg-3.4.0-rc2 |
|
#
00cba4f6 |
| 23-Nov-2013 |
Peter Collingbourne <peter@pcc.me.uk> |
Split registry matcher resolution into a lookup phase and a construction phase.
The looked-up matchers will be used during code completion.
Differential Revision: http://llvm-reviews.chandlerc.com/
Split registry matcher resolution into a lookup phase and a construction phase.
The looked-up matchers will be used during code completion.
Differential Revision: http://llvm-reviews.chandlerc.com/D2207
llvm-svn: 195534
show more ...
|
Revision tags: llvmorg-3.4.0-rc1 |
|
#
f34ac3ed |
| 29-Oct-2013 |
Samuel Benzaquen <sbenza@google.com> |
Resubmit "Refactor DynTypedMatcher into a value type class, just like Matcher<T>."
Summary: This resubmits r193100, plus a fix for a breakage with MSVC.
Reviewers: klimek, rnk
CC: cfe-commits, rev
Resubmit "Refactor DynTypedMatcher into a value type class, just like Matcher<T>."
Summary: This resubmits r193100, plus a fix for a breakage with MSVC.
Reviewers: klimek, rnk
CC: cfe-commits, revane
Differential Revision: http://llvm-reviews.chandlerc.com/D2005
llvm-svn: 193613
show more ...
|
#
9171f025 |
| 21-Oct-2013 |
Reid Kleckner <reid@kleckner.net> |
Revert "Refactor DynTypedMatcher into a value type class, just like Matcher<T>."
This reverts commit r193100.
It was failing to compile with MSVC 2012 while instantiating llvm::Optional<DynTypedMat
Revert "Refactor DynTypedMatcher into a value type class, just like Matcher<T>."
This reverts commit r193100.
It was failing to compile with MSVC 2012 while instantiating llvm::Optional<DynTypedMatcher>.
llvm-svn: 193123
show more ...
|
#
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 ...
|
#
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 ...
|
#
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 ...
|
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 |
|
#
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 ...
|