Clang: Extract duplicate code

Change-Id: I476916f825ab475f77f918127217dfc33eb4f388
Reviewed-by: Marco Bubke <marco.bubke@theqtcompany.com>
This commit is contained in:
Nikolai Kosjar
2016-01-18 09:51:00 +01:00
parent 1a6b62a2b0
commit a071e52b94
4 changed files with 15 additions and 14 deletions

View File

@@ -104,9 +104,7 @@ void ClangAssistProposalItem::applyContextualContent(TextEditor::TextEditorWidge
} }
} else if (ccr.completionKind() == CodeCompletion::KeywordCompletionKind) { } else if (ccr.completionKind() == CodeCompletion::KeywordCompletionKind) {
CompletionChunksToTextConverter converter; CompletionChunksToTextConverter converter;
converter.setAddPlaceHolderPositions(true); converter.setupForKeywords();
converter.setAddSpaces(true);
converter.setAddExtraVerticalSpaceBetweenBraces(true);
converter.parseChunks(ccr.chunks()); converter.parseChunks(ccr.chunks());

View File

@@ -96,6 +96,13 @@ void CompletionChunksToTextConverter::setPlaceHolderToEmphasize(int placeHolderN
m_placeHolderPositionToEmphasize = placeHolderNumber; m_placeHolderPositionToEmphasize = placeHolderNumber;
} }
void CompletionChunksToTextConverter::setupForKeywords()
{
setAddPlaceHolderPositions(true);
setAddSpaces(true);
setAddExtraVerticalSpaceBetweenBraces(true);
}
const QString &CompletionChunksToTextConverter::text() const const QString &CompletionChunksToTextConverter::text() const
{ {
return m_text; return m_text;

View File

@@ -56,6 +56,8 @@ public:
void setAddOptional(bool addOptional); void setAddOptional(bool addOptional);
void setPlaceHolderToEmphasize(int placeHolderNumber); void setPlaceHolderToEmphasize(int placeHolderNumber);
void setupForKeywords();
const QString &text() const; const QString &text() const;
const std::vector<int> &placeholderPositions() const; const std::vector<int> &placeholderPositions() const;
bool hasPlaceholderPositions() const; bool hasPlaceholderPositions() const;

View File

@@ -269,7 +269,7 @@ TEST_F(CompletionChunksToTextConverter, Switch)
leftBrace, leftBrace,
verticalSpace, verticalSpace,
rightBrace}); rightBrace});
setupConverterForKeywords(); converter.setupForKeywords();
converter.parseChunks(completionChunks); converter.parseChunks(completionChunks);
@@ -292,7 +292,7 @@ TEST_F(CompletionChunksToTextConverter, For)
statements, statements,
verticalSpace, verticalSpace,
rightBrace}); rightBrace});
setupConverterForKeywords(); converter.setupForKeywords();
converter.parseChunks(completionChunks); converter.parseChunks(completionChunks);
@@ -306,7 +306,7 @@ TEST_F(CompletionChunksToTextConverter, const_cast)
rightAngle, rightAngle,
leftParen, leftParen,
rightParen}); rightParen});
setupConverterForKeywords(); converter.setupForKeywords();
converter.parseChunks(completionChunks); converter.parseChunks(completionChunks);
@@ -333,7 +333,7 @@ TEST_F(CompletionChunksToTextConverter, ElseIf)
statements, statements,
verticalSpace, verticalSpace,
rightBrace}); rightBrace});
setupConverterForKeywords(); converter.setupForKeywords();
converter.parseChunks(completionChunks); converter.parseChunks(completionChunks);
@@ -348,17 +348,11 @@ TEST_F(CompletionChunksToTextConverter, EnableIfT)
optionalComma, optionalComma,
optionalEnableIfTType, optionalEnableIfTType,
rightAngle}); rightAngle});
setupConverterForKeywords(); converter.setupForKeywords();
converter.parseChunks(completionChunks); converter.parseChunks(completionChunks);
ASSERT_THAT(converter.text(), QStringLiteral("enable_if_t&lt;&gt;")); ASSERT_THAT(converter.text(), QStringLiteral("enable_if_t&lt;&gt;"));
} }
void CompletionChunksToTextConverter::setupConverterForKeywords()
{
converter.setAddPlaceHolderPositions(true);
converter.setAddSpaces(true);
converter.setAddExtraVerticalSpaceBetweenBraces(true);
}
} }