diff --git a/src/tools/clangbackend/source/tokeninfo.cpp b/src/tools/clangbackend/source/tokeninfo.cpp index dcd631eff82..b7e40d0327b 100644 --- a/src/tools/clangbackend/source/tokeninfo.cpp +++ b/src/tools/clangbackend/source/tokeninfo.cpp @@ -548,9 +548,6 @@ void TokenInfo::punctuationOrOperatorKind() // case CXCursor_CXXDeleteExpr: overloadedOperatorKind(); break; - case CXCursor_Constructor: - collectOutputArguments(m_originalCursor); - break; case CXCursor_UnaryOperator: case CXCursor_BinaryOperator: case CXCursor_CompoundAssignOperator: diff --git a/tests/unit/unittest/data/highlightingmarks.cpp b/tests/unit/unittest/data/highlightingmarks.cpp index 7748ff17a07..e1a48903ca3 100644 --- a/tests/unit/unittest/data/highlightingmarks.cpp +++ b/tests/unit/unittest/data/highlightingmarks.cpp @@ -674,3 +674,15 @@ int signalSlotTest() { SIGNAL(something(QString (*func1)(QString))); 1 == 2; } + +class NonConstParameterConstructor +{ + NonConstParameterConstructor() = default; + NonConstParameterConstructor(NonConstParameterConstructor &buildDependenciesStorage); + + void Call() + { + NonConstParameterConstructor foo; + NonConstParameterConstructor bar(foo); + } +}; diff --git a/tests/unit/unittest/tokenprocessor-test.cpp b/tests/unit/unittest/tokenprocessor-test.cpp index 2935a853814..f48d546cb10 100644 --- a/tests/unit/unittest/tokenprocessor-test.cpp +++ b/tests/unit/unittest/tokenprocessor-test.cpp @@ -1679,6 +1679,24 @@ TEST_F(TokenProcessor, QtOldStyleSignalFunctionPointerType) ASSERT_THAT(infos[10], HasOnlyType(HighlightingType::Type)); } +TEST_F(TokenProcessor, NonConstParameterConstructor) +{ + const auto infos = translationUnit.tokenInfosInRange(sourceRange(681, 90)); + + infos[1]; + + ASSERT_THAT(infos[4], Not(HasMixin(HighlightingType::OutputArgument))); +} + +TEST_F(TokenProcessor, DISABLED_NonConstArgumentConstructor) +{ + const auto infos = translationUnit.tokenInfosInRange(sourceRange(686, 47)); + + infos[2]; + + ASSERT_THAT(infos[3], HasMixin(HighlightingType::OutputArgument)); +} + Data *TokenProcessor::d; void TokenProcessor::SetUpTestCase()