diff options
author | Christian Kandeler <[email protected]> | 2023-11-22 18:05:06 +0100 |
---|---|---|
committer | Christian Kandeler <[email protected]> | 2023-11-29 09:42:18 +0000 |
commit | 711b976294007275dd3b1327b1ddc3f4dce8c2b4 (patch) | |
tree | 95646ee212e523902b51631b07fb3c20389904cc | |
parent | 1f34461088946ac710c163c3aa4678360f06062b (diff) |
CppEditor: Also rename function comments for declarations
... that are not definitions.
Amends 0a058bb65717cddb3e01a44f3241c029253a1eea.
Change-Id: I4ba19f915d653d05570f8cd244ea50ab40d4b9dd
Reviewed-by: Qt CI Bot <[email protected]>
Reviewed-by: David Schulz <[email protected]>
-rw-r--r-- | src/libs/cplusplus/CppDocument.cpp | 8 | ||||
-rw-r--r-- | src/plugins/clangcodemodel/test/clangdtests.cpp | 4 | ||||
-rw-r--r-- | src/plugins/clangcodemodel/test/data/local-references/references.cpp | 7 |
3 files changed, 17 insertions, 2 deletions
diff --git a/src/libs/cplusplus/CppDocument.cpp b/src/libs/cplusplus/CppDocument.cpp index 6dc59bf1bf1..a45d3669d9c 100644 --- a/src/libs/cplusplus/CppDocument.cpp +++ b/src/libs/cplusplus/CppDocument.cpp @@ -128,7 +128,6 @@ protected: bool visit(UsingNamespaceDirective *) override { return false; } bool visit(UsingDeclaration *) override { return false; } bool visit(NamespaceAlias *) override { return false; } - bool visit(Declaration *) override { return false; } bool visit(Argument *) override { return false; } bool visit(TypenameArgument *) override { return false; } bool visit(BaseClass *) override { return false; } @@ -158,6 +157,13 @@ protected: return true; } + bool visit(Declaration *decl) override + { + if (const auto func = decl->type().type()->asFunctionType()) + return process(func); + return false; + } + // Objective-C bool visit(ObjCBaseClass *) override { return false; } bool visit(ObjCBaseProtocol *) override { return false; } diff --git a/src/plugins/clangcodemodel/test/clangdtests.cpp b/src/plugins/clangcodemodel/test/clangdtests.cpp index 3978a42d1af..1919d5cfdb7 100644 --- a/src/plugins/clangcodemodel/test/clangdtests.cpp +++ b/src/plugins/clangcodemodel/test/clangdtests.cpp @@ -537,8 +537,10 @@ void ClangdTestLocalReferences::test_data() QTest::newRow("overloaded operators arguments from outside") << 171 << 7 << QList<Range>{{171, 6, 1}, {172, 6, 1}, {172, 11, 1}, {173, 6, 1}, {173, 9, 1}}; - QTest::newRow("documented function parameter") << 181 << 32 + QTest::newRow("documented function parameter (impl)") << 181 << 32 << QList<Range>{{177, 10, 6}, {179, 9, 6}, {181, 31, 6}, {183, 6, 6}, {184, 17, 6}}; + QTest::newRow("documented function parameter (decl)") << 192 << 33 + << QList<Range>{{188, 10, 6}, {190, 9, 6}, {192, 32, 6}}; } void ClangdTestLocalReferences::test() diff --git a/src/plugins/clangcodemodel/test/data/local-references/references.cpp b/src/plugins/clangcodemodel/test/data/local-references/references.cpp index 1c8556581d9..693fcb0bafb 100644 --- a/src/plugins/clangcodemodel/test/data/local-references/references.cpp +++ b/src/plugins/clangcodemodel/test/data/local-references/references.cpp @@ -183,3 +183,10 @@ void funcWithParamComments(int param1, int param2) if (param1 != param2) param2 = param1; } + +/* + * @param param1 + * @param param2 + * @note param1 and param2 should be the same. + */ +void funcWithParamComments2(int param1, int param2); |