From: Sam McCall Date: Wed, 15 Nov 2017 09:15:06 +0000 (+0000) Subject: [clang] Expose orderedString from CodeCompletionResult. NFC X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=c0576335506e05f53c2c05690246811da220a9a7;p=clang [clang] Expose orderedString from CodeCompletionResult. NFC git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@318286 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/clang/Sema/CodeCompleteConsumer.h b/include/clang/Sema/CodeCompleteConsumer.h index dee53dc14a..d99d8c5867 100644 --- a/include/clang/Sema/CodeCompleteConsumer.h +++ b/include/clang/Sema/CodeCompleteConsumer.h @@ -777,6 +777,12 @@ public: CodeCompletionTUInfo &CCTUInfo, bool IncludeBriefComments); + /// \brief Retrieve the name that should be used to order a result. + /// + /// If the name needs to be constructed as a string, that string will be + /// saved into Saved and the returned StringRef will refer to it. + StringRef getOrderedName(std::string &Saved) const; + private: void computeCursorKindAndAvailability(bool Accessible = true); }; diff --git a/lib/Sema/CodeCompleteConsumer.cpp b/lib/Sema/CodeCompleteConsumer.cpp index f5b0104462..542b65327b 100644 --- a/lib/Sema/CodeCompleteConsumer.cpp +++ b/lib/Sema/CodeCompleteConsumer.cpp @@ -613,24 +613,20 @@ void CodeCompletionResult::computeCursorKindAndAvailability(bool Accessible) { /// /// If the name needs to be constructed as a string, that string will be /// saved into Saved and the returned StringRef will refer to it. -static StringRef getOrderedName(const CodeCompletionResult &R, - std::string &Saved) { - switch (R.Kind) { - case CodeCompletionResult::RK_Keyword: - return R.Keyword; - - case CodeCompletionResult::RK_Pattern: - return R.Pattern->getTypedText(); - - case CodeCompletionResult::RK_Macro: - return R.Macro->getName(); - - case CodeCompletionResult::RK_Declaration: +StringRef CodeCompletionResult::getOrderedName(std::string &Saved) const { + switch (Kind) { + case RK_Keyword: + return Keyword; + case RK_Pattern: + return Pattern->getTypedText(); + case RK_Macro: + return Macro->getName(); + case RK_Declaration: // Handle declarations below. break; } - DeclarationName Name = R.Declaration->getDeclName(); + DeclarationName Name = Declaration->getDeclName(); // If the name is a simple identifier (by far the common case), or a // zero-argument selector, just return a reference to that identifier. @@ -648,8 +644,8 @@ static StringRef getOrderedName(const CodeCompletionResult &R, bool clang::operator<(const CodeCompletionResult &X, const CodeCompletionResult &Y) { std::string XSaved, YSaved; - StringRef XStr = getOrderedName(X, XSaved); - StringRef YStr = getOrderedName(Y, YSaved); + StringRef XStr = X.getOrderedName(XSaved); + StringRef YStr = Y.getOrderedName(YSaved); int cmp = XStr.compare_lower(YStr); if (cmp) return cmp < 0;