clang-tools
9.0.0
|
Attributes of a symbol-query pair that affect how much we like it. More...
#include <Quality.h>
Public Types | |
enum | AccessibleScope { FunctionScope, ClassScope, FileScope, GlobalScope } |
enum | QueryType { CodeComplete, Generic } |
Public Member Functions | |
void | merge (const CodeCompletionResult &SemaResult) |
void | merge (const Symbol &IndexResult) |
float | evaluate () const |
Public Attributes | |
llvm::StringRef | Name |
The name of the symbol (for ContextWords). Must be explicitly assigned. More... | |
float | NameMatch = 1 |
0-1+ fuzzy-match score for unqualified name. Must be explicitly assigned. More... | |
llvm::StringSet * | ContextWords = nullptr |
Lowercase words relevant to the context (e.g. near the completion point). More... | |
bool | Forbidden = false |
bool | NeedsFixIts = false |
Whether fixits needs to be applied for that completion or not. More... | |
bool | InBaseClass = false |
URIDistance * | FileProximityMatch = nullptr |
llvm::StringRef | SymbolURI |
These are used to calculate proximity between the index symbol and the query. More... | |
float | SemaFileProximityScore = 0 |
FIXME: unify with index proximity score - signals should be source-independent. More... | |
ScopeDistance * | ScopeProximityMatch = nullptr |
llvm::Optional< llvm::StringRef > | SymbolScope |
bool | SemaSaysInScope = false |
enum clang::clangd::SymbolRelevanceSignals::AccessibleScope | Scope = GlobalScope |
enum clang::clangd::SymbolRelevanceSignals::QueryType | Query = Generic |
CodeCompletionContext::Kind | Context = CodeCompletionContext::CCC_Other |
bool | IsInstanceMember = false |
bool | HadContextType = false |
bool | HadSymbolType = false |
bool | TypeMatchesPreferred = false |
Attributes of a symbol-query pair that affect how much we like it.
float clang::clangd::SymbolRelevanceSignals::evaluate | ( | ) | const |
Definition at line 348 of file Quality.cpp.
References Name, clang::clangd::scopeBoost(), Score, clang::clangd::uriProximity(), and clang::clangd::wordMatching().
void clang::clangd::SymbolRelevanceSignals::merge | ( | const CodeCompletionResult & | SemaResult | ) |
Definition at line 294 of file Quality.cpp.
References clang::clangd::computeScope(), clang::clangd::hasDeclInMainFile(), clang::clangd::hasUsingDeclInMainFile(), and clang::clangd::isInstanceMember().
void clang::clangd::SymbolRelevanceSignals::merge | ( | const Symbol & | IndexResult | ) |
Definition at line 285 of file Quality.cpp.
References clang::clangd::Symbol::CanonicalDeclaration, clang::clangd::SymbolLocation::FileURI, clang::clangd::Symbol::Flags, clang::clangd::isInstanceMember(), clang::clangd::Symbol::Scope, clang::clangd::Symbol::SymInfo, and clang::clangd::Symbol::VisibleOutsideFile.
CodeCompletionContext::Kind clang::clangd::SymbolRelevanceSignals::Context = CodeCompletionContext::CCC_Other |
llvm::StringSet* clang::clangd::SymbolRelevanceSignals::ContextWords = nullptr |
URIDistance* clang::clangd::SymbolRelevanceSignals::FileProximityMatch = nullptr |
bool clang::clangd::SymbolRelevanceSignals::Forbidden = false |
bool clang::clangd::SymbolRelevanceSignals::HadContextType = false |
bool clang::clangd::SymbolRelevanceSignals::HadSymbolType = false |
bool clang::clangd::SymbolRelevanceSignals::InBaseClass = false |
bool clang::clangd::SymbolRelevanceSignals::IsInstanceMember = false |
llvm::StringRef clang::clangd::SymbolRelevanceSignals::Name |
float clang::clangd::SymbolRelevanceSignals::NameMatch = 1 |
bool clang::clangd::SymbolRelevanceSignals::NeedsFixIts = false |
enum clang::clangd::SymbolRelevanceSignals::QueryType clang::clangd::SymbolRelevanceSignals::Query = Generic |
enum clang::clangd::SymbolRelevanceSignals::AccessibleScope clang::clangd::SymbolRelevanceSignals::Scope = GlobalScope |
ScopeDistance* clang::clangd::SymbolRelevanceSignals::ScopeProximityMatch = nullptr |
float clang::clangd::SymbolRelevanceSignals::SemaFileProximityScore = 0 |
bool clang::clangd::SymbolRelevanceSignals::SemaSaysInScope = false |
llvm::Optional<llvm::StringRef> clang::clangd::SymbolRelevanceSignals::SymbolScope |
llvm::StringRef clang::clangd::SymbolRelevanceSignals::SymbolURI |
bool clang::clangd::SymbolRelevanceSignals::TypeMatchesPreferred = false |