|
Revision tags: llvmorg-20.1.0, llvmorg-20.1.0-rc3, llvmorg-20.1.0-rc2, llvmorg-20.1.0-rc1, llvmorg-21-init, llvmorg-19.1.7, llvmorg-19.1.6, llvmorg-19.1.5, llvmorg-19.1.4, llvmorg-19.1.3, llvmorg-19.1.2, llvmorg-19.1.1, llvmorg-19.1.0, llvmorg-19.1.0-rc4, llvmorg-19.1.0-rc3, llvmorg-19.1.0-rc2, llvmorg-19.1.0-rc1, llvmorg-20-init, llvmorg-18.1.8, llvmorg-18.1.7, llvmorg-18.1.6, llvmorg-18.1.5, llvmorg-18.1.4, llvmorg-18.1.3, llvmorg-18.1.2, llvmorg-18.1.1, llvmorg-18.1.0, llvmorg-18.1.0-rc4, llvmorg-18.1.0-rc3, llvmorg-18.1.0-rc2, llvmorg-18.1.0-rc1, llvmorg-19-init, llvmorg-17.0.6, llvmorg-17.0.5, llvmorg-17.0.4, llvmorg-17.0.3, llvmorg-17.0.2, llvmorg-17.0.1, llvmorg-17.0.0, llvmorg-17.0.0-rc4, llvmorg-17.0.0-rc3, llvmorg-17.0.0-rc2, llvmorg-17.0.0-rc1, llvmorg-18-init, llvmorg-16.0.6, llvmorg-16.0.5, llvmorg-16.0.4, llvmorg-16.0.3, llvmorg-16.0.2, llvmorg-16.0.1, llvmorg-16.0.0, llvmorg-16.0.0-rc4, llvmorg-16.0.0-rc3, llvmorg-16.0.0-rc2, llvmorg-16.0.0-rc1, llvmorg-17-init, llvmorg-15.0.7, llvmorg-15.0.6, llvmorg-15.0.5, llvmorg-15.0.4, llvmorg-15.0.3, llvmorg-15.0.2, llvmorg-15.0.1, llvmorg-15.0.0, llvmorg-15.0.0-rc3, llvmorg-15.0.0-rc2, llvmorg-15.0.0-rc1, llvmorg-16-init, llvmorg-14.0.6, llvmorg-14.0.5, llvmorg-14.0.4, llvmorg-14.0.3, llvmorg-14.0.2, llvmorg-14.0.1 |
|
| #
9edeceae |
| 21-Mar-2022 |
Eric Li <[email protected]> |
[libTooling] Generalize string explanation as templated metadata
Change RewriteRule from holding an `Explanation` to being able to generate arbitrary metadata. Where TransformerClangTidyCheck was in
[libTooling] Generalize string explanation as templated metadata
Change RewriteRule from holding an `Explanation` to being able to generate arbitrary metadata. Where TransformerClangTidyCheck was interested in a string description for the diagnostic, other tools may be interested in richer metadata at a higher level of abstraction than at the edit level (which is currently available as ASTEdit::Metadata).
Reviewed By: ymandel
Differential Revision: https://reviews.llvm.org/D120360
show more ...
|
| #
8351726e |
| 21-Mar-2022 |
Yitzhak Mandelbaum <[email protected]> |
Revert "[libTooling] Generalize string explanation as templated metadata"
This reverts commit 18440547d3520b78c9ab929685309419fc1fbe95. Causing failures in some build modes.
e.g. https://lab.llvm.o
Revert "[libTooling] Generalize string explanation as templated metadata"
This reverts commit 18440547d3520b78c9ab929685309419fc1fbe95. Causing failures in some build modes.
e.g. https://lab.llvm.org/buildbot/#/builders/217/builds/1886
show more ...
|
| #
18440547 |
| 21-Mar-2022 |
Eric Li <[email protected]> |
[libTooling] Generalize string explanation as templated metadata
Change RewriteRule from holding an `Explanation` to being able to generate arbitrary metadata. Where TransformerClangTidyCheck was in
[libTooling] Generalize string explanation as templated metadata
Change RewriteRule from holding an `Explanation` to being able to generate arbitrary metadata. Where TransformerClangTidyCheck was interested in a string description for the diagnostic, other tools may be interested in richer metadata at a higher level of abstraction than at the edit level (which is currently available as ASTEdit::Metadata).
Reviewed By: ymandel
Differential Revision: https://reviews.llvm.org/D120360
show more ...
|
|
Revision tags: llvmorg-14.0.0, llvmorg-14.0.0-rc4, llvmorg-14.0.0-rc3, llvmorg-14.0.0-rc2, llvmorg-14.0.0-rc1, llvmorg-15-init, llvmorg-13.0.1, llvmorg-13.0.1-rc3, llvmorg-13.0.1-rc2, llvmorg-13.0.1-rc1, llvmorg-13.0.0, llvmorg-13.0.0-rc4, llvmorg-13.0.0-rc3, llvmorg-13.0.0-rc2, llvmorg-13.0.0-rc1, llvmorg-14-init, llvmorg-12.0.1, llvmorg-12.0.1-rc4, llvmorg-12.0.1-rc3, llvmorg-12.0.1-rc2, llvmorg-12.0.1-rc1, llvmorg-12.0.0, llvmorg-12.0.0-rc5, llvmorg-12.0.0-rc4, llvmorg-12.0.0-rc3, llvmorg-12.0.0-rc2, llvmorg-11.1.0, llvmorg-11.1.0-rc3, llvmorg-12.0.0-rc1, llvmorg-13-init, llvmorg-11.1.0-rc2, llvmorg-11.1.0-rc1 |
|
| #
1fabe6e5 |
| 22-Dec-2020 |
Yitzhak Mandelbaum <[email protected]> |
[libTooling] Change `addInclude` to use expansion locs.
This patch changes the default range used to anchor the include insertion to use an expansion loc. This ensures that the location is valid, w
[libTooling] Change `addInclude` to use expansion locs.
This patch changes the default range used to anchor the include insertion to use an expansion loc. This ensures that the location is valid, when the user relies on the default range.
Driveby: extend a FIXME for a problem that was emphasized by this change; fix some spellings.
Differential Revision: https://reviews.llvm.org/D93703
show more ...
|
|
Revision tags: llvmorg-11.0.1, llvmorg-11.0.1-rc2 |
|
| #
027899da |
| 10-Dec-2020 |
Alexander Kornienko <[email protected]> |
Remove references to the ast_type_traits namespace
Follow up to cd62511496938e33c061c90796dd23a5288ff843 / https://reviews.llvm.org/D74499
Reviewed By: aaron.ballman
Differential Revision: https:/
Remove references to the ast_type_traits namespace
Follow up to cd62511496938e33c061c90796dd23a5288ff843 / https://reviews.llvm.org/D74499
Reviewed By: aaron.ballman
Differential Revision: https://reviews.llvm.org/D92994
show more ...
|
| #
fdff677a |
| 30-Nov-2020 |
Yitzhak Mandelbaum <[email protected]> |
[libTooling] Remove deprecated Clang Transformer declarations
A number of declarations were leftover after the move from `clang::tooling` to `clang::transformer`. This patch removes those declaratio
[libTooling] Remove deprecated Clang Transformer declarations
A number of declarations were leftover after the move from `clang::tooling` to `clang::transformer`. This patch removes those declarations and upgrades the handful of references to the deprecated declarations.
Differential Revision: https://reviews.llvm.org/D92340
show more ...
|
|
Revision tags: llvmorg-11.0.1-rc1 |
|
| #
6f8f5cb7 |
| 22-Oct-2020 |
Yitzhak Mandelbaum <[email protected]> |
[libTooling] Add function to Transformer to create a no-op edit.
This functionality is commonly needed in clang tidy checks (based on transformer) that only print warnings, without suggesting any ed
[libTooling] Add function to Transformer to create a no-op edit.
This functionality is commonly needed in clang tidy checks (based on transformer) that only print warnings, without suggesting any edits. The no-op edit allows the user to associate a diagnostic message with a source location.
Differential Revision: https://reviews.llvm.org/D89961
show more ...
|
|
Revision tags: llvmorg-11.0.0, llvmorg-11.0.0-rc6, llvmorg-11.0.0-rc5, llvmorg-11.0.0-rc4, llvmorg-11.0.0-rc3 |
|
| #
d4f39031 |
| 02-Sep-2020 |
Yitzhak Mandelbaum <[email protected]> |
[libTooling] Provide overloads of `rewriteDescendants` that operate directly on an AST node.
The new overloads apply directly to a node, like the `clang::ast_matchers::match` functions, Rather than
[libTooling] Provide overloads of `rewriteDescendants` that operate directly on an AST node.
The new overloads apply directly to a node, like the `clang::ast_matchers::match` functions, Rather than generating an `EditGenerator` combinator.
Differential Revision: https://reviews.llvm.org/D87031
show more ...
|
| #
6f0a3711 |
| 02-Sep-2020 |
Yitzhak Mandelbaum <[email protected]> |
[libTooling] Restore defaults for matchers in makeRule.
This patch restores the default traversal for Transformer's `makeRule` to `TK_AsIs`. The implicit mode has proven problematic.
Differential R
[libTooling] Restore defaults for matchers in makeRule.
This patch restores the default traversal for Transformer's `makeRule` to `TK_AsIs`. The implicit mode has proven problematic.
Differential Revision: https://reviews.llvm.org/D87048
show more ...
|
|
Revision tags: llvmorg-11.0.0-rc2 |
|
| #
b98e25b6 |
| 19-Aug-2020 |
Benjamin Kramer <[email protected]> |
Make helpers static. NFC.
|
| #
b9aaf32f |
| 11-Aug-2020 |
Simon Pilgrim <[email protected]> |
Fix MSVC "not all control paths return a value" warning. NFC.
|
| #
d8c1f43d |
| 11-Aug-2020 |
Yitzhak Mandelbaum <[email protected]> |
[libTooling] Move RewriteRule include edits to ASTEdit granularity.
Currently, changes to includes are applied to an entire rule. However, include changes may be specific to particular edits within
[libTooling] Move RewriteRule include edits to ASTEdit granularity.
Currently, changes to includes are applied to an entire rule. However, include changes may be specific to particular edits within a rule (for example, they may apply to one file but not another). Also, include changes may need to carry metadata, just like other changes. So, we make include changes first-class edits.
Reviewed By: tdl-g
Differential Revision: https://reviews.llvm.org/D85734
show more ...
|
| #
645dd1b3 |
| 11-Aug-2020 |
Yitzhak Mandelbaum <[email protected]> |
[libTooling] Cleanup and reorder `RewriteRule.h`.
This patch lifts `RootID` out of the `RewriteRule` class so that constructs (e.g. inline functions) can that refer to the root id don't need to depe
[libTooling] Cleanup and reorder `RewriteRule.h`.
This patch lifts `RootID` out of the `RewriteRule` class so that constructs (e.g. inline functions) can that refer to the root id don't need to depend on the `RewriteRule` class.
With this dependency, the patch is able to collect all `ASTEdit` helper function declarations together with the class declaration, before the introduction of the `RewriteRule` class. In the process, we also adjust some of the comments.
This patch is essentially a NFC.
Reviewed By: gribozavr2
Differential Revision: https://reviews.llvm.org/D85733
show more ...
|
|
Revision tags: llvmorg-11.0.0-rc1 |
|
| #
c332a984 |
| 24-Jul-2020 |
Yitzhak Mandelbaum <[email protected]> |
[libTooling] Add an `EditGenerator` that applies a rule throughout a bound node.
The new combinator, `rewriteDescendants`, applies a rewrite rule to all descendants of a specified bound node. That
[libTooling] Add an `EditGenerator` that applies a rule throughout a bound node.
The new combinator, `rewriteDescendants`, applies a rewrite rule to all descendants of a specified bound node. That rewrite rule can refer to nodes bound by the parent, both in the matcher and in the edits.
Reviewed By: gribozavr2
Differential Revision: https://reviews.llvm.org/D84409
show more ...
|
| #
cf428778 |
| 21-Jul-2020 |
Yitzhak Mandelbaum <[email protected]> |
[libTooling] Add assorted `EditGenerator` combinators.
Summary: This patch adds various combinators that help in constructing `EditGenerator`s: * `noEdits` * `ifBound`, specialized to `ASTEdit
[libTooling] Add assorted `EditGenerator` combinators.
Summary: This patch adds various combinators that help in constructing `EditGenerator`s: * `noEdits` * `ifBound`, specialized to `ASTEdit` * `flatten` and `flattenVector` which allow for easy construction from a set of sub edits. * `shrinkTo`, which generates edits to shrink a given range to another that it encloses.
Reviewers: asoffer, gribozavr2
Subscribers: cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D84310
show more ...
|
| #
e5b3202b |
| 21-Jul-2020 |
Andy Soffer <asoffer> |
[libTooling] In Clang Transformer, change `Metadata` field to deferred evaluation.
`Metadata` is being changed from an `llvm::Any` to a `MatchConsumer<llvm::Any>` so that it's evaluation can be be d
[libTooling] In Clang Transformer, change `Metadata` field to deferred evaluation.
`Metadata` is being changed from an `llvm::Any` to a `MatchConsumer<llvm::Any>` so that it's evaluation can be be dependent on on `MatchResult`s passed in.
Reviewed By: ymandel, gribozavr2
Differential Revision: https://reviews.llvm.org/D83820
show more ...
|
| #
bd994b81 |
| 20-Jul-2020 |
Yitzhak Mandelbaum <[email protected]> |
Revert "[libTooling] In Clang Transformer, change `Metadata` field to deferred evalutaion"
This reverts commit c0b8954ecba500e3d9609152295b74ccd7d89d62.
The commit has broken various builds. Revert
Revert "[libTooling] In Clang Transformer, change `Metadata` field to deferred evalutaion"
This reverts commit c0b8954ecba500e3d9609152295b74ccd7d89d62.
The commit has broken various builds. Reverting while I investigate the cause.
show more ...
|
| #
c0b8954e |
| 20-Jul-2020 |
Yitzhak Mandelbaum <[email protected]> |
[libTooling] In Clang Transformer, change `Metadata` field to deferred evalutaion
`Metadata` is being changed from an `llvm::Any` to a `MatchConsumer<llvm;:Any>`, so that it's evaluation can be be d
[libTooling] In Clang Transformer, change `Metadata` field to deferred evalutaion
`Metadata` is being changed from an `llvm::Any` to a `MatchConsumer<llvm;:Any>`, so that it's evaluation can be be dependent on `MatchResult`s passed in.
Reviewed By: ymandel, gribozavr2
Differential Revision: https://reviews.llvm.org/D83820
show more ...
|
|
Revision tags: llvmorg-12-init, llvmorg-10.0.1, llvmorg-10.0.1-rc4, llvmorg-10.0.1-rc3 |
|
| #
9945bd59 |
| 30-Jun-2020 |
Andy Soffer <asoffer> |
Add Metadata to Transformer tooling
This change adds a Metadata field to ASTEdit, Edit, and AtomicChange so that edits can have associated metadata and that metadata can be constructed with Transfor
Add Metadata to Transformer tooling
This change adds a Metadata field to ASTEdit, Edit, and AtomicChange so that edits can have associated metadata and that metadata can be constructed with Transformer-based RewriteRules. Metadata is ignored when applying edits to source, but other consumers of AtomicChange can use this metadata to direct how they want to consume each edit.
Reviewed By: ymandel, gribozavr2
Differential Revision: https://reviews.llvm.org/D82226
show more ...
|
|
Revision tags: llvmorg-10.0.1-rc2 |
|
| #
ce5780b8 |
| 27-May-2020 |
Yitzhak Mandelbaum <[email protected]> |
[libTooling] Fix Transformer to work with ambient traversal kinds.
Summary: `RewriteRule`'s `applyFirst` was brittle with respect to the default setting of the `TraversalKind`. This patch builds awa
[libTooling] Fix Transformer to work with ambient traversal kinds.
Summary: `RewriteRule`'s `applyFirst` was brittle with respect to the default setting of the `TraversalKind`. This patch builds awareness of traversal kinds directly into rewrite rules so that they are insensitive to any changes in defaults.
Reviewers: steveire, gribozavr
Subscribers: hokein, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D80606
show more ...
|
|
Revision tags: llvmorg-10.0.1-rc1 |
|
| #
5e5d3667 |
| 03-Apr-2020 |
Yitzhak Mandelbaum <[email protected]> |
[libTooling] Simplify the representation of Transformer's RewriteRules.
Summary: This revision simplifies the representation of edits in rewrite rules. The simplified form is more general, allowing
[libTooling] Simplify the representation of Transformer's RewriteRules.
Summary: This revision simplifies the representation of edits in rewrite rules. The simplified form is more general, allowing the user more flexibility in building custom edit specifications.
The changes extend the API, without changing the signature of existing functions. So this only risks breaking users that directly accessed the `RewriteRule` struct.
Reviewers: gribozavr2
Subscribers: jfb, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D77419
show more ...
|
|
Revision tags: llvmorg-10.0.0, llvmorg-10.0.0-rc6, llvmorg-10.0.0-rc5, llvmorg-10.0.0-rc4, llvmorg-10.0.0-rc3, llvmorg-10.0.0-rc2 |
|
| #
cd625114 |
| 12-Feb-2020 |
Reid Kleckner <[email protected]> |
Remove clang::ast_type_traits namespace in favor of clang
DynTypedNode and ASTNodeKind are implemented as part of the clang AST library, which uses the main clang namespace. There doesn't seem to be
Remove clang::ast_type_traits namespace in favor of clang
DynTypedNode and ASTNodeKind are implemented as part of the clang AST library, which uses the main clang namespace. There doesn't seem to be a need for this extra level of namespacing.
I left behind aliases in the ast_type_traits namespace for out of tree clients of these APIs. To provide aliases for the enumerators, I used this pattern: namespace ast_type_traits { constexpr TraversalKind TK_AsIs = ::clang::TK_AsIs; } I think the typedefs will be useful for migration, but we might be able to drop these enumerator aliases.
Reviewed By: aaron.ballman
Differential Revision: https://reviews.llvm.org/D74499
show more ...
|
|
Revision tags: llvmorg-10.0.0-rc1, llvmorg-11-init, llvmorg-9.0.1, llvmorg-9.0.1-rc3, llvmorg-9.0.1-rc2, llvmorg-9.0.1-rc1 |
|
| #
489449c2 |
| 04-Nov-2019 |
Yitzhak Mandelbaum <[email protected]> |
[libTooling] Further simplify `Stencil` type and introduce `MatchComputation`.
Summary: This revision introduces a new interface `MatchComputation` which generalizes the `Stencil` interface and repl
[libTooling] Further simplify `Stencil` type and introduce `MatchComputation`.
Summary: This revision introduces a new interface `MatchComputation` which generalizes the `Stencil` interface and replaces the `std::function` interface of `MatchConsumer`. With this revision, `Stencil` (as an abstraction) becomes just one collection of implementations of `MatchComputation<std::string>`. Correspondingly, we remove the `Stencil` class entirely in favor of a simple type alias, deprecate `MatchConsumer` and change all functions that accepted `MatchConsumer<std::string>` to use `MatchComputation<std::string>` instead.
Reviewers: gribozavr
Subscribers: cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D69802
show more ...
|
| #
6c683aa8 |
| 06-Nov-2019 |
Yitzhak Mandelbaum <[email protected]> |
[libTooling] Fix breakage from change #84922
|
| #
8bb47cd8 |
| 16-Oct-2019 |
Yitzhak Mandelbaum <[email protected]> |
[libTooling] Put all Transformer declarations in a single namespace.
Summary: This revision introduces a new namespace, `clang::transformer`, to hold the declarations for the Transformer library.
R
[libTooling] Put all Transformer declarations in a single namespace.
Summary: This revision introduces a new namespace, `clang::transformer`, to hold the declarations for the Transformer library.
Reviewers: gribozavr
Subscribers: cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D68876
llvm-svn: 374962
show more ...
|