summaryrefslogtreecommitdiffstats
path: root/clangd/Quality.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'clangd/Quality.cpp')
-rw-r--r--clangd/Quality.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/clangd/Quality.cpp b/clangd/Quality.cpp
index 1dcd2052..1b64f9a9 100644
--- a/clangd/Quality.cpp
+++ b/clangd/Quality.cpp
@@ -67,6 +67,7 @@ static SymbolQualitySignals::SymbolCategory categorize(const NamedDecl &ND) {
MAP(TypeDecl, Type);
MAP(TypeAliasTemplateDecl, Type);
MAP(ClassTemplateDecl, Type);
+ MAP(CXXConstructorDecl, Constructor);
MAP(ValueDecl, Variable);
MAP(VarTemplateDecl, Variable);
MAP(FunctionDecl, Function);
@@ -96,6 +97,8 @@ categorize(const CodeCompletionResult &R) {
return SymbolQualitySignals::Type;
case CXCursor_MemberRef:
return SymbolQualitySignals::Variable;
+ case CXCursor_Constructor:
+ return SymbolQualitySignals::Constructor;
default:
return SymbolQualitySignals::Keyword;
}
@@ -124,10 +127,11 @@ categorize(const index::SymbolInfo &D) {
case index::SymbolKind::InstanceProperty:
case index::SymbolKind::ClassProperty:
case index::SymbolKind::StaticProperty:
- case index::SymbolKind::Constructor:
case index::SymbolKind::Destructor:
case index::SymbolKind::ConversionFunction:
return SymbolQualitySignals::Function;
+ case index::SymbolKind::Constructor:
+ return SymbolQualitySignals::Constructor;
case index::SymbolKind::Variable:
case index::SymbolKind::Field:
case index::SymbolKind::EnumConstant:
@@ -210,6 +214,7 @@ float SymbolQualitySignals::evaluate() const {
Score *= 0.2f;
break;
case Unknown:
+ case Constructor: // No boost constructors so they are after class types.
break;
}