Update of /cvsroot/cpptool/rfta/src/rfta
In directory sc8-pr-cvs1:/tmp/cvs-serv18910/src/rfta
Modified Files:
CodeRewriter.cpp CodeWriterInsertTest.cpp
CodeWriterInsertTest.h
Log Message:
* added support for inserting a single variable declaration without initializer.
Index: CodeRewriter.cpp
===================================================================
RCS file: /cvsroot/cpptool/rfta/src/rfta/CodeRewriter.cpp,v
retrieving revision 1.31
retrieving revision 1.32
diff -C2 -d -r1.31 -r1.32
*** CodeRewriter.cpp 18 Mar 2003 22:37:48 -0000 1.31
--- CodeRewriter.cpp 21 Mar 2003 07:32:25 -0000 1.32
***************
*** 348,351 ****
--- 348,365 ----
CodeRewriter::visit( DeclarationStatement &statement )
{
+ if ( isInserting() )
+ {
+ DeclaratorExpressionPtr declarators = statement.getDeclaration();
+
+ beginInsertNewStatement();
+ insertText( declarators->getPrimaryType() );
+
+ const Declarator &declarator = declarators->getDeclaratorAt(0);
+ insertText( declarator.getType() );
+ insertText( declarator.getName() );
+ insertText( declarator.getTypeSuffix() );
+
+ endInsertNewStatement();
+ }
}
Index: CodeWriterInsertTest.cpp
===================================================================
RCS file: /cvsroot/cpptool/rfta/src/rfta/CodeWriterInsertTest.cpp,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** CodeWriterInsertTest.cpp 18 Mar 2003 22:37:48 -0000 1.5
--- CodeWriterInsertTest.cpp 21 Mar 2003 07:32:26 -0000 1.6
***************
*** 277,279 ****
--- 277,293 ----
+ void
+ CodeWriterInsertTest::testInsertDeclarationStatement()
+ {
+ CodeModel::DeclaratorExpressionPtr declarators( new CodeModel::DeclaratorExpression( "int " ) );
+ CodeModel::Declarator declarator( "", "var", "[3]" );
+ declarators->appendDeclarator( declarator );
+ CodeModel::StatementPtr declarationStatement( new CodeModel::DeclarationStatement( declarators ) );
+ checkGeneratedSource( declarationStatement,
+ "{\n"
+ " int var[3];\n"
+ "}" );
+ }
+
+
} // namespace Refactoring
Index: CodeWriterInsertTest.h
===================================================================
RCS file: /cvsroot/cpptool/rfta/src/rfta/CodeWriterInsertTest.h,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** CodeWriterInsertTest.h 18 Mar 2003 22:37:48 -0000 1.4
--- CodeWriterInsertTest.h 21 Mar 2003 07:32:26 -0000 1.5
***************
*** 33,36 ****
--- 33,37 ----
CPPUNIT_TEST( testInsertExpressionStatement );
CPPUNIT_TEST( testInsertForStatement );
+ CPPUNIT_TEST( testInsertDeclarationStatement );
CPPUNIT_TEST_SUITE_END();
***************
*** 58,61 ****
--- 59,63 ----
void testInsertExpressionStatement();
void testInsertForStatement();
+ void testInsertDeclarationStatement();
private:
|