kadircet added a comment.

still LG



================
Comment at: clang/lib/Tooling/Syntax/Tokens.cpp:588
+    auto &NextSpelled = this->NextSpelled[File];
+
+    if (Tok.location().isFileID()) {
----------------
sammccall wrote:
> kadircet wrote:
> > nit: maybe create mapping here and increment NextSpelled and NextExpanded 
> > explicitly here.
> Not quite sure what you mean here, my guesses...
> 
> Hoisting mapping creation to here: If we have file tokens, we're not creating 
> a mapping. Only nontrivial mappings are stored (where the spelled and 
> expanded locations differ). This may be a design mistake but it's not one I'm 
> fixing in this patch :-)
> 
> Incrementing NextSpelled and NextExpanded eagerly: if our invariants hold 
> (expanded and spelled tokens really do correspond) then we will indeed 
> increment each of these at least once, so we could structure the code that 
> way. However those invariants are ridiculously subtle and fragile (basically 
> depends on the correctness of the TokenWatcher impl in Preprocessor) so in 
> practice it's good not to advance if our assumptions aren't met so we can 
> actually debug the result. The latest version of the patch makes use of this 
> to detect and crash with a useful message (diagnoseAdvanceFailure).
i was talking about the latter (eagerly incrementing).

With the latest diagnosing mechanism, i also agree that it should stay that way.


================
Comment at: clang/lib/Tooling/Syntax/Tokens.cpp:526
+    // Create empty mappings up until the end of the file.
+    for (const auto& File : Result.Files)
+      discard(File.first);
----------------
nit: formatting


================
Comment at: clang/lib/Tooling/Syntax/Tokens.cpp:641
 
+
   /// Initializes TokenBuffer::Files and fills spelled tokens and expanded
----------------
nit: format


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D77614



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

Reply via email to