ioeric accepted this revision.
ioeric added a comment.
This revision is now accepted and ready to land.

lg! just a few nits.



================
Comment at: clang-tools-extra/clangd/index/dex/Iterator.cpp:109
+private:
+  /// Restores class invariants: each child should point to the same element.
+  void sync() {
----------------
This is the post-condition, not a precondition right?

To be clearer, ` ... each child will point to the same element after sync`




================
Comment at: clang-tools-extra/clangd/index/dex/Iterator.cpp:162
+
+  /// Returns false if any child is not exhausted, true otherwise.
+  bool reachedEnd() const override {
----------------
Or `Returns true if all children are exhausted.` No need for otherwise if it's 
trivial.


================
Comment at: clang-tools-extra/clangd/index/dex/Iterator.h:12
+// symbol, such as high fuzzy matching score, scope, type etc. The lists of all
+// symbols matching some criteria (e.g. belonging to "clang::clangd" scope) are
+// expressed in a form of Search Tokens which are stored in the inverted index.
----------------
nit: Just to match the actual implementation, use "clang::clangd::" to avoid 
confusion.


================
Comment at: clang-tools-extra/clangd/index/dex/Iterator.h:15
+// Inverted index maps these tokens to the posting lists - sorted (e.g. by
+// number of references) sequences of symbol IDs matching the token, e.g. scope
+// token "clangd::clangd" is mapped to the list of IDs of all symbols which are
----------------
"number of references" is too specific. Maybe "by symbol quality"?


================
Comment at: clang-tools-extra/clangd/index/dex/Iterator.h:25
+// because it allows receiving a certain number of the most valuable items 
(e.g.
+// symbols with most number of references if that is the sorting key in the
+// first place) without processing all items with requested qualities (this
----------------
Again, replace number of references with quality for generalization.


================
Comment at: clang-tools-extra/clangd/index/dex/Iterator.h:26
+// symbols with most number of references if that is the sorting key in the
+// first place) without processing all items with requested qualities (this
+// might not be computationally effective if search request is not very
----------------
with the requested *properties*?


================
Comment at: clang-tools-extra/clangd/index/dex/Iterator.h:61
+/// to be extensible in order to support multiple types of iterators, some of
+/// which are not yet introduced.
+class Iterator {
----------------
nit: drop "some of which are not yet introduced" as it's not relevant to the 
interface itself.


================
Comment at: clang-tools-extra/clangd/index/dex/Iterator.h:72
+  /// crash, false otherwise.
+  virtual bool reachedEnd() const = 0;
+  /// Moves to next valid DocID. If it doesn't exist, the iterator is exhausted
----------------
Just "return true if ...". 

There is no need to mention `advance()` and `advanceTo()` here as they are 
already covered in their own documentation. 


================
Comment at: clang-tools-extra/clangd/index/dex/Iterator.h:76
+  ///
+  /// Note: calls to advance() would trigger assertion (if enabled) or crash if
+  /// reachedEnd().
----------------
Just `reachedEnd() must be false.` which usually implies assertion. Same 
elsewhere.


================
Comment at: clang-tools-extra/clangd/index/dex/Iterator.h:127
+
+/// Allows calling createAnd() with {} braces by constructing an array of
+/// r-values rather than an initializer list.
----------------
An example of usage would be simpler and easier to understand here. Same below.

Example:
`This allows createAnd({create(...), create(...)})`


https://reviews.llvm.org/D49546



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

Reply via email to