summaryrefslogtreecommitdiffstats
path: root/clang-tools-extra/clangd/CodeComplete.cpp
diff options
context:
space:
mode:
authorSam McCall <sam.mccall@gmail.com>2018-07-06 11:50:49 +0000
committerSam McCall <sam.mccall@gmail.com>2018-07-06 11:50:49 +0000
commit4e5742a479781860a67c55911132b993b9718064 (patch)
tree3dafadf1f6dbac0870ef8d75213a4ea51df461b5 /clang-tools-extra/clangd/CodeComplete.cpp
parent492cdfc5fbe2b35e7c52a12e853298d14ea68e8f (diff)
downloadbcm5719-llvm-4e5742a479781860a67c55911132b993b9718064.tar.gz
bcm5719-llvm-4e5742a479781860a67c55911132b993b9718064.zip
[clangd] Make SymbolOrigin an enum class, rather than a plain enum.
I never intended to define namespace pollution like clangd::AST, clangd::Unknown etc. Oops! llvm-svn: 336431
Diffstat (limited to 'clang-tools-extra/clangd/CodeComplete.cpp')
-rw-r--r--clang-tools-extra/clangd/CodeComplete.cpp17
1 files changed, 8 insertions, 9 deletions
diff --git a/clang-tools-extra/clangd/CodeComplete.cpp b/clang-tools-extra/clangd/CodeComplete.cpp
index e8a77e6248b..be252b52b64 100644
--- a/clang-tools-extra/clangd/CodeComplete.cpp
+++ b/clang-tools-extra/clangd/CodeComplete.cpp
@@ -268,8 +268,7 @@ struct CodeCompletionBuilder {
: ASTCtx(ASTCtx), ExtractDocumentation(Opts.IncludeComments) {
add(C, SemaCCS);
if (C.SemaResult) {
- Completion.Origin =
- static_cast<SymbolOrigin>(Completion.Origin | SymbolOrigin::AST);
+ Completion.Origin |= SymbolOrigin::AST;
Completion.Name = llvm::StringRef(SemaCCS->getTypedText());
if (Completion.Scope.empty())
if (C.SemaResult->Kind == CodeCompletionResult::RK_Declaration)
@@ -281,8 +280,7 @@ struct CodeCompletionBuilder {
toCompletionItemKind(C.SemaResult->Kind, C.SemaResult->Declaration);
}
if (C.IndexResult) {
- Completion.Origin =
- static_cast<SymbolOrigin>(Completion.Origin | C.IndexResult->Origin);
+ Completion.Origin |= C.IndexResult->Origin;
if (Completion.Scope.empty())
Completion.Scope = C.IndexResult->Scope;
if (Completion.Kind == CompletionItemKind::Missing)
@@ -1156,17 +1154,18 @@ private:
else
return;
SymbolOrigin Origin = SymbolOrigin::Unknown;
+ bool FromIndex = false;
for (const auto &Candidate : Bundle) {
if (Candidate.IndexResult) {
Quality.merge(*Candidate.IndexResult);
Relevance.merge(*Candidate.IndexResult);
- Origin =
- static_cast<SymbolOrigin>(Origin | Candidate.IndexResult->Origin);
+ Origin |= Candidate.IndexResult->Origin;
+ FromIndex = true;
}
if (Candidate.SemaResult) {
Quality.merge(*Candidate.SemaResult);
Relevance.merge(*Candidate.SemaResult);
- Origin = static_cast<SymbolOrigin>(Origin | SymbolOrigin::AST);
+ Origin |= SymbolOrigin::AST;
}
}
@@ -1184,8 +1183,8 @@ private:
<< Quality << Relevance << "\n");
NSema += bool(Origin & SymbolOrigin::AST);
- NIndex += bool(Origin & ~SymbolOrigin::AST);
- NBoth += (Origin & SymbolOrigin::AST) && (Origin & ~SymbolOrigin::AST);
+ NIndex += FromIndex;
+ NBoth += bool(Origin & SymbolOrigin::AST) && FromIndex;
if (Candidates.push({std::move(Bundle), Scores}))
Incomplete = true;
}
OpenPOWER on IntegriCloud