summaryrefslogtreecommitdiffstats
path: root/clang-tools-extra/clangd/Quality.cpp
diff options
context:
space:
mode:
authorIlya Biryukov <ibiryukov@google.com>2018-11-26 15:38:01 +0000
committerIlya Biryukov <ibiryukov@google.com>2018-11-26 15:38:01 +0000
commit647da3e8a5ada3d51b9ca09052c1876f08f4eb0a (patch)
tree66f3d37112cff6545e519680dc9ad20a0904814d /clang-tools-extra/clangd/Quality.cpp
parentf94c8f0d1b96510b851009adf7f741b7313f4c8f (diff)
downloadbcm5719-llvm-647da3e8a5ada3d51b9ca09052c1876f08f4eb0a.tar.gz
bcm5719-llvm-647da3e8a5ada3d51b9ca09052c1876f08f4eb0a.zip
[clangd] Add type boosting in code completion
Reviewers: sammccall, ioeric Reviewed By: sammccall Subscribers: MaskRay, jkorous, arphaman, kadircet, cfe-commits Differential Revision: https://reviews.llvm.org/D52276 llvm-svn: 347562
Diffstat (limited to 'clang-tools-extra/clangd/Quality.cpp')
-rw-r--r--clang-tools-extra/clangd/Quality.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/clang-tools-extra/clangd/Quality.cpp b/clang-tools-extra/clangd/Quality.cpp
index 640f543275d..cb1f64adabc 100644
--- a/clang-tools-extra/clangd/Quality.cpp
+++ b/clang-tools-extra/clangd/Quality.cpp
@@ -369,6 +369,9 @@ float SymbolRelevanceSignals::evaluate() const {
}
}
+ if (TypeMatchesPreferred)
+ Score *= 5.0;
+
// Penalize non-instance members when they are accessed via a class instance.
if (!IsInstanceMember &&
(Context == CodeCompletionContext::CCC_DotMemberAccess ||
@@ -412,6 +415,10 @@ raw_ostream &operator<<(raw_ostream &OS, const SymbolRelevanceSignals &S) {
OS << formatv("\tIndex scope boost: {0}\n",
scopeBoost(*S.ScopeProximityMatch, S.SymbolScope));
+ OS << formatv(
+ "\tType matched preferred: {0} (Context type: {1}, Symbol type: {2}\n",
+ S.TypeMatchesPreferred, S.HadContextType, S.HadSymbolType);
+
return OS;
}
OpenPOWER on IntegriCloud