Hi Kirill, This commit broke ARMV8 buildbots, logs are available here: http://lab.llvm.org:8011/builders/clang-cmake-armv8-quick/builds/6493/steps/build%20stage%201/logs/stdio
Thanks Yvan On Mon, 10 Sep 2018 at 13:52, Kirill Bobyrev via Phabricator via llvm-commits <llvm-comm...@lists.llvm.org> wrote: > > This revision was automatically updated to reflect the committed changes. > Closed by commit rL341802: [clangd] Implement FuzzyFindRequest JSON > (de)serialization (authored by omtcyfz, committed by ). > Herald added a subscriber: llvm-commits. > > Changed prior to commit: > https://reviews.llvm.org/D51852?vs=164648&id=164655#toc > > Repository: > rL LLVM > > https://reviews.llvm.org/D51852 > > Files: > clang-tools-extra/trunk/clangd/CodeComplete.cpp > clang-tools-extra/trunk/clangd/index/Index.cpp > clang-tools-extra/trunk/clangd/index/Index.h > > > Index: clang-tools-extra/trunk/clangd/CodeComplete.cpp > =================================================================== > --- clang-tools-extra/trunk/clangd/CodeComplete.cpp > +++ clang-tools-extra/trunk/clangd/CodeComplete.cpp > @@ -1381,8 +1381,7 @@ > Req.Scopes = QueryScopes; > // FIXME: we should send multiple weighted paths here. > Req.ProximityPaths.push_back(FileName); > - vlog("Code complete: fuzzyFind(\"{0}\", scopes=[{1}])", Req.Query, > - llvm::join(Req.Scopes.begin(), Req.Scopes.end(), ",")); > + vlog("Code complete: fuzzyFind({0:2})", toJSON(Req)); > > if (SpecFuzzyFind) > SpecFuzzyFind->NewReq = Req; > Index: clang-tools-extra/trunk/clangd/index/Index.h > =================================================================== > --- clang-tools-extra/trunk/clangd/index/Index.h > +++ clang-tools-extra/trunk/clangd/index/Index.h > @@ -19,8 +19,10 @@ > #include "llvm/ADT/SmallVector.h" > #include "llvm/ADT/StringExtras.h" > #include "llvm/ADT/StringRef.h" > +#include "llvm/Support/JSON.h" > #include "llvm/Support/StringSaver.h" > #include <array> > +#include <limits> > #include <mutex> > #include <string> > #include <tuple> > @@ -435,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 = UINT_MAX; > + size_t MaxCandidateCount = std::numeric_limits<size_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). > @@ -450,6 +452,8 @@ > } > bool operator!=(const FuzzyFindRequest &Req) const { return !(*this == > Req); } > }; > +bool fromJSON(const llvm::json::Value &Value, FuzzyFindRequest &Request); > +llvm::json::Value toJSON(const FuzzyFindRequest &Request); > > struct LookupRequest { > llvm::DenseSet<SymbolID> IDs; > Index: clang-tools-extra/trunk/clangd/index/Index.cpp > =================================================================== > --- clang-tools-extra/trunk/clangd/index/Index.cpp > +++ clang-tools-extra/trunk/clangd/index/Index.cpp > @@ -175,6 +175,33 @@ > return Index; > } > > +bool fromJSON(const llvm::json::Value &Parameters, FuzzyFindRequest > &Request) { > + json::ObjectMapper O(Parameters); > + llvm::Optional<int64_t> MaxCandidateCount; > + bool OK = > + O && O.map("Query", Request.Query) && O.map("Scopes", Request.Scopes) > && > + O.map("RestrictForCodeCompletion", Request.RestrictForCodeCompletion) > && > + O.map("ProximityPaths", Request.ProximityPaths) && > + O.map("MaxCandidateCount", MaxCandidateCount); > + if (MaxCandidateCount) > + Request.MaxCandidateCount = MaxCandidateCount.getValue(); > + return OK; > +} > + > +llvm::json::Value toJSON(const FuzzyFindRequest &Request) { > + auto Result = json::Object{ > + {"Query", Request.Query}, > + {"Scopes", json::Array{Request.Scopes}}, > + {"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 Result; > +} > + > bool SwapIndex::fuzzyFind(const FuzzyFindRequest &R, > llvm::function_ref<void(const Symbol &)> CB) const > { > return snapshot()->fuzzyFind(R, CB); > > > _______________________________________________ > llvm-commits mailing list > llvm-comm...@lists.llvm.org > http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits