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 );
|