forked from qt-creator/qt-creator
CppEditor: Quick fix "move definition" keeps ctor-initialization list
Task-number: QTCREATORBUG-9157 Change-Id: Ic46086ba07a86292bbf48de62b69e3f33628fd86 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
This commit is contained in:
committed by
Nikolai Kosjar
parent
7d2a7685aa
commit
39d000430e
@@ -3645,7 +3645,6 @@ public:
|
||||
{
|
||||
CppRefactoringChanges refactoring(snapshot());
|
||||
CppRefactoringFilePtr fromFile = refactoring.file(m_headerFileName);
|
||||
const QString textFuncBody = fromFile->textOf(m_funcDef->function_body);
|
||||
CppRefactoringFilePtr toFile;
|
||||
int insertPos = 0;
|
||||
Scope *scopeAtInsertPos = 0;
|
||||
@@ -3666,6 +3665,10 @@ public:
|
||||
// construct definition
|
||||
const QString funcDec = getDefinitionSignature(assistInterface(), m_func, toFile,
|
||||
scopeAtInsertPos);
|
||||
QString textFuncBody;
|
||||
if (m_funcDef->ctor_initializer)
|
||||
textFuncBody = fromFile->textOf(m_funcDef->ctor_initializer) + QLatin1Char(' ');
|
||||
textFuncBody += fromFile->textOf(m_funcDef->function_body);
|
||||
QString funcDef = QString::fromLatin1("\n%1 %2\n")
|
||||
.arg(funcDec)
|
||||
.arg(textFuncBody);
|
||||
@@ -3792,8 +3795,11 @@ public:
|
||||
CppRefactoringFilePtr toFile = refactoring.file(m_toFileName);
|
||||
ChangeSet::Range fromRange = fromFile->range(m_funcAST);
|
||||
const QString definitionText = fromFile->textOf(m_funcAST->function_body);
|
||||
const QString wholeFunctionText = QString::fromLatin1("%1 %2").arg(m_declarationText)
|
||||
.arg(definitionText);
|
||||
QString wholeFunctionText = m_declarationText;
|
||||
if (m_funcAST->ctor_initializer)
|
||||
wholeFunctionText += QLatin1Char(' ') + fromFile->textOf(m_funcAST->ctor_initializer);
|
||||
wholeFunctionText += QLatin1Char(' ') + definitionText;
|
||||
|
||||
|
||||
// Replace declaration with function and delete old definition
|
||||
Utils::ChangeSet toTarget;
|
||||
|
||||
Reference in New Issue
Block a user