eduucaldas added inline comments.

================
Comment at: clang/lib/Tooling/Syntax/Synthesis.cpp:51
+  return createLeaf(A, tok::getKeywordSpelling(K), K);
+}
+
----------------
gribozavr2 wrote:
> Could we make a combined function that does not require the user to make a 
> distinction between punctuation and keywords?
> 
> We should also allow creating tokens that have a user-specified spelling, for 
> example, identifiers and string literals.
> 
> So maybe define two functions:
> 
> ```
> // Uses the provided spelling.
> syntax::Leaf *createLeaf(syntax::Arena &A, tok::TokenKind K, StringRef 
> Spelling);
> 
> // Infers spelling if possible.
> syntax::Leaf *createLeaf(syntax::Arena &A, tok::TokenKind K);
> ```
> 
First, thanks for the great comments!

> Could we make a combined function that does not require the user to make a 
> distinction between punctuation and keywords?
We could! 
Bui I wouldn't call it `createLeaf`, as it would work strictly for `Keyword`s 
or `Punctuator`s. 
As an alternative we could unify the `createPunctuator`and `createKeyword` into 
`createPunctuatorOrKeyword` but I would argue that the previous two names are 
more readable. Effectively, we would be unifying those 2 functions because they 
have the same signature.

> We should also allow creating tokens that have a user-specified spelling, for 
> example, identifiers and string literals.
That exists already! It is `createLeaf` as is!


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D87495

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

Reply via email to