From a071e52b945cfff1aa199d009df1cb58279cf9e2 Mon Sep 17 00:00:00 2001 From: Nikolai Kosjar Date: Mon, 18 Jan 2016 09:51:00 +0100 Subject: [PATCH] Clang: Extract duplicate code Change-Id: I476916f825ab475f77f918127217dfc33eb4f388 Reviewed-by: Marco Bubke --- .../clangcodemodel/clangassistproposalitem.cpp | 4 +--- .../clangcompletionchunkstotextconverter.cpp | 7 +++++++ .../clangcompletionchunkstotextconverter.h | 2 ++ .../completionchunkstotextconvertertest.cpp | 16 +++++----------- 4 files changed, 15 insertions(+), 14 deletions(-) diff --git a/src/plugins/clangcodemodel/clangassistproposalitem.cpp b/src/plugins/clangcodemodel/clangassistproposalitem.cpp index f96128b9171..0cc5e25faf6 100644 --- a/src/plugins/clangcodemodel/clangassistproposalitem.cpp +++ b/src/plugins/clangcodemodel/clangassistproposalitem.cpp @@ -104,9 +104,7 @@ void ClangAssistProposalItem::applyContextualContent(TextEditor::TextEditorWidge } } else if (ccr.completionKind() == CodeCompletion::KeywordCompletionKind) { CompletionChunksToTextConverter converter; - converter.setAddPlaceHolderPositions(true); - converter.setAddSpaces(true); - converter.setAddExtraVerticalSpaceBetweenBraces(true); + converter.setupForKeywords(); converter.parseChunks(ccr.chunks()); diff --git a/src/plugins/clangcodemodel/clangcompletionchunkstotextconverter.cpp b/src/plugins/clangcodemodel/clangcompletionchunkstotextconverter.cpp index 93a004a1ea4..ec733c87d71 100644 --- a/src/plugins/clangcodemodel/clangcompletionchunkstotextconverter.cpp +++ b/src/plugins/clangcodemodel/clangcompletionchunkstotextconverter.cpp @@ -96,6 +96,13 @@ void CompletionChunksToTextConverter::setPlaceHolderToEmphasize(int placeHolderN m_placeHolderPositionToEmphasize = placeHolderNumber; } +void CompletionChunksToTextConverter::setupForKeywords() +{ + setAddPlaceHolderPositions(true); + setAddSpaces(true); + setAddExtraVerticalSpaceBetweenBraces(true); +} + const QString &CompletionChunksToTextConverter::text() const { return m_text; diff --git a/src/plugins/clangcodemodel/clangcompletionchunkstotextconverter.h b/src/plugins/clangcodemodel/clangcompletionchunkstotextconverter.h index e84e0dd84fc..fec927eb446 100644 --- a/src/plugins/clangcodemodel/clangcompletionchunkstotextconverter.h +++ b/src/plugins/clangcodemodel/clangcompletionchunkstotextconverter.h @@ -56,6 +56,8 @@ public: void setAddOptional(bool addOptional); void setPlaceHolderToEmphasize(int placeHolderNumber); + void setupForKeywords(); + const QString &text() const; const std::vector &placeholderPositions() const; bool hasPlaceholderPositions() const; diff --git a/tests/unit/unittest/completionchunkstotextconvertertest.cpp b/tests/unit/unittest/completionchunkstotextconvertertest.cpp index 42ec87768a0..175da498e4e 100644 --- a/tests/unit/unittest/completionchunkstotextconvertertest.cpp +++ b/tests/unit/unittest/completionchunkstotextconvertertest.cpp @@ -269,7 +269,7 @@ TEST_F(CompletionChunksToTextConverter, Switch) leftBrace, verticalSpace, rightBrace}); - setupConverterForKeywords(); + converter.setupForKeywords(); converter.parseChunks(completionChunks); @@ -292,7 +292,7 @@ TEST_F(CompletionChunksToTextConverter, For) statements, verticalSpace, rightBrace}); - setupConverterForKeywords(); + converter.setupForKeywords(); converter.parseChunks(completionChunks); @@ -306,7 +306,7 @@ TEST_F(CompletionChunksToTextConverter, const_cast) rightAngle, leftParen, rightParen}); - setupConverterForKeywords(); + converter.setupForKeywords(); converter.parseChunks(completionChunks); @@ -333,7 +333,7 @@ TEST_F(CompletionChunksToTextConverter, ElseIf) statements, verticalSpace, rightBrace}); - setupConverterForKeywords(); + converter.setupForKeywords(); converter.parseChunks(completionChunks); @@ -348,17 +348,11 @@ TEST_F(CompletionChunksToTextConverter, EnableIfT) optionalComma, optionalEnableIfTType, rightAngle}); - setupConverterForKeywords(); + converter.setupForKeywords(); converter.parseChunks(completionChunks); ASSERT_THAT(converter.text(), QStringLiteral("enable_if_t<>")); } -void CompletionChunksToTextConverter::setupConverterForKeywords() -{ - converter.setAddPlaceHolderPositions(true); - converter.setAddSpaces(true); - converter.setAddExtraVerticalSpaceBetweenBraces(true); -} }