tom-anders marked 5 inline comments as done.
tom-anders added inline comments.


================
Comment at: clang-tools-extra/clangd/SemanticHighlighting.cpp:470
   std::vector<HighlightingToken> Tokens;
+  std::map<Range, std::set<HighlightingModifier>> ExtraModifiers;
   const HeuristicResolver *Resolver;
----------------
nridge wrote:
> Looking at existing usage of associative containers in clangd code, 
> `llvm::DenseMap` and `llvm::DenseSet` (which are hashtable-based) are more 
> commonly used than `std::map` and `std::set`, though it may require some 
> boilerplate to teach them to use new key types 
> ([example](https://searchfox.org/llvm/rev/2556f58148836f0af3ad2c73fe54bbdf49f0295a/clang-tools-extra/clangd/index/dex/Token.h#117))
> 
> We could also consider making the value just a vector instead of a set (maybe 
> even an `llvm::SmallVector<HighlightingModifier, 1>` given its anticipated 
> usage), since even in the unlikely case that we get duplicates, 
> `addModifier()` will handle them correctly
Agreed, changed std::set to llvm::SmallVector. I can't really judge if it's 
worth using llvm::DenseMap here though.


================
Comment at: clang-tools-extra/clangd/unittests/SemanticHighlightingTests.cpp:773
+      )cpp",
+        /*struct $Class_decl[[S]] {
+          $Class_decl[[S]](int $Parameter_decl[[value]], const int& 
$Parameter_decl_readonly[[constRef]], 
----------------
nridge wrote:
> (test case needs uncommenting)
Actually it needed to be removed, has been replaced by the test above


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D108320

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

Reply via email to