summaryrefslogtreecommitdiffstats
path: root/clang-tools-extra/clangd/Quality.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'clang-tools-extra/clangd/Quality.cpp')
-rw-r--r--clang-tools-extra/clangd/Quality.cpp88
1 files changed, 45 insertions, 43 deletions
diff --git a/clang-tools-extra/clangd/Quality.cpp b/clang-tools-extra/clangd/Quality.cpp
index fe7a969eb3a..cef35c4ca0c 100644
--- a/clang-tools-extra/clangd/Quality.cpp
+++ b/clang-tools-extra/clangd/Quality.cpp
@@ -31,10 +31,9 @@
#include <algorithm>
#include <cmath>
-using namespace llvm;
namespace clang {
namespace clangd {
-static bool isReserved(StringRef Name) {
+static bool isReserved(llvm::StringRef Name) {
// FIXME: Should we exclude _Bool and others recognized by the standard?
return Name.size() >= 2 && Name[0] == '_' &&
(isUppercase(Name[1]) || Name[1] == '_');
@@ -249,12 +248,13 @@ float SymbolQualitySignals::evaluate() const {
return Score;
}
-raw_ostream &operator<<(raw_ostream &OS, const SymbolQualitySignals &S) {
- OS << formatv("=== Symbol quality: {0}\n", S.evaluate());
- OS << formatv("\tReferences: {0}\n", S.References);
- OS << formatv("\tDeprecated: {0}\n", S.Deprecated);
- OS << formatv("\tReserved name: {0}\n", S.ReservedName);
- OS << formatv("\tCategory: {0}\n", static_cast<int>(S.Category));
+llvm::raw_ostream &operator<<(llvm::raw_ostream &OS,
+ const SymbolQualitySignals &S) {
+ OS << llvm::formatv("=== Symbol quality: {0}\n", S.evaluate());
+ OS << llvm::formatv("\tReferences: {0}\n", S.References);
+ OS << llvm::formatv("\tDeprecated: {0}\n", S.Deprecated);
+ OS << llvm::formatv("\tReserved name: {0}\n", S.ReservedName);
+ OS << llvm::formatv("\tCategory: {0}\n", static_cast<int>(S.Category));
return OS;
}
@@ -317,7 +317,7 @@ void SymbolRelevanceSignals::merge(const CodeCompletionResult &SemaCCResult) {
NeedsFixIts = !SemaCCResult.FixIts.empty();
}
-static std::pair<float, unsigned> uriProximity(StringRef SymbolURI,
+static std::pair<float, unsigned> uriProximity(llvm::StringRef SymbolURI,
URIDistance *D) {
if (!D || SymbolURI.empty())
return {0.f, 0u};
@@ -327,7 +327,7 @@ static std::pair<float, unsigned> uriProximity(StringRef SymbolURI,
}
static float scopeBoost(ScopeDistance &Distance,
- Optional<StringRef> SymbolScope) {
+ llvm::Optional<llvm::StringRef> SymbolScope) {
if (!SymbolScope)
return 1;
auto D = Distance.distance(*SymbolScope);
@@ -397,33 +397,34 @@ float SymbolRelevanceSignals::evaluate() const {
return Score;
}
-raw_ostream &operator<<(raw_ostream &OS, const SymbolRelevanceSignals &S) {
- OS << formatv("=== Symbol relevance: {0}\n", S.evaluate());
- OS << formatv("\tName match: {0}\n", S.NameMatch);
- OS << formatv("\tForbidden: {0}\n", S.Forbidden);
- OS << formatv("\tNeedsFixIts: {0}\n", S.NeedsFixIts);
- OS << formatv("\tIsInstanceMember: {0}\n", S.IsInstanceMember);
- OS << formatv("\tContext: {0}\n", getCompletionKindString(S.Context));
- OS << formatv("\tQuery type: {0}\n", static_cast<int>(S.Query));
- OS << formatv("\tScope: {0}\n", static_cast<int>(S.Scope));
-
- OS << formatv("\tSymbol URI: {0}\n", S.SymbolURI);
- OS << formatv("\tSymbol scope: {0}\n",
- S.SymbolScope ? *S.SymbolScope : "<None>");
+llvm::raw_ostream &operator<<(llvm::raw_ostream &OS,
+ const SymbolRelevanceSignals &S) {
+ OS << llvm::formatv("=== Symbol relevance: {0}\n", S.evaluate());
+ OS << llvm::formatv("\tName match: {0}\n", S.NameMatch);
+ OS << llvm::formatv("\tForbidden: {0}\n", S.Forbidden);
+ OS << llvm::formatv("\tNeedsFixIts: {0}\n", S.NeedsFixIts);
+ OS << llvm::formatv("\tIsInstanceMember: {0}\n", S.IsInstanceMember);
+ OS << llvm::formatv("\tContext: {0}\n", getCompletionKindString(S.Context));
+ OS << llvm::formatv("\tQuery type: {0}\n", static_cast<int>(S.Query));
+ OS << llvm::formatv("\tScope: {0}\n", static_cast<int>(S.Scope));
+
+ OS << llvm::formatv("\tSymbol URI: {0}\n", S.SymbolURI);
+ OS << llvm::formatv("\tSymbol scope: {0}\n",
+ S.SymbolScope ? *S.SymbolScope : "<None>");
if (S.FileProximityMatch) {
auto Score = uriProximity(S.SymbolURI, S.FileProximityMatch);
- OS << formatv("\tIndex URI proximity: {0} (distance={1})\n", Score.first,
- Score.second);
+ OS << llvm::formatv("\tIndex URI proximity: {0} (distance={1})\n",
+ Score.first, Score.second);
}
- OS << formatv("\tSema file proximity: {0}\n", S.SemaFileProximityScore);
+ OS << llvm::formatv("\tSema file proximity: {0}\n", S.SemaFileProximityScore);
- OS << formatv("\tSema says in scope: {0}\n", S.SemaSaysInScope);
+ OS << llvm::formatv("\tSema says in scope: {0}\n", S.SemaSaysInScope);
if (S.ScopeProximityMatch)
- OS << formatv("\tIndex scope boost: {0}\n",
- scopeBoost(*S.ScopeProximityMatch, S.SymbolScope));
+ OS << llvm::formatv("\tIndex scope boost: {0}\n",
+ scopeBoost(*S.ScopeProximityMatch, S.SymbolScope));
- OS << formatv(
+ OS << llvm::formatv(
"\tType matched preferred: {0} (Context type: {1}, Symbol type: {2}\n",
S.TypeMatchesPreferred, S.HadContextType, S.HadSymbolType);
@@ -441,33 +442,34 @@ static uint32_t encodeFloat(float F) {
constexpr uint32_t TopBit = ~(~uint32_t{0} >> 1);
// Get the bits of the float. Endianness is the same as for integers.
- uint32_t U = FloatToBits(F);
+ uint32_t U = llvm::FloatToBits(F);
// IEEE 754 floats compare like sign-magnitude integers.
if (U & TopBit) // Negative float.
return 0 - U; // Map onto the low half of integers, order reversed.
return U + TopBit; // Positive floats map onto the high half of integers.
}
-std::string sortText(float Score, StringRef Name) {
+std::string sortText(float Score, llvm::StringRef Name) {
// We convert -Score to an integer, and hex-encode for readability.
// Example: [0.5, "foo"] -> "41000000foo"
std::string S;
- raw_string_ostream OS(S);
- write_hex(OS, encodeFloat(-Score), HexPrintStyle::Lower,
- /*Width=*/2 * sizeof(Score));
+ llvm::raw_string_ostream OS(S);
+ llvm::write_hex(OS, encodeFloat(-Score), llvm::HexPrintStyle::Lower,
+ /*Width=*/2 * sizeof(Score));
OS << Name;
OS.flush();
return S;
}
-raw_ostream &operator<<(raw_ostream &OS, const SignatureQualitySignals &S) {
- OS << formatv("=== Signature Quality:\n");
- OS << formatv("\tNumber of parameters: {0}\n", S.NumberOfParameters);
- OS << formatv("\tNumber of optional parameters: {0}\n",
- S.NumberOfOptionalParameters);
- OS << formatv("\tContains active parameter: {0}\n",
- S.ContainsActiveParameter);
- OS << formatv("\tKind: {0}\n", S.Kind);
+llvm::raw_ostream &operator<<(llvm::raw_ostream &OS,
+ const SignatureQualitySignals &S) {
+ OS << llvm::formatv("=== Signature Quality:\n");
+ OS << llvm::formatv("\tNumber of parameters: {0}\n", S.NumberOfParameters);
+ OS << llvm::formatv("\tNumber of optional parameters: {0}\n",
+ S.NumberOfOptionalParameters);
+ OS << llvm::formatv("\tContains active parameter: {0}\n",
+ S.ContainsActiveParameter);
+ OS << llvm::formatv("\tKind: {0}\n", S.Kind);
return OS;
}
OpenPOWER on IntegriCloud