[PATCH] D51860: [clangd] NFC: Use uint32_t for FuzzyFindRequest limits
Kirill Bobyrev via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Tue Sep 11 01:08:20 PDT 2018
kbobyrev updated this revision to Diff 164821.
kbobyrev marked an inline comment as done.
https://reviews.llvm.org/D51860
Files:
clang-tools-extra/clangd/index/Index.cpp
clang-tools-extra/clangd/index/Index.h
Index: clang-tools-extra/clangd/index/Index.h
===================================================================
--- clang-tools-extra/clangd/index/Index.h
+++ clang-tools-extra/clangd/index/Index.h
@@ -437,7 +437,7 @@
std::vector<std::string> Scopes;
/// \brief The number of top candidates to return. The index may choose to
/// return more than this, e.g. if it doesn't know which candidates are best.
- size_t MaxCandidateCount = std::numeric_limits<size_t>::max();
+ uint32_t MaxCandidateCount = std::numeric_limits<uint32_t>::max();
/// If set to true, only symbols for completion support will be considered.
bool RestrictForCodeCompletion = false;
/// Contextually relevant files (e.g. the file we're code-completing in).
Index: clang-tools-extra/clangd/index/Index.cpp
===================================================================
--- clang-tools-extra/clangd/index/Index.cpp
+++ clang-tools-extra/clangd/index/Index.cpp
@@ -177,29 +177,25 @@
bool fromJSON(const llvm::json::Value &Parameters, FuzzyFindRequest &Request) {
json::ObjectMapper O(Parameters);
- llvm::Optional<int64_t> MaxCandidateCount;
+ int64_t MaxCandidateCount;
bool OK =
O && O.map("Query", Request.Query) && O.map("Scopes", Request.Scopes) &&
+ O.map("MaxCandidateCount", MaxCandidateCount) &&
O.map("RestrictForCodeCompletion", Request.RestrictForCodeCompletion) &&
- O.map("ProximityPaths", Request.ProximityPaths) &&
- O.map("MaxCandidateCount", MaxCandidateCount);
- if (MaxCandidateCount)
- Request.MaxCandidateCount = MaxCandidateCount.getValue();
+ O.map("ProximityPaths", Request.ProximityPaths);
+ if (OK && MaxCandidateCount <= std::numeric_limits<uint32_t>::max())
+ Request.MaxCandidateCount = MaxCandidateCount;
return OK;
}
llvm::json::Value toJSON(const FuzzyFindRequest &Request) {
- auto Result = json::Object{
+ return json::Object{
{"Query", Request.Query},
{"Scopes", json::Array{Request.Scopes}},
+ {"MaxCandidateCount", Request.MaxCandidateCount},
{"RestrictForCodeCompletion", Request.RestrictForCodeCompletion},
{"ProximityPaths", json::Array{Request.ProximityPaths}},
};
- // A huge limit means no limit, leave it out.
- if (Request.MaxCandidateCount <= std::numeric_limits<int64_t>::max())
- Result["MaxCandidateCount"] =
- static_cast<int64_t>(Request.MaxCandidateCount);
- return std::move(Result);
}
bool SwapIndex::fuzzyFind(const FuzzyFindRequest &R,
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D51860.164821.patch
Type: text/x-patch
Size: 2503 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20180911/a9a3870e/attachment.bin>
More information about the cfe-commits
mailing list