aaron.ballman added a comment.

I think there should be some documentation change for the new `with` 
functionality.



================
Comment at: clang/lib/ASTMatchers/Dynamic/Marshallers.h:398-407
+  bool isBuilderMatcher() const override { return false; }
+
+  std::unique_ptr<MatcherDescriptor>
+  buildMatcherCtor(SourceRange, ArrayRef<ParserValue>,
+                   Diagnostics *) const override {
+    return {};
+  }
----------------
Rather than repeat these degenerate definitions six times, should this just be 
the default implementation within `MatcherDescriptor` (so derived classes are 
not required to override them)? Alternatively, should we make a 
`NonBuilderMatcherDescriptor` class that holds the degenerate definition, and 
these derived classes can inherit from `NonBuilderMatcherDescriptor` instead?


================
Comment at: clang/lib/ASTMatchers/Dynamic/Marshallers.h:1094
+
+  void getArgKinds(ASTNodeKind ThisKind, unsigned ArgNo,
+                   std::vector<ArgKind> &ArgKinds) const override {
----------------



================
Comment at: clang/lib/ASTMatchers/Dynamic/Parser.cpp:373
+      Tokenizer->consumeNextToken(); // Consume the period.
+      const TokenInfo ChainCallToken = Tokenizer->consumeNextToken();
+      if (ChainCallToken.Kind == TokenInfo::TK_CodeCompletion) {
----------------



================
Comment at: clang/lib/ASTMatchers/Dynamic/Parser.cpp:449
 bool Parser::parseBindID(std::string &BindID) {
-  // Parse .bind("foo")
-  assert(Tokenizer->peekNextToken().Kind == TokenInfo::TK_Period);
-  Tokenizer->consumeNextToken(); // consume the period.
-  const TokenInfo BindToken = Tokenizer->consumeNextToken();
-  if (BindToken.Kind == TokenInfo::TK_CodeCompletion) {
-    addCompletion(BindToken, MatcherCompletion("bind(\"", "bind", 1));
-    return false;
-  }
-
+  // Parse argument to .bind("foo")
   const TokenInfo OpenToken = Tokenizer->consumeNextToken();
----------------



================
Comment at: clang/lib/ASTMatchers/Dynamic/Parser.cpp:606
+
+      const TokenInfo WithOpenToken = Tokenizer->consumeNextToken();
+
----------------



Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D94880

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to