diff --git a/src/libs/cplusplus/FindUsages.cpp b/src/libs/cplusplus/FindUsages.cpp index 8807fad9523..95b3f266ccd 100644 --- a/src/libs/cplusplus/FindUsages.cpp +++ b/src/libs/cplusplus/FindUsages.cpp @@ -383,8 +383,11 @@ Usage::Type FindUsages::getType(int line, int column, int tokenIndex) continue; } if (const auto declarator = (*it)->asDeclarator()) { - if (containsToken(declarator->core_declarator)) + if (containsToken(declarator->core_declarator)) { + if (declarator->initializer) + return Usage::Type::Initialization; return Usage::Type::Declaration; + } if (const auto decl = (*(it + 1))->asSimpleDeclaration()) { if (decl->symbols && decl->symbols->value) { return checkPotentialWrite( diff --git a/src/libs/cplusplus/FindUsages.h b/src/libs/cplusplus/FindUsages.h index a0e1130c15d..48f392cfc7b 100644 --- a/src/libs/cplusplus/FindUsages.h +++ b/src/libs/cplusplus/FindUsages.h @@ -39,7 +39,7 @@ namespace CPlusPlus { class CPLUSPLUS_EXPORT Usage { public: - enum class Type { Declaration, Read, Write, WritableRef, Other }; + enum class Type { Declaration, Initialization, Read, Write, WritableRef, Other }; Usage() = default; Usage(const Utils::FilePath &path, const QString &lineText, Type t, int line, int col, int len) diff --git a/src/plugins/cpptools/cppfindreferences.cpp b/src/plugins/cpptools/cppfindreferences.cpp index 00d8c096e14..18438934d09 100644 --- a/src/plugins/cpptools/cppfindreferences.cpp +++ b/src/plugins/cpptools/cppfindreferences.cpp @@ -555,6 +555,7 @@ static void displayResults(SearchResult *search, QFutureWatchername()->identifier()->chars(), "p"); find(p); QCOMPARE(find.usages().size(), 10); - QCOMPARE(find.usages().at(0).type, Usage::Type::Declaration); + QCOMPARE(find.usages().at(0).type, Usage::Type::Initialization); QCOMPARE(find.usages().at(1).type, Usage::Type::Write); QCOMPARE(find.usages().at(2).type, Usage::Type::Write); QCOMPARE(find.usages().at(3).type, Usage::Type::WritableRef);