diff options
Diffstat (limited to 'clang-tools-extra/clangd/Quality.cpp')
| -rw-r--r-- | clang-tools-extra/clangd/Quality.cpp | 88 |
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; } |

