|
From: <bl...@us...> - 2003-03-16 12:24:50
|
Update of /cvsroot/cpptool/rfta/src/rfta
In directory sc8-pr-cvs1:/tmp/cvs-serv10207/src/rfta
Modified Files:
CodeRewriter.cpp CodeWriterTest.cpp CodeWriterTest.h
Log Message:
* added support for replacing else clause of an if statement.
Index: CodeRewriter.cpp
===================================================================
RCS file: /cvsroot/cpptool/rfta/src/rfta/CodeRewriter.cpp,v
retrieving revision 1.18
retrieving revision 1.19
diff -C2 -d -r1.18 -r1.19
*** CodeRewriter.cpp 16 Mar 2003 11:49:51 -0000 1.18
--- CodeRewriter.cpp 16 Mar 2003 12:24:47 -0000 1.19
***************
*** 354,359 ****
beginInsertNewStatement();
insertText( "else" );
- indentManager_.enterNewElseStatement();
}
Mode elseMode;
--- 354,361 ----
beginInsertNewStatement();
insertText( "else" );
}
+
+ if ( isInserting() || (isUpdating() && !elseChange.isUnmodified() ) )
+ indentManager_.enterNewElseStatement();
Mode elseMode;
Index: CodeWriterTest.cpp
===================================================================
RCS file: /cvsroot/cpptool/rfta/src/rfta/CodeWriterTest.cpp,v
retrieving revision 1.22
retrieving revision 1.23
diff -C2 -d -r1.22 -r1.23
*** CodeWriterTest.cpp 16 Mar 2003 11:55:45 -0000 1.22
--- CodeWriterTest.cpp 16 Mar 2003 12:24:47 -0000 1.23
***************
*** 210,212 ****
--- 210,235 ----
+ void
+ CodeWriterTest::testModifyElseFromIfThenStatement()
+ {
+ source_ = "{\n"
+ " if ( true )\n"
+ " return 5;\n"
+ " else\n"
+ " return 7;\n"
+ "}";
+ generateCompound();
+
+ CodeModel::IfStatement &ifStatement =
+ dynamic_cast<CodeModel::IfStatement &>( *compound_->getStatementAt(0) );
+ ifStatement.setElseStatement( makeBreakStatement() );
+ generateAndCheckSource( "{\n"
+ " if ( true )\n"
+ " return 5;\n"
+ " else\n"
+ " break;\n"
+ "}" );
+ }
+
+
} // namespace Refactoring
Index: CodeWriterTest.h
===================================================================
RCS file: /cvsroot/cpptool/rfta/src/rfta/CodeWriterTest.h,v
retrieving revision 1.19
retrieving revision 1.20
diff -C2 -d -r1.19 -r1.20
*** CodeWriterTest.h 16 Mar 2003 11:55:45 -0000 1.19
--- CodeWriterTest.h 16 Mar 2003 12:24:47 -0000 1.20
***************
*** 24,27 ****
--- 24,28 ----
CPPUNIT_TEST( testAddElseToIfThenStatement );
CPPUNIT_TEST( testRemoveElseFromIfThenStatement );
+ CPPUNIT_TEST( testModifyElseFromIfThenStatement );
CPPUNIT_TEST_SUITE_END();
***************
*** 44,47 ****
--- 45,49 ----
void testAddElseToIfThenStatement();
void testRemoveElseFromIfThenStatement();
+ void testModifyElseFromIfThenStatement();
private:
|