From: <bl...@us...> - 2003-03-16 16:25:26
|
Update of /cvsroot/cpptool/rfta/src/rfta In directory sc8-pr-cvs1:/tmp/cvs-serv29464/src/rfta Modified Files: CodeRewriter.cpp CodeRewriter.h Log Message: * refactored some more Index: CodeRewriter.cpp =================================================================== RCS file: /cvsroot/cpptool/rfta/src/rfta/CodeRewriter.cpp,v retrieving revision 1.24 retrieving revision 1.25 diff -C2 -d -r1.24 -r1.25 *** CodeRewriter.cpp 16 Mar 2003 16:18:41 -0000 1.24 --- CodeRewriter.cpp 16 Mar 2003 16:25:23 -0000 1.25 *************** *** 140,144 **** void CodeRewriter::makeRequiredChangeAndVisitElement( const CodeModel::Change &change, ! CodeModel::Element &element ) { // Element may only be unmodified or replaced... (should use a different enum type ?) --- 140,145 ---- void CodeRewriter::makeRequiredChangeAndVisitElement( const CodeModel::Change &change, ! CodeModel::Element &element, ! DeletionType deletionType ) { // Element may only be unmodified or replaced... (should use a different enum type ?) *************** *** 146,150 **** if ( isUpdating() && change.wasReplaced() ) { ! deleteText( change.oldRange_ ); setCurrentInsertionPos( change.oldRange_.getEndIndex() ); } --- 147,154 ---- if ( isUpdating() && change.wasReplaced() ) { ! if ( deletionType == statementDelete ) ! deleteStatement( change.oldRange_ ); ! else ! deleteText( change.oldRange_ ); setCurrentInsertionPos( change.oldRange_.getEndIndex() ); } *************** *** 318,326 **** insertText( "if ( " ); } ! { ! makeRequiredChangeAndVisitElement( statement.getConditionChange(), ! *statement.getCondition() ); ! // statement.getCondition()->accept( *this ); ! } IndentLevelManager::IndentRestorer restorer( indentManager_ ); --- 322,327 ---- insertText( "if ( " ); } ! makeRequiredChangeAndVisitElement( statement.getConditionChange(), ! *statement.getCondition() ); IndentLevelManager::IndentRestorer restorer( indentManager_ ); *************** *** 334,354 **** Change thenChange = statement.getThenStatementChange(); ! if ( !isInserting() && !thenChange.isUnmodified() ) ! { ! deleteStatement( thenChange.oldRange_ ); ! if ( thenChange.wasReplaced() ) ! currentInsertionPos_ = thenChange.oldRange_.getEndIndex(); ! } ! ! Mode thenMode; ! if ( isInserting() || !thenChange.isUnmodified() ) ! thenMode = inserting; ! else ! thenMode = updating; ! ! { ! ModeModifier mode( mode_, thenMode ); ! statement.getThenStatement()->accept( *this ); ! } Change elseChange = statement.getElseStatementChange(); --- 335,341 ---- Change thenChange = statement.getThenStatementChange(); ! makeRequiredChangeAndVisitElement( thenChange, ! *statement.getThenStatement(), ! statementDelete ); Change elseChange = statement.getElseStatementChange(); Index: CodeRewriter.h =================================================================== RCS file: /cvsroot/cpptool/rfta/src/rfta/CodeRewriter.h,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** CodeRewriter.h 16 Mar 2003 16:18:41 -0000 1.10 --- CodeRewriter.h 16 Mar 2003 16:25:24 -0000 1.11 *************** *** 72,75 **** --- 72,81 ---- }; + enum DeletionType + { + minimalDelete =0, + statementDelete + }; + class ModeRestorer { *************** *** 130,134 **** void makeRequiredChangeAndVisitElement( const CodeModel::Change &change, ! CodeModel::Element &element ); void setCurrentInsertionPos( int index ); --- 136,141 ---- void makeRequiredChangeAndVisitElement( const CodeModel::Change &change, ! CodeModel::Element &element, ! DeletionType deletionType = minimalDelete ); void setCurrentInsertionPos( int index ); |