ioeric added a comment.

Some high-level comments :)



================
Comment at: clang-tools-extra/clangd/index/dex/DexIndex.h:45
+  void build(std::shared_ptr<std::vector<const Symbol *>> Symbols,
+             llvm::ArrayRef<std::string> URISchemes);
 
----------------
URI schemes are property of `Symbols`. We shouldn't need to pass specify the 
schemes again. Dex can collect all possible URI schemes when building the index.

I think we could generate proximity paths for index symbols without knowing 
about schemes (when building the index). For example, we could `canonicalize` 
the URI (as in `FileDistance.cpp`), for example, by converting `test:///x/y/z` 
to `/test:/x/y/z`.  For a query, we would first convert query proximity paths 
to URIs (of all possible schemes), perform the same canonicalization on URIs, 
and then use the canonicalized paths to compute proximity.


================
Comment at: clang-tools-extra/clangd/index/dex/DexIndex.h:64
 
-private:
+  /// For fuzzyFind() Dex retrieves getRetrievalItemsMultiplier() more items
+  /// than requested via Req.MaxCandidateCount in the first stage of filtering.
----------------
Why are values of multipliers interesting to users? Could these be 
implementation details in the cpp file?


================
Comment at: clang-tools-extra/clangd/index/dex/Token.h:99
+/// Boost starts with Count and decreases by 1 for each parent directory token.
+std::vector<std::pair<Token, float>>
+generateQueryProximityPaths(llvm::StringRef AbsolutePath,
----------------
Note that `boost != up traversal distance` in most cases. We could return the 
distance here and let users decide what the exact boost score is.


================
Comment at: clang-tools-extra/unittests/clangd/DexIndexTests.cpp:33
 
+std::vector<std::string> URISchemes = {"file"};
+
----------------
Use `unittest` scheme defined in TestFS.cpp


https://reviews.llvm.org/D51481



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

Reply via email to