diff options
Diffstat (limited to 'clang-tools-extra/clangd/Quality.cpp')
| -rw-r--r-- | clang-tools-extra/clangd/Quality.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/clang-tools-extra/clangd/Quality.cpp b/clang-tools-extra/clangd/Quality.cpp index 1dcd20522d3..1b64f9a9a95 100644 --- a/clang-tools-extra/clangd/Quality.cpp +++ b/clang-tools-extra/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; } |

