[PATCH] D67961: [libTooling] Introduce the MatchConsumer abstraction

Dmitri Gribenko via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Sep 25 05:15:07 PDT 2019


gribozavr accepted this revision.
gribozavr added inline comments.
This revision is now accepted and ready to land.


================
Comment at: clang/include/clang/Tooling/Refactoring/MatchConsumer.h:9
+///
+/// /file This file defines the *MatchConsumer* abstraction: a computation over
+/// match results, specifically the `ast_matchers::MatchFinder::MatchResult`
----------------
\file


================
Comment at: clang/include/clang/Tooling/Refactoring/MatchConsumer.h:27
+
+/// A central abstraction of the Transformer framework is computation over the
+/// results of a match (represented by \c MatchFinder::MatchResult). We
----------------
The comment seems to be a mix of documentation and design justification. How about this?

```
A failable computation over nodes bound by AST matchers.

It is a central abstraction of the Transformer framework.

The computation should report any errors though its return value (rather than terminating the program) to enable usage in interactive scenarios like clang-query.
```


================
Comment at: clang/include/clang/Tooling/Refactoring/MatchConsumer.h:39
+
+/// Convenience function for a common error generated by `MatchConsumer`s.
+inline llvm::Error notBoundError(llvm::StringRef Id) {
----------------
"Creates an error that signals that a `MatchConsumer` expected a certain node to be bound by AST matchers, but is was not actually bound."


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D67961/new/

https://reviews.llvm.org/D67961





More information about the cfe-commits mailing list