You can subscribe to this list here.
| 2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(37) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2003 |
Jan
(15) |
Feb
(26) |
Mar
(97) |
Apr
(224) |
May
(226) |
Jun
|
Jul
(3) |
Aug
(22) |
Sep
(48) |
Oct
|
Nov
|
Dec
(38) |
| 2004 |
Jan
(28) |
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
(37) |
Jul
|
Aug
(73) |
Sep
|
Oct
|
Nov
|
Dec
|
|
From: <bl...@us...> - 2003-03-16 08:27:36
|
Update of /cvsroot/cpptool/rfta/src/rfta
In directory sc8-pr-cvs1:/tmp/cvs-serv964/src/rfta
Modified Files:
CodeWriterInsertTest.cpp CodeWriterInsertTest.h
CodeWriterTest.cpp CodeWriterTest.h
Log Message:
* refactored CodeWriterTest
Index: CodeWriterInsertTest.cpp
===================================================================
RCS file: /cvsroot/cpptool/rfta/src/rfta/CodeWriterInsertTest.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** CodeWriterInsertTest.cpp 16 Mar 2003 07:37:05 -0000 1.1
--- CodeWriterInsertTest.cpp 16 Mar 2003 08:27:33 -0000 1.2
***************
*** 45,49 ****
--- 45,55 ----
{
compound_->appendStatement( insertedStatement );
+ checkGeneratedSource( expectedSource );
+ }
+
+ void
+ CodeWriterInsertTest::checkGeneratedSource( const std::string &expectedSource )
+ {
rewriteSource();
RFTA_ASSERT_EQUAL( expectedSource, document_->getAllText() );
***************
*** 52,55 ****
--- 58,72 ----
void
+ CodeWriterInsertTest::testAppendStatementToCompound()
+ {
+ compound_->appendStatement( CodeModel::StatementPtr( new CodeModel::ReturnStatement() ) );
+
+ checkGeneratedSource( "{\n"
+ " return;\n"
+ "}" );
+ }
+
+
+ void
CodeWriterInsertTest::testInsertNullStatement()
{
***************
*** 58,61 ****
--- 75,263 ----
"{\n"
" ;\n"
+ "}" );
+ }
+
+
+ void
+ CodeWriterInsertTest::testInsertCompoundStatement()
+ {
+ CodeModel::StatementPtr nullStatement( new CodeModel::NullStatement() );
+ CodeModel::CompoundStatementPtr compoundStatement( new CodeModel::CompoundStatement() );
+ compoundStatement->appendStatement( nullStatement );
+ checkGeneratedSource( compoundStatement,
+ "{\n"
+ " {\n"
+ " ;\n"
+ " }\n"
+ "}" );
+ }
+
+
+ void
+ CodeWriterInsertTest::testInsertWhileStatement()
+ {
+ CodeModel::StatementPtr nullStatement( new CodeModel::NullStatement() );
+ CodeModel::CompoundStatementPtr compoundStatement( new CodeModel::CompoundStatement() );
+ compoundStatement->appendStatement( nullStatement );
+ CodeModel::WhileStatementPtr whileStatement(
+ new CodeModel::WhileStatement( makeTrueExpression(), compoundStatement ) );
+ checkGeneratedSource( whileStatement,
+ "{\n"
+ " while ( true )\n"
+ " {\n"
+ " ;\n"
+ " }\n"
+ "}" );
+ }
+
+
+ void
+ CodeWriterInsertTest::testInsertContinueStatement()
+ {
+ CodeModel::StatementPtr continueStatement( new CodeModel::ContinueStatement() );
+ checkGeneratedSource( continueStatement,
+ "{\n"
+ " continue;\n"
+ "}" );
+ }
+
+
+ void
+ CodeWriterInsertTest::testInsertBreakStatement()
+ {
+ CodeModel::StatementPtr breakStatement( new CodeModel::BreakStatement() );
+ checkGeneratedSource( breakStatement,
+ "{\n"
+ " break;\n"
+ "}" );
+ }
+
+
+ void
+ CodeWriterInsertTest::testInsertDefaultStatement()
+ {
+ CodeModel::StatementPtr defaultStatement( new CodeModel::DefaultStatement() );
+ checkGeneratedSource( defaultStatement,
+ "{\n"
+ " default:\n"
+ "}" );
+ }
+
+
+ void
+ CodeWriterInsertTest::testInsertCaseStatement()
+ {
+ CodeModel::StatementPtr caseStatement( new CodeModel::CaseStatement( makeExpression( "1234" ) ) );
+ checkGeneratedSource( caseStatement,
+ "{\n"
+ " case 1234:\n"
+ "}" );
+ }
+
+
+ void
+ CodeWriterInsertTest::testInsertDoStatement()
+ {
+ CodeModel::StatementPtr nullStatement( new CodeModel::NullStatement() );
+ CodeModel::CompoundStatementPtr compoundStatement( new CodeModel::CompoundStatement() );
+ compoundStatement->appendStatement( nullStatement );
+ CodeModel::DoStatementPtr doStatement(
+ new CodeModel::DoStatement( makeExpression("1234 < 5" ), compoundStatement ) );
+ checkGeneratedSource( doStatement,
+ "{\n"
+ " do\n"
+ " {\n"
+ " ;\n"
+ " }\n"
+ " while ( 1234 < 5 );\n"
+ "}" );
+ }
+
+
+ void
+ CodeWriterInsertTest::testInsertSwitchStatement()
+ {
+ CodeModel::StatementPtr defaultStatement( new CodeModel::DefaultStatement() );
+ CodeModel::StatementPtr nullStatement( new CodeModel::NullStatement() );
+ CodeModel::CompoundStatementPtr compoundStatement( new CodeModel::CompoundStatement() );
+ compoundStatement->appendStatement( defaultStatement );
+ compoundStatement->appendStatement( nullStatement );
+ CodeModel::StatementPtr switchStatement(
+ new CodeModel::SwitchStatement( makeExpression("x" ), compoundStatement ) );
+ checkGeneratedSource( switchStatement,
+ "{\n"
+ " switch ( x )\n"
+ " {\n"
+ " default:\n"
+ " ;\n" /// @todo need to improve indentation
+ " }\n"
+ "}" );
+ }
+
+
+ void
+ CodeWriterInsertTest::testInsertLabelStatement()
+ {
+ CodeModel::StatementPtr labelStatement( new CodeModel::LabelStatement( "error" ) );
+ checkGeneratedSource( labelStatement,
+ "{\n"
+ "error:\n"
+ "}" );
+ }
+
+
+ void
+ CodeWriterInsertTest::testInsertGotoStatement()
+ {
+ CodeModel::StatementPtr gotoStatement( new CodeModel::GotoStatement( "error" ) );
+ checkGeneratedSource( gotoStatement,
+ "{\n"
+ " goto error;\n"
+ "}" );
+ }
+
+
+ void
+ CodeWriterInsertTest::testInsertIfThenStatement()
+ {
+ CodeModel::StatementPtr nullStatement( new CodeModel::NullStatement() );
+ CodeModel::StatementPtr ifStatement(
+ new CodeModel::IfStatement( makeExpression( "x < y" ),
+ nullStatement ) );
+ checkGeneratedSource( ifStatement,
+ "{\n"
+ " if ( x < y )\n"
+ " ;\n"
+ "}" );
+ }
+
+
+ void
+ CodeWriterInsertTest::testInsertIfThenElseStatement()
+ {
+ CodeModel::StatementPtr nullStatement( new CodeModel::NullStatement() );
+ CodeModel::StatementPtr breakStatement( new CodeModel::BreakStatement() );
+ CodeModel::StatementPtr ifStatement(
+ new CodeModel::IfStatement( makeExpression( "z < k" ),
+ nullStatement,
+ breakStatement ) );
+ checkGeneratedSource( ifStatement,
+ "{\n"
+ " if ( z < k )\n"
+ " ;\n"
+ " else\n"
+ " break;\n"
+ "}" );
+ }
+
+
+ void
+ CodeWriterInsertTest::testInsertExpressionStatement()
+ {
+ CodeModel::StatementPtr expressionStatement(
+ new CodeModel::ExpressionStatement( makeExpression( "call( 1234 )" ) ) );
+ checkGeneratedSource( expressionStatement,
+ "{\n"
+ " call( 1234 );\n"
"}" );
}
Index: CodeWriterInsertTest.h
===================================================================
RCS file: /cvsroot/cpptool/rfta/src/rfta/CodeWriterInsertTest.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** CodeWriterInsertTest.h 16 Mar 2003 07:37:05 -0000 1.1
--- CodeWriterInsertTest.h 16 Mar 2003 08:27:33 -0000 1.2
***************
*** 17,21 ****
--- 17,35 ----
{
CPPUNIT_TEST_SUITE( CodeWriterInsertTest );
+ CPPUNIT_TEST( testAppendStatementToCompound );
CPPUNIT_TEST( testInsertNullStatement );
+ CPPUNIT_TEST( testInsertCompoundStatement );
+ CPPUNIT_TEST( testInsertWhileStatement );
+ CPPUNIT_TEST( testInsertContinueStatement );
+ CPPUNIT_TEST( testInsertBreakStatement );
+ CPPUNIT_TEST( testInsertDefaultStatement );
+ CPPUNIT_TEST( testInsertCaseStatement );
+ CPPUNIT_TEST( testInsertDoStatement );
+ CPPUNIT_TEST( testInsertSwitchStatement );
+ CPPUNIT_TEST( testInsertLabelStatement );
+ CPPUNIT_TEST( testInsertGotoStatement );
+ CPPUNIT_TEST( testInsertIfThenStatement );
+ CPPUNIT_TEST( testInsertIfThenElseStatement );
+ CPPUNIT_TEST( testInsertExpressionStatement );
CPPUNIT_TEST_SUITE_END();
***************
*** 27,35 ****
--- 41,65 ----
void tearDown();
+ void testAppendStatementToCompound();
void testInsertNullStatement();
+ void testInsertCompoundStatement();
+ void testInsertWhileStatement();
+ void testInsertContinueStatement();
+ void testInsertBreakStatement();
+ void testInsertDefaultStatement();
+ void testInsertCaseStatement();
+ void testInsertDoStatement();
+ void testInsertSwitchStatement();
+ void testInsertLabelStatement();
+ void testInsertGotoStatement();
+ void testInsertIfThenStatement();
+ void testInsertIfThenElseStatement();
+ void testInsertExpressionStatement();
private:
void checkGeneratedSource( const CodeModel::StatementPtr &insertedStatement,
const std::string &expectedSource );
+
+ void checkGeneratedSource( const std::string &expectedSource );
};
Index: CodeWriterTest.cpp
===================================================================
RCS file: /cvsroot/cpptool/rfta/src/rfta/CodeWriterTest.cpp,v
retrieving revision 1.18
retrieving revision 1.19
diff -C2 -d -r1.18 -r1.19
*** CodeWriterTest.cpp 16 Mar 2003 07:37:05 -0000 1.18
--- CodeWriterTest.cpp 16 Mar 2003 08:27:33 -0000 1.19
***************
*** 68,91 ****
void
- CodeWriterTest::testInsertStatement()
- {
- source_ = " {\n"
- " }";
-
- generateCompound();
-
- RFTA_ASSERT_EQUAL( 0, compound_->getStatementCount() );
- compound_->appendStatement( CodeModel::StatementPtr( new CodeModel::ReturnStatement() ) );
-
- rewriteSource();
-
- std::string expectedSource = " {\n"
- " return;\n"
- " }";
- RFTA_ASSERT_EQUAL( expectedSource, document_->getAllText() );
- }
-
-
- void
CodeWriterTest::testInsertReturnValueStatement()
{
--- 68,71 ----
***************
*** 164,469 ****
" \n"
" return 3;\n"
- "}";
- RFTA_ASSERT_EQUAL( expectedSource, document_->getAllText() );
- }
-
-
- void
- CodeWriterTest::testInsertWhileStatement()
- {
- source_ = "{\n"
- "}";
-
- generateCompound();
-
- RFTA_ASSERT_EQUAL( 0, compound_->getStatementCount() );
-
- CodeModel::StatementPtr nullStatement( new CodeModel::NullStatement() );
- CodeModel::CompoundStatementPtr compoundStatement( new CodeModel::CompoundStatement() );
- compoundStatement->appendStatement( nullStatement );
- CodeModel::WhileStatementPtr whileStatement(
- new CodeModel::WhileStatement( makeTrueExpression(), compoundStatement ) );
- compound_->appendStatement( whileStatement );
-
- rewriteSource();
-
- std::string expectedSource = "{\n"
- " while ( true )\n"
- " {\n"
- " ;\n"
- " }\n"
- "}";
- RFTA_ASSERT_EQUAL( expectedSource, document_->getAllText() );
- }
-
-
- void
- CodeWriterTest::testInsertContinueStatement()
- {
- source_ = "{\n"
- "}";
-
- generateCompound();
-
- RFTA_ASSERT_EQUAL( 0, compound_->getStatementCount() );
-
- CodeModel::StatementPtr continueStatement( new CodeModel::ContinueStatement() );
- compound_->appendStatement( continueStatement );
-
- rewriteSource();
-
- std::string expectedSource = "{\n"
- " continue;\n"
- "}";
- RFTA_ASSERT_EQUAL( expectedSource, document_->getAllText() );
- }
-
-
- void
- CodeWriterTest::testInsertBreakStatement()
- {
- source_ = "{\n"
- "}";
-
- generateCompound();
-
- RFTA_ASSERT_EQUAL( 0, compound_->getStatementCount() );
-
- CodeModel::StatementPtr breakStatement( new CodeModel::BreakStatement() );
- compound_->appendStatement( breakStatement );
-
- rewriteSource();
-
- std::string expectedSource = "{\n"
- " break;\n"
- "}";
- RFTA_ASSERT_EQUAL( expectedSource, document_->getAllText() );
- }
-
-
- void
- CodeWriterTest::testInsertDefaultStatement()
- {
- source_ = "{\n"
- "}";
-
- generateCompound();
-
- RFTA_ASSERT_EQUAL( 0, compound_->getStatementCount() );
-
- CodeModel::StatementPtr defaultStatement( new CodeModel::DefaultStatement() );
- compound_->appendStatement( defaultStatement );
-
- rewriteSource();
-
- std::string expectedSource = "{\n"
- " default:\n"
- "}";
- RFTA_ASSERT_EQUAL( expectedSource, document_->getAllText() );
- }
-
-
- void
- CodeWriterTest::testInsertCaseStatement()
- {
- source_ = "{\n"
- "}";
-
- generateCompound();
-
- RFTA_ASSERT_EQUAL( 0, compound_->getStatementCount() );
-
- CodeModel::StatementPtr caseStatement( new CodeModel::CaseStatement( makeExpression( "1234" ) ) );
- compound_->appendStatement( caseStatement );
-
- rewriteSource();
-
- std::string expectedSource = "{\n"
- " case 1234:\n"
- "}";
- RFTA_ASSERT_EQUAL( expectedSource, document_->getAllText() );
- }
-
-
- void
- CodeWriterTest::testInsertDoStatement()
- {
- source_ = "{\n"
- "}";
-
- generateCompound();
-
- RFTA_ASSERT_EQUAL( 0, compound_->getStatementCount() );
-
- CodeModel::StatementPtr nullStatement( new CodeModel::NullStatement() );
- CodeModel::CompoundStatementPtr compoundStatement( new CodeModel::CompoundStatement() );
- compoundStatement->appendStatement( nullStatement );
- CodeModel::DoStatementPtr doStatement(
- new CodeModel::DoStatement( makeExpression("1234 < 5" ), compoundStatement ) );
- compound_->appendStatement( doStatement );
-
- rewriteSource();
-
- std::string expectedSource = "{\n"
- " do\n"
- " {\n"
- " ;\n"
- " }\n"
- " while ( 1234 < 5 );\n"
- "}";
- RFTA_ASSERT_EQUAL( expectedSource, document_->getAllText() );
- }
-
-
- void
- CodeWriterTest::testInsertSwitchStatement()
- {
- source_ = "{\n"
- "}";
-
- generateCompound();
-
- RFTA_ASSERT_EQUAL( 0, compound_->getStatementCount() );
-
- CodeModel::StatementPtr defaultStatement( new CodeModel::DefaultStatement() );
- CodeModel::StatementPtr nullStatement( new CodeModel::NullStatement() );
- CodeModel::CompoundStatementPtr compoundStatement( new CodeModel::CompoundStatement() );
- compoundStatement->appendStatement( defaultStatement );
- compoundStatement->appendStatement( nullStatement );
- CodeModel::StatementPtr switchStatement(
- new CodeModel::SwitchStatement( makeExpression("x" ), compoundStatement ) );
- compound_->appendStatement( switchStatement );
-
- rewriteSource();
-
- std::string expectedSource = "{\n"
- " switch ( x )\n"
- " {\n"
- " default:\n"
- " ;\n" /// @todo need to improve indentation
- " }\n"
- "}";
- RFTA_ASSERT_EQUAL( expectedSource, document_->getAllText() );
- }
-
-
- void
- CodeWriterTest::testInsertLabelStatement()
- {
- source_ = "{\n"
- "}";
-
- generateCompound();
-
- RFTA_ASSERT_EQUAL( 0, compound_->getStatementCount() );
-
- CodeModel::StatementPtr labelStatement( new CodeModel::LabelStatement( "error" ) );
- compound_->appendStatement( labelStatement );
-
- rewriteSource();
-
- std::string expectedSource = "{\n"
- "error:\n"
- "}";
- RFTA_ASSERT_EQUAL( expectedSource, document_->getAllText() );
- }
-
-
- void
- CodeWriterTest::testInsertGotoStatement()
- {
- source_ = "{\n"
- "}";
-
- generateCompound();
-
- RFTA_ASSERT_EQUAL( 0, compound_->getStatementCount() );
-
- CodeModel::StatementPtr gotoStatement( new CodeModel::GotoStatement( "error" ) );
- compound_->appendStatement( gotoStatement );
-
- rewriteSource();
-
- std::string expectedSource = "{\n"
- " goto error;\n"
- "}";
- RFTA_ASSERT_EQUAL( expectedSource, document_->getAllText() );
- }
-
-
- void
- CodeWriterTest::testInsertIfThenStatement()
- {
- source_ = "{\n"
- "}";
-
- generateCompound();
-
- RFTA_ASSERT_EQUAL( 0, compound_->getStatementCount() );
-
- CodeModel::StatementPtr nullStatement( new CodeModel::NullStatement() );
- CodeModel::StatementPtr ifStatement(
- new CodeModel::IfStatement( makeExpression( "x < y" ),
- nullStatement ) );
- compound_->appendStatement( ifStatement );
-
- rewriteSource();
-
- std::string expectedSource = "{\n"
- " if ( x < y )\n"
- " ;\n"
- "}";
- RFTA_ASSERT_EQUAL( expectedSource, document_->getAllText() );
- }
-
-
- void
- CodeWriterTest::testInsertIfThenElseStatement()
- {
- source_ = "{\n"
- "}";
-
- generateCompound();
-
- RFTA_ASSERT_EQUAL( 0, compound_->getStatementCount() );
-
- CodeModel::StatementPtr nullStatement( new CodeModel::NullStatement() );
- CodeModel::StatementPtr breakStatement( new CodeModel::BreakStatement() );
- CodeModel::StatementPtr ifStatement(
- new CodeModel::IfStatement( makeExpression( "z < k" ),
- nullStatement,
- breakStatement ) );
- compound_->appendStatement( ifStatement );
-
- rewriteSource();
-
- std::string expectedSource = "{\n"
- " if ( z < k )\n"
- " ;\n"
- " else\n"
- " break;\n"
- "}";
- RFTA_ASSERT_EQUAL( expectedSource, document_->getAllText() );
- }
-
-
- void
- CodeWriterTest::testInsertExpressionStatement()
- {
- source_ = "{\n"
- "}";
-
- generateCompound();
-
- RFTA_ASSERT_EQUAL( 0, compound_->getStatementCount() );
-
- CodeModel::StatementPtr expressionStatement(
- new CodeModel::ExpressionStatement( makeExpression( "call( 1234 )" ) ) );
- compound_->appendStatement( expressionStatement );
-
- rewriteSource();
-
- std::string expectedSource = "{\n"
- " call( 1234 );\n"
"}";
RFTA_ASSERT_EQUAL( expectedSource, document_->getAllText() );
--- 144,147 ----
Index: CodeWriterTest.h
===================================================================
RCS file: /cvsroot/cpptool/rfta/src/rfta/CodeWriterTest.h,v
retrieving revision 1.15
retrieving revision 1.16
diff -C2 -d -r1.15 -r1.16
*** CodeWriterTest.h 16 Mar 2003 07:37:05 -0000 1.15
--- CodeWriterTest.h 16 Mar 2003 08:27:33 -0000 1.16
***************
*** 18,37 ****
CPPUNIT_TEST_SUITE( CodeWriterTest );
CPPUNIT_TEST( testRewriteStatement );
- CPPUNIT_TEST( testInsertStatement );
CPPUNIT_TEST( testInsertReturnValueStatement );
CPPUNIT_TEST( testRemoveStatement );
CPPUNIT_TEST( testMoveSubExpression );
- CPPUNIT_TEST( testInsertWhileStatement );
- CPPUNIT_TEST( testInsertContinueStatement );
- CPPUNIT_TEST( testInsertBreakStatement );
- CPPUNIT_TEST( testInsertDefaultStatement );
- CPPUNIT_TEST( testInsertCaseStatement );
- CPPUNIT_TEST( testInsertDoStatement );
- CPPUNIT_TEST( testInsertSwitchStatement );
- CPPUNIT_TEST( testInsertLabelStatement );
- CPPUNIT_TEST( testInsertGotoStatement );
- CPPUNIT_TEST( testInsertIfThenStatement );
- CPPUNIT_TEST( testInsertIfThenElseStatement );
- CPPUNIT_TEST( testInsertExpressionStatement );
CPPUNIT_TEST_SUITE_END();
--- 18,24 ----
***************
*** 48,67 ****
void testRewriteStatement();
- void testInsertStatement();
void testInsertReturnValueStatement();
void testRemoveStatement();
void testMoveSubExpression();
- void testInsertWhileStatement();
- void testInsertContinueStatement();
- void testInsertBreakStatement();
- void testInsertDefaultStatement();
- void testInsertCaseStatement();
- void testInsertDoStatement();
- void testInsertSwitchStatement();
- void testInsertLabelStatement();
- void testInsertGotoStatement();
- void testInsertIfThenStatement();
- void testInsertIfThenElseStatement();
- void testInsertExpressionStatement();
private:
--- 35,41 ----
|
|
From: <bl...@us...> - 2003-03-16 08:27:35
|
Update of /cvsroot/cpptool/rfta/src In directory sc8-pr-cvs1:/tmp/cvs-serv964/src Modified Files: rfta.opt Log Message: * refactored CodeWriterTest Index: rfta.opt =================================================================== RCS file: /cvsroot/cpptool/rfta/src/rfta.opt,v retrieving revision 1.80 retrieving revision 1.81 diff -C2 -d -r1.80 -r1.81 Binary files /tmp/cvsiEqI7m and /tmp/cvseU4OFB differ |
Update of /cvsroot/cpptool/rfta/src/rfta
In directory sc8-pr-cvs1:/tmp/cvs-serv19979/src/rfta
Modified Files:
CodeWriterTest.cpp CodeWriterTest.h rfta.dsp
Added Files:
CodeWriterInsertTest.cpp CodeWriterInsertTest.h
CodeWriterTestBase.cpp CodeWriterTestBase.h
Log Message:
* refactoring tests
--- NEW FILE: CodeWriterInsertTest.cpp ---
// //////////////////////////////////////////////////////////////////////////
// (c)Copyright 2002, Baptiste Lepilleur.
// Created: 2003/03/16
// //////////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "CodeWriterInsertTest.h"
namespace Refactoring
{
RFTA_TEST_SUITE_REGISTRATION( CodeWriterInsertTest );
CodeWriterInsertTest::~CodeWriterInsertTest()
{
}
void
CodeWriterInsertTest::setUp()
{
CodeWriterTestBase::setUp();
source_ = "{\n"
"}";
generateCompound();
RFTA_ASSERT_EQUAL( 0, compound_->getStatementCount() );
}
void
CodeWriterInsertTest::tearDown()
{
CodeWriterTestBase::tearDown();
}
void
CodeWriterInsertTest::checkGeneratedSource( const CodeModel::StatementPtr &insertedStatement,
const std::string &expectedSource )
{
compound_->appendStatement( insertedStatement );
rewriteSource();
RFTA_ASSERT_EQUAL( expectedSource, document_->getAllText() );
}
void
CodeWriterInsertTest::testInsertNullStatement()
{
CodeModel::StatementPtr nullStatement( new CodeModel::NullStatement() );
checkGeneratedSource( nullStatement,
"{\n"
" ;\n"
"}" );
}
} // namespace Refactoring
--- NEW FILE: CodeWriterInsertTest.h ---
// //////////////////////////////////////////////////////////////////////////
// (c)Copyright 2002, Baptiste Lepilleur.
// Created: 2003/03/16
// //////////////////////////////////////////////////////////////////////////
#ifndef RFTA_CODEWRITERINSERTTEST_H
#define RFTA_CODEWRITERINSERTTEST_H
#include "CodeWriterTestBase.h"
namespace Refactoring
{
/// Unit tests for CodeWriterInsertTest
class CodeWriterInsertTest : public CodeWriterTestBase
{
CPPUNIT_TEST_SUITE( CodeWriterInsertTest );
CPPUNIT_TEST( testInsertNullStatement );
CPPUNIT_TEST_SUITE_END();
public:
/// Destructor.
virtual ~CodeWriterInsertTest();
void setUp();
void tearDown();
void testInsertNullStatement();
private:
void checkGeneratedSource( const CodeModel::StatementPtr &insertedStatement,
const std::string &expectedSource );
};
// Inlines methods for CodeWriterInsertTest:
// -----------------------------------------
} // namespace Refactoring
#endif // RFTA_CODEWRITERINSERTTEST_H
--- NEW FILE: CodeWriterTestBase.cpp ---
// //////////////////////////////////////////////////////////////////////////
// (c)Copyright 2002, Baptiste Lepilleur.
// Created: 2003/03/16
// //////////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "CodeWriterTestBase.h"
#include <rfta/refactoring/CodeModel.h>
namespace Refactoring
{
void
CodeWriterTestBase::setUp()
{
SourceBasedTestBase::setUp();
compound_.reset();
document_.reset();
writer_.reset();
}
void
CodeWriterTestBase::tearDown()
{
writer_.reset();
document_.reset();
compound_.reset();
SourceBasedTestBase::tearDown();
}
void
CodeWriterTestBase::generateCompound()
{
blankAndParse();
ASTNodePtr compoundNode = sourceNode_->getChildAt(0);
CodeModel::Generator generator;
compound_ = generator.generateCompound( compoundNode );
document_.reset( new PlainTextDocument( source_ ) );
}
void
CodeWriterTestBase::rewriteSource()
{
writer_.reset( new CodeModel::CodeRewriter( source_, 2 ) );
writer_->rewrite( *compound_, *document_ );
}
CodeModel::ExpressionPtr
CodeWriterTestBase::makeTrueExpression()
{
return makeExpression( "true" );
}
CodeModel::ExpressionPtr
CodeWriterTestBase::makeExpression( const std::string &expression )
{
return CodeModel::ExpressionPtr( new CodeModel::GenericExpression( expression ) );
}
} // namespace Refactoring
--- NEW FILE: CodeWriterTestBase.h ---
// //////////////////////////////////////////////////////////////////////////
// (c)Copyright 2002, Baptiste Lepilleur.
// Created: 2003/03/16
// //////////////////////////////////////////////////////////////////////////
#ifndef RFTA_CODEWRITERTESTBASE_H
#define RFTA_CODEWRITERTESTBASE_H
#include <rfta/refactoring/CodeModelStatements.h>
#include <rfta/refactoring/CodeModelExpressions.h>
#include <rfta/refactoring/PlainTextDocument.h>
#include "CodeRewriter.h"
#include "SourceBasedTestBase.h"
namespace Refactoring
{
class CodeWriterTestBase : public SourceBasedTestBase
{
public:
void setUp();
void tearDown();
protected:
void generateCompound();
void rewriteSource();
CodeModel::ExpressionPtr makeTrueExpression();
CodeModel::ExpressionPtr makeExpression( const std::string &expression );
CodeModel::CompoundStatementPtr compound_;
boost::shared_ptr<PlainTextDocument> document_;
boost::shared_ptr<CodeModel::CodeRewriter> writer_;
};
// Inlines methods for CodeWriterTestBase:
// ----------------------------------------
} // namespace Refactoring
#endif // RFTA_CODEWRITERTESTBASE_H
Index: CodeWriterTest.cpp
===================================================================
RCS file: /cvsroot/cpptool/rfta/src/rfta/CodeWriterTest.cpp,v
retrieving revision 1.17
retrieving revision 1.18
diff -C2 -d -r1.17 -r1.18
*** CodeWriterTest.cpp 16 Mar 2003 07:14:31 -0000 1.17
--- CodeWriterTest.cpp 16 Mar 2003 07:37:05 -0000 1.18
***************
*** 6,10 ****
#include "stdafx.h"
#include "CodeWriterTest.h"
- #include <rfta/refactoring/CodeModel.h>
--- 6,9 ----
***************
*** 28,35 ****
CodeWriterTest::setUp()
{
! SourceBasedTestBase::setUp();
! compound_.reset();
! document_.reset();
! writer_.reset();
}
--- 27,31 ----
CodeWriterTest::setUp()
{
! CodeWriterTestBase::setUp();
}
***************
*** 38,80 ****
CodeWriterTest::tearDown()
{
! writer_.reset();
! document_.reset();
! compound_.reset();
! SourceBasedTestBase::tearDown();
! }
!
!
! void
! CodeWriterTest::generateCompound()
! {
! blankAndParse();
!
! ASTNodePtr compoundNode = sourceNode_->getChildAt(0);
! CodeModel::Generator generator;
! compound_ = generator.generateCompound( compoundNode );
!
! document_.reset( new PlainTextDocument( source_ ) );
! }
!
!
! void
! CodeWriterTest::rewriteSource()
! {
! writer_.reset( new CodeModel::CodeRewriter( source_, 2 ) );
! writer_->rewrite( *compound_, *document_ );
! }
!
!
! CodeModel::ExpressionPtr
! CodeWriterTest::makeTrueExpression()
! {
! return makeExpression( "true" );
! }
!
!
! CodeModel::ExpressionPtr
! CodeWriterTest::makeExpression( const std::string &expression )
! {
! return CodeModel::ExpressionPtr( new CodeModel::GenericExpression( expression ) );
}
--- 34,38 ----
CodeWriterTest::tearDown()
{
! CodeWriterTestBase::tearDown();
}
***************
*** 212,237 ****
void
- CodeWriterTest::testInsertNullStatement()
- {
- source_ = "{\n"
- "}";
-
- generateCompound();
-
- RFTA_ASSERT_EQUAL( 0, compound_->getStatementCount() );
-
- CodeModel::StatementPtr nullStatement( new CodeModel::NullStatement() );
- compound_->appendStatement( nullStatement );
-
- rewriteSource();
-
- std::string expectedSource = "{\n"
- " ;\n"
- "}";
- RFTA_ASSERT_EQUAL( expectedSource, document_->getAllText() );
- }
-
-
- void
CodeWriterTest::testInsertWhileStatement()
{
--- 170,173 ----
***************
*** 533,536 ****
--- 469,473 ----
RFTA_ASSERT_EQUAL( expectedSource, document_->getAllText() );
}
+
} // namespace Refactoring
Index: CodeWriterTest.h
===================================================================
RCS file: /cvsroot/cpptool/rfta/src/rfta/CodeWriterTest.h,v
retrieving revision 1.14
retrieving revision 1.15
diff -C2 -d -r1.14 -r1.15
*** CodeWriterTest.h 16 Mar 2003 07:14:31 -0000 1.14
--- CodeWriterTest.h 16 Mar 2003 07:37:05 -0000 1.15
***************
*** 6,14 ****
#define RFTA_CODEWRITERTEST_H
! #include <rfta/refactoring/CodeModelStatements.h>
! #include <rfta/refactoring/CodeModelExpressions.h>
! #include <rfta/refactoring/PlainTextDocument.h>
! #include "SourceBasedTestBase.h"
! #include "CodeRewriter.h"
--- 6,10 ----
#define RFTA_CODEWRITERTEST_H
! #include "CodeWriterTestBase.h"
***************
*** 18,22 ****
/// Unit tests for CodeWriterTest
! class CodeWriterTest : public SourceBasedTestBase
{
CPPUNIT_TEST_SUITE( CodeWriterTest );
--- 14,18 ----
/// Unit tests for CodeWriterTest
! class CodeWriterTest : public CodeWriterTestBase
{
CPPUNIT_TEST_SUITE( CodeWriterTest );
***************
*** 26,30 ****
CPPUNIT_TEST( testRemoveStatement );
CPPUNIT_TEST( testMoveSubExpression );
- CPPUNIT_TEST( testInsertNullStatement );
CPPUNIT_TEST( testInsertWhileStatement );
CPPUNIT_TEST( testInsertContinueStatement );
--- 22,25 ----
***************
*** 57,61 ****
void testRemoveStatement();
void testMoveSubExpression();
- void testInsertNullStatement();
void testInsertWhileStatement();
void testInsertContinueStatement();
--- 52,55 ----
***************
*** 72,83 ****
private:
- void generateCompound();
- void rewriteSource();
- CodeModel::ExpressionPtr makeTrueExpression();
- CodeModel::ExpressionPtr makeExpression( const std::string &expression );
-
- CodeModel::CompoundStatementPtr compound_;
- boost::shared_ptr<PlainTextDocument> document_;
- boost::shared_ptr<CodeModel::CodeRewriter> writer_;
};
--- 66,69 ----
Index: rfta.dsp
===================================================================
RCS file: /cvsroot/cpptool/rfta/src/rfta/rfta.dsp,v
retrieving revision 1.39
retrieving revision 1.40
diff -C2 -d -r1.39 -r1.40
*** rfta.dsp 15 Mar 2003 17:01:32 -0000 1.39
--- rfta.dsp 16 Mar 2003 07:37:05 -0000 1.40
***************
*** 927,930 ****
--- 927,938 ----
# Begin Source File
+ SOURCE=.\CodeWriterInsertTest.cpp
+ # End Source File
+ # Begin Source File
+
+ SOURCE=.\CodeWriterInsertTest.h
+ # End Source File
+ # Begin Source File
+
SOURCE=.\CodeWriterTest.cpp
***************
*** 950,953 ****
--- 958,969 ----
!ENDIF
+ # End Source File
+ # Begin Source File
+
+ SOURCE=.\CodeWriterTestBase.cpp
+ # End Source File
+ # Begin Source File
+
+ SOURCE=.\CodeWriterTestBase.h
# End Source File
# End Group
|
|
From: <bl...@us...> - 2003-03-16 07:37:08
|
Update of /cvsroot/cpptool/rfta/src In directory sc8-pr-cvs1:/tmp/cvs-serv19979/src Modified Files: rfta.opt Log Message: * refactoring tests Index: rfta.opt =================================================================== RCS file: /cvsroot/cpptool/rfta/src/rfta.opt,v retrieving revision 1.79 retrieving revision 1.80 diff -C2 -d -r1.79 -r1.80 Binary files /tmp/cvsoP0prK and /tmp/cvscHY88j differ |
|
From: <bl...@us...> - 2003-03-16 07:36:44
|
Update of /cvsroot/cpptool/rfta/src/rftaparser In directory sc8-pr-cvs1:/tmp/cvs-serv19871/src/rftaparser Modified Files: .cvsignore Log Message: * added missing files Index: .cvsignore =================================================================== RCS file: /cvsroot/cpptool/rfta/src/rftaparser/.cvsignore,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** .cvsignore 23 Oct 2002 20:25:18 -0000 1.1.1.1 --- .cvsignore 16 Mar 2003 07:36:40 -0000 1.2 *************** *** 1 **** --- 1,2 ---- *.WW + *.plg |
|
From: <bl...@us...> - 2003-03-16 07:36:44
|
Update of /cvsroot/cpptool/rfta/bin
In directory sc8-pr-cvs1:/tmp/cvs-serv19871/bin
Added Files:
DeclarativeCondition.cpp
Log Message:
* added missing files
--- NEW FILE: DeclarativeCondition.cpp ---
{
if ( int x = 3 )
;
while ( char c = next() )
;
switch ( char token = nextToken() )
{
default:
}
for ( int count =0; count < maxCount; ++count )
;
}
|
|
From: <bl...@us...> - 2003-03-16 07:36:44
|
Update of /cvsroot/cpptool/rfta/src/rfta In directory sc8-pr-cvs1:/tmp/cvs-serv19871/src/rfta Modified Files: .cvsignore Log Message: * added missing files Index: .cvsignore =================================================================== RCS file: /cvsroot/cpptool/rfta/src/rfta/.cvsignore,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** .cvsignore 26 Oct 2002 18:15:52 -0000 1.1 --- .cvsignore 16 Mar 2003 07:36:40 -0000 1.2 *************** *** 1 **** --- 1,2 ---- *.WW + *.plg |
|
From: <bl...@us...> - 2003-03-16 07:36:44
|
Update of /cvsroot/cpptool/rfta/doc In directory sc8-pr-cvs1:/tmp/cvs-serv19871/doc Added Files: compile-farm.txt Log Message: * added missing files --- NEW FILE: compile-farm.txt --- * Accessing the CVS repository from the compile farm: (replace blep by your user login) ssh -l blep cf.sf.net export CVS_RSH=ssh export CVSROOT=:ext:bl...@cv...:/cvsroot/cpptool * To checkout CVSROOT (admin directory): cvs -z3 co CVSROOT |
|
From: <bl...@us...> - 2003-03-16 07:36:44
|
Update of /cvsroot/cpptool/rfta/include/xtl In directory sc8-pr-cvs1:/tmp/cvs-serv19871/include/xtl Added Files: .cvsignore Log Message: * added missing files --- NEW FILE: .cvsignore --- *.h |
|
From: <bl...@us...> - 2003-03-16 07:36:44
|
Update of /cvsroot/cpptool/rfta/src/astdumper In directory sc8-pr-cvs1:/tmp/cvs-serv19871/src/astdumper Modified Files: .cvsignore Log Message: * added missing files Index: .cvsignore =================================================================== RCS file: /cvsroot/cpptool/rfta/src/astdumper/.cvsignore,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** .cvsignore 23 Oct 2002 20:25:16 -0000 1.1.1.1 --- .cvsignore 16 Mar 2003 07:36:40 -0000 1.2 *************** *** 1 **** --- 1,2 ---- *.WW + *.plg |
|
From: <bl...@us...> - 2003-03-16 07:14:34
|
Update of /cvsroot/cpptool/rfta/src/rfta
In directory sc8-pr-cvs1:/tmp/cvs-serv14905/src/rfta
Modified Files:
CodeRewriter.cpp CodeWriterTest.cpp CodeWriterTest.h
Log Message:
* added support for inserting expression statement.
Index: CodeRewriter.cpp
===================================================================
RCS file: /cvsroot/cpptool/rfta/src/rfta/CodeRewriter.cpp,v
retrieving revision 1.15
retrieving revision 1.16
diff -C2 -d -r1.15 -r1.16
*** CodeRewriter.cpp 16 Mar 2003 06:59:06 -0000 1.15
--- CodeRewriter.cpp 16 Mar 2003 07:14:31 -0000 1.16
***************
*** 227,230 ****
--- 227,233 ----
CodeRewriter::visit( ExpressionStatement &statement )
{
+ beginInsertNewStatement();
+ statement.getExpression()->accept( *this );
+ endInsertNewStatement();
}
Index: CodeWriterTest.cpp
===================================================================
RCS file: /cvsroot/cpptool/rfta/src/rfta/CodeWriterTest.cpp,v
retrieving revision 1.16
retrieving revision 1.17
diff -C2 -d -r1.16 -r1.17
*** CodeWriterTest.cpp 16 Mar 2003 06:59:06 -0000 1.16
--- CodeWriterTest.cpp 16 Mar 2003 07:14:31 -0000 1.17
***************
*** 512,514 ****
--- 512,536 ----
+ void
+ CodeWriterTest::testInsertExpressionStatement()
+ {
+ source_ = "{\n"
+ "}";
+
+ generateCompound();
+
+ RFTA_ASSERT_EQUAL( 0, compound_->getStatementCount() );
+
+ CodeModel::StatementPtr expressionStatement(
+ new CodeModel::ExpressionStatement( makeExpression( "call( 1234 )" ) ) );
+ compound_->appendStatement( expressionStatement );
+
+ rewriteSource();
+
+ std::string expectedSource = "{\n"
+ " call( 1234 );\n"
+ "}";
+ RFTA_ASSERT_EQUAL( expectedSource, document_->getAllText() );
+ }
+
} // namespace Refactoring
Index: CodeWriterTest.h
===================================================================
RCS file: /cvsroot/cpptool/rfta/src/rfta/CodeWriterTest.h,v
retrieving revision 1.13
retrieving revision 1.14
diff -C2 -d -r1.13 -r1.14
*** CodeWriterTest.h 16 Mar 2003 06:59:07 -0000 1.13
--- CodeWriterTest.h 16 Mar 2003 07:14:31 -0000 1.14
***************
*** 38,41 ****
--- 38,42 ----
CPPUNIT_TEST( testInsertIfThenStatement );
CPPUNIT_TEST( testInsertIfThenElseStatement );
+ CPPUNIT_TEST( testInsertExpressionStatement );
CPPUNIT_TEST_SUITE_END();
***************
*** 68,71 ****
--- 69,73 ----
void testInsertIfThenStatement();
void testInsertIfThenElseStatement();
+ void testInsertExpressionStatement();
private:
|
|
From: <bl...@us...> - 2003-03-16 07:14:34
|
Update of /cvsroot/cpptool/rfta/src In directory sc8-pr-cvs1:/tmp/cvs-serv14905/src Modified Files: rfta.opt Log Message: * added support for inserting expression statement. Index: rfta.opt =================================================================== RCS file: /cvsroot/cpptool/rfta/src/rfta.opt,v retrieving revision 1.78 retrieving revision 1.79 diff -C2 -d -r1.78 -r1.79 Binary files /tmp/cvsJlgXX7 and /tmp/cvsYsX5B7 differ |
Update of /cvsroot/cpptool/rfta/src/rfta
In directory sc8-pr-cvs1:/tmp/cvs-serv11028/src/rfta
Modified Files:
CodeRewriter.cpp CodeWriterTest.cpp CodeWriterTest.h
IndentLevelManager.cpp IndentLevelManager.h
Log Message:
* added support for inserting if/then/else statement.
Index: CodeRewriter.cpp
===================================================================
RCS file: /cvsroot/cpptool/rfta/src/rfta/CodeRewriter.cpp,v
retrieving revision 1.14
retrieving revision 1.15
diff -C2 -d -r1.14 -r1.15
*** CodeRewriter.cpp 16 Mar 2003 06:52:20 -0000 1.14
--- CodeRewriter.cpp 16 Mar 2003 06:59:06 -0000 1.15
***************
*** 269,273 ****
--- 269,281 ----
statement.getThenStatement()->accept( *this );
if ( statement.hasElseStatement() )
+ {
+ restorer.restoreIndentLevel();
+ IndentLevelManager::IndentRestorer restorer2( indentManager_ );
+ beginInsertNewStatement();
+ insertText( "else" );
+ if ( isInserting() )
+ indentManager_.enterNewElseStatement();
statement.getElseStatement()->accept( *this );
+ }
}
Index: CodeWriterTest.cpp
===================================================================
RCS file: /cvsroot/cpptool/rfta/src/rfta/CodeWriterTest.cpp,v
retrieving revision 1.15
retrieving revision 1.16
diff -C2 -d -r1.15 -r1.16
*** CodeWriterTest.cpp 16 Mar 2003 06:52:20 -0000 1.15
--- CodeWriterTest.cpp 16 Mar 2003 06:59:06 -0000 1.16
***************
*** 482,484 ****
--- 482,514 ----
+ void
+ CodeWriterTest::testInsertIfThenElseStatement()
+ {
+ source_ = "{\n"
+ "}";
+
+ generateCompound();
+
+ RFTA_ASSERT_EQUAL( 0, compound_->getStatementCount() );
+
+ CodeModel::StatementPtr nullStatement( new CodeModel::NullStatement() );
+ CodeModel::StatementPtr breakStatement( new CodeModel::BreakStatement() );
+ CodeModel::StatementPtr ifStatement(
+ new CodeModel::IfStatement( makeExpression( "z < k" ),
+ nullStatement,
+ breakStatement ) );
+ compound_->appendStatement( ifStatement );
+
+ rewriteSource();
+
+ std::string expectedSource = "{\n"
+ " if ( z < k )\n"
+ " ;\n"
+ " else\n"
+ " break;\n"
+ "}";
+ RFTA_ASSERT_EQUAL( expectedSource, document_->getAllText() );
+ }
+
+
} // namespace Refactoring
Index: CodeWriterTest.h
===================================================================
RCS file: /cvsroot/cpptool/rfta/src/rfta/CodeWriterTest.h,v
retrieving revision 1.12
retrieving revision 1.13
diff -C2 -d -r1.12 -r1.13
*** CodeWriterTest.h 16 Mar 2003 06:52:20 -0000 1.12
--- CodeWriterTest.h 16 Mar 2003 06:59:07 -0000 1.13
***************
*** 37,40 ****
--- 37,41 ----
CPPUNIT_TEST( testInsertGotoStatement );
CPPUNIT_TEST( testInsertIfThenStatement );
+ CPPUNIT_TEST( testInsertIfThenElseStatement );
CPPUNIT_TEST_SUITE_END();
***************
*** 66,69 ****
--- 67,71 ----
void testInsertGotoStatement();
void testInsertIfThenStatement();
+ void testInsertIfThenElseStatement();
private:
Index: IndentLevelManager.cpp
===================================================================
RCS file: /cvsroot/cpptool/rfta/src/rfta/IndentLevelManager.cpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** IndentLevelManager.cpp 16 Mar 2003 06:52:20 -0000 1.4
--- IndentLevelManager.cpp 16 Mar 2003 06:59:07 -0000 1.5
***************
*** 46,49 ****
--- 46,56 ----
+ void
+ IndentLevelManager::enterNewElseStatement()
+ {
+ pushIndent( getIndentLevel() + indentWidth_ );
+ }
+
+
int
IndentLevelManager::findIndentLevelOf( int pos ) const
Index: IndentLevelManager.h
===================================================================
RCS file: /cvsroot/cpptool/rfta/src/rfta/IndentLevelManager.h,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** IndentLevelManager.h 16 Mar 2003 06:52:20 -0000 1.5
--- IndentLevelManager.h 16 Mar 2003 06:59:07 -0000 1.6
***************
*** 62,65 ****
--- 62,67 ----
void enterNewIfStatement();
+ void enterNewElseStatement();
+
int getIndentLevel() const;
|
|
From: <bl...@us...> - 2003-03-16 06:59:10
|
Update of /cvsroot/cpptool/rfta/src In directory sc8-pr-cvs1:/tmp/cvs-serv11028/src Modified Files: rfta.opt Log Message: * added support for inserting if/then/else statement. Index: rfta.opt =================================================================== RCS file: /cvsroot/cpptool/rfta/src/rfta.opt,v retrieving revision 1.77 retrieving revision 1.78 diff -C2 -d -r1.77 -r1.78 Binary files /tmp/cvspHR9ug and /tmp/cvs60gRDo differ |
Update of /cvsroot/cpptool/rfta/src/rfta
In directory sc8-pr-cvs1:/tmp/cvs-serv9325/src/rfta
Modified Files:
CodeRewriter.cpp CodeWriterTest.cpp CodeWriterTest.h
IndentLevelManager.cpp IndentLevelManager.h
Log Message:
* added support for inserting if/then statement.
Index: CodeRewriter.cpp
===================================================================
RCS file: /cvsroot/cpptool/rfta/src/rfta/CodeRewriter.cpp,v
retrieving revision 1.13
retrieving revision 1.14
diff -C2 -d -r1.13 -r1.14
*** CodeRewriter.cpp 15 Mar 2003 22:05:23 -0000 1.13
--- CodeRewriter.cpp 16 Mar 2003 06:52:20 -0000 1.14
***************
*** 254,258 ****
--- 254,270 ----
CodeRewriter::visit( IfStatement &statement )
{
+ if ( isInserting() )
+ {
+ beginInsertNewStatement();
+ insertText( "if ( " );
+ }
statement.getCondition()->accept( *this );
+
+ IndentLevelManager::IndentRestorer restorer( indentManager_ );
+ if ( isInserting() )
+ {
+ insertText( " )" );
+ indentManager_.enterNewIfStatement();
+ }
statement.getThenStatement()->accept( *this );
if ( statement.hasElseStatement() )
Index: CodeWriterTest.cpp
===================================================================
RCS file: /cvsroot/cpptool/rfta/src/rfta/CodeWriterTest.cpp,v
retrieving revision 1.14
retrieving revision 1.15
diff -C2 -d -r1.14 -r1.15
*** CodeWriterTest.cpp 15 Mar 2003 21:51:43 -0000 1.14
--- CodeWriterTest.cpp 16 Mar 2003 06:52:20 -0000 1.15
***************
*** 456,458 ****
--- 456,484 ----
+ void
+ CodeWriterTest::testInsertIfThenStatement()
+ {
+ source_ = "{\n"
+ "}";
+
+ generateCompound();
+
+ RFTA_ASSERT_EQUAL( 0, compound_->getStatementCount() );
+
+ CodeModel::StatementPtr nullStatement( new CodeModel::NullStatement() );
+ CodeModel::StatementPtr ifStatement(
+ new CodeModel::IfStatement( makeExpression( "x < y" ),
+ nullStatement ) );
+ compound_->appendStatement( ifStatement );
+
+ rewriteSource();
+
+ std::string expectedSource = "{\n"
+ " if ( x < y )\n"
+ " ;\n"
+ "}";
+ RFTA_ASSERT_EQUAL( expectedSource, document_->getAllText() );
+ }
+
+
} // namespace Refactoring
Index: CodeWriterTest.h
===================================================================
RCS file: /cvsroot/cpptool/rfta/src/rfta/CodeWriterTest.h,v
retrieving revision 1.11
retrieving revision 1.12
diff -C2 -d -r1.11 -r1.12
*** CodeWriterTest.h 15 Mar 2003 21:51:43 -0000 1.11
--- CodeWriterTest.h 16 Mar 2003 06:52:20 -0000 1.12
***************
*** 36,39 ****
--- 36,40 ----
CPPUNIT_TEST( testInsertLabelStatement );
CPPUNIT_TEST( testInsertGotoStatement );
+ CPPUNIT_TEST( testInsertIfThenStatement );
CPPUNIT_TEST_SUITE_END();
***************
*** 64,67 ****
--- 65,69 ----
void testInsertLabelStatement();
void testInsertGotoStatement();
+ void testInsertIfThenStatement();
private:
Index: IndentLevelManager.cpp
===================================================================
RCS file: /cvsroot/cpptool/rfta/src/rfta/IndentLevelManager.cpp,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** IndentLevelManager.cpp 15 Mar 2003 20:57:38 -0000 1.3
--- IndentLevelManager.cpp 16 Mar 2003 06:52:20 -0000 1.4
***************
*** 39,42 ****
--- 39,49 ----
+ void
+ IndentLevelManager::enterNewIfStatement()
+ {
+ pushIndent( getIndentLevel() + indentWidth_ );
+ }
+
+
int
IndentLevelManager::findIndentLevelOf( int pos ) const
Index: IndentLevelManager.h
===================================================================
RCS file: /cvsroot/cpptool/rfta/src/rfta/IndentLevelManager.h,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** IndentLevelManager.h 15 Mar 2003 20:57:38 -0000 1.4
--- IndentLevelManager.h 16 Mar 2003 06:52:20 -0000 1.5
***************
*** 60,63 ****
--- 60,65 ----
void enterNewCompoundStatement();
+ void enterNewIfStatement();
+
int getIndentLevel() const;
|
|
From: <bl...@us...> - 2003-03-16 06:52:22
|
Update of /cvsroot/cpptool/rfta/src In directory sc8-pr-cvs1:/tmp/cvs-serv9325/src Modified Files: rfta.opt Log Message: * added support for inserting if/then statement. Index: rfta.opt =================================================================== RCS file: /cvsroot/cpptool/rfta/src/rfta.opt,v retrieving revision 1.76 retrieving revision 1.77 diff -C2 -d -r1.76 -r1.77 Binary files /tmp/cvsE8BnFk and /tmp/cvsYb7dFu differ |
|
From: <bl...@us...> - 2003-03-15 22:05:26
|
Update of /cvsroot/cpptool/rfta/src/rfta
In directory sc8-pr-cvs1:/tmp/cvs-serv17930a/src/rfta
Modified Files:
CodeRewriter.cpp CodeRewriter.h
Log Message:
* refactored a bit
Index: CodeRewriter.cpp
===================================================================
RCS file: /cvsroot/cpptool/rfta/src/rfta/CodeRewriter.cpp,v
retrieving revision 1.12
retrieving revision 1.13
diff -C2 -d -r1.12 -r1.13
*** CodeRewriter.cpp 15 Mar 2003 21:51:43 -0000 1.12
--- CodeRewriter.cpp 15 Mar 2003 22:05:23 -0000 1.13
***************
*** 85,92 ****
void
CodeRewriter::visit( BreakStatement &statement )
{
if ( isInserting() )
! insertText( "\n" + indentManager_.getIndentSpacer() + "break;" );
}
--- 85,117 ----
void
+ CodeRewriter::beginInsertNewStatement()
+ {
+ insertText( "\n" + indentManager_.getIndentSpacer() );
+ }
+
+
+ void
+ CodeRewriter::endInsertNewStatement()
+ {
+ insertText( ";" );
+ }
+
+
+ void
+ CodeRewriter::endInsertNewLabelStatement()
+ {
+ insertText( ":" );
+ }
+
+
+ void
CodeRewriter::visit( BreakStatement &statement )
{
if ( isInserting() )
! {
! beginInsertNewStatement();
! insertText( "break" );
! endInsertNewStatement();
! }
}
***************
*** 97,103 ****
if ( isInserting() )
{
! insertText( "\n" + indentManager_.getIndentSpacer() + "case " );
statement.getConditionValue()->accept( *this );
! insertText( ":" );
}
}
--- 122,129 ----
if ( isInserting() )
{
! beginInsertNewStatement();
! insertText( "case " );
statement.getConditionValue()->accept( *this );
! endInsertNewLabelStatement();
}
}
***************
*** 158,162 ****
{
if ( isInserting() )
! insertText( "\n" + indentManager_.getIndentSpacer() + "continue;" );
}
--- 184,192 ----
{
if ( isInserting() )
! {
! beginInsertNewStatement();
! insertText( "continue" );
! endInsertNewStatement();
! }
}
***************
*** 166,170 ****
{
if ( isInserting() )
! insertText( "\n" + indentManager_.getIndentSpacer() + "default:" );
}
--- 196,204 ----
{
if ( isInserting() )
! {
! beginInsertNewStatement();
! insertText( "default" );
! endInsertNewLabelStatement();
! }
}
***************
*** 179,187 ****
CodeRewriter::visit( DoStatement &statement )
{
! insertText( "\n" + indentManager_.getIndentSpacer() + "do" );
statement.getIteratedStatement()->accept( *this );
! insertText( "\n" + indentManager_.getIndentSpacer() + "while ( " );
statement.getCondition()->accept( *this );
! insertText( " );" );
}
--- 213,224 ----
CodeRewriter::visit( DoStatement &statement )
{
! beginInsertNewStatement();
! insertText( "do" );
statement.getIteratedStatement()->accept( *this );
! beginInsertNewStatement();
! insertText( "while ( " );
statement.getCondition()->accept( *this );
! insertText( " )" );
! endInsertNewStatement();
}
***************
*** 208,212 ****
CodeRewriter::visit( GotoStatement &statement )
{
! insertText( "\n" + indentManager_.getIndentSpacer() + "goto " + statement.getLabelName() + ";" );
}
--- 245,251 ----
CodeRewriter::visit( GotoStatement &statement )
{
! beginInsertNewStatement();
! insertText( "goto " + statement.getLabelName() );
! endInsertNewStatement();
}
***************
*** 239,243 ****
{
if ( isInserting() )
! insertText( "\n" + indentManager_.getIndentSpacer() + ";" );
}
--- 278,285 ----
{
if ( isInserting() )
! {
! beginInsertNewStatement();
! endInsertNewStatement();
! }
}
***************
*** 265,269 ****
else if ( isInserting() )
{
! insertText( "\n" + indentManager_.getIndentSpacer() + "return" );
if ( statement.hasValue() )
{
--- 307,312 ----
else if ( isInserting() )
{
! beginInsertNewStatement();
! insertText( "return" );
if ( statement.hasValue() )
{
***************
*** 271,275 ****
statement.getValue()->accept( *this );
}
! insertText( ";" );
}
}
--- 314,318 ----
statement.getValue()->accept( *this );
}
! endInsertNewStatement();
}
}
***************
*** 285,289 ****
CodeRewriter::visit( SwitchStatement &statement )
{
! insertText( "\n" + indentManager_.getIndentSpacer() + "switch ( " );
statement.getCondition()->accept( *this );
insertText( " )" );
--- 328,333 ----
CodeRewriter::visit( SwitchStatement &statement )
{
! beginInsertNewStatement();
! insertText( "switch ( " );
statement.getCondition()->accept( *this );
insertText( " )" );
***************
*** 295,299 ****
CodeRewriter::visit( WhileStatement &statement )
{
! insertText( "\n" + indentManager_.getIndentSpacer() + "while ( " );
statement.getCondition()->accept( *this );
insertText( " )" );
--- 339,344 ----
CodeRewriter::visit( WhileStatement &statement )
{
! beginInsertNewStatement();
! insertText( "while ( " );
statement.getCondition()->accept( *this );
insertText( " )" );
Index: CodeRewriter.h
===================================================================
RCS file: /cvsroot/cpptool/rfta/src/rfta/CodeRewriter.h,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -d -r1.7 -r1.8
*** CodeRewriter.h 15 Mar 2003 21:29:43 -0000 1.7
--- CodeRewriter.h 15 Mar 2003 22:05:23 -0000 1.8
***************
*** 107,110 ****
--- 107,114 ----
bool isUpdating() const;
+ void beginInsertNewStatement();
+ void endInsertNewStatement();
+ void endInsertNewLabelStatement();
+
private:
IndentLevelManager indentManager_;
|
|
From: <bl...@us...> - 2003-03-15 22:05:26
|
Update of /cvsroot/cpptool/rfta/src In directory sc8-pr-cvs1:/tmp/cvs-serv17930a/src Modified Files: rfta.opt Log Message: * refactored a bit Index: rfta.opt =================================================================== RCS file: /cvsroot/cpptool/rfta/src/rfta.opt,v retrieving revision 1.75 retrieving revision 1.76 diff -C2 -d -r1.75 -r1.76 Binary files /tmp/cvsCVlVwc and /tmp/cvsoPGBie differ |
|
From: <bl...@us...> - 2003-03-15 21:51:46
|
Update of /cvsroot/cpptool/rfta/src In directory sc8-pr-cvs1:/tmp/cvs-serv13677/src Modified Files: rfta.opt Log Message: * added support for inserting label and goto statements. Index: rfta.opt =================================================================== RCS file: /cvsroot/cpptool/rfta/src/rfta.opt,v retrieving revision 1.74 retrieving revision 1.75 diff -C2 -d -r1.74 -r1.75 Binary files /tmp/cvswJPeHe and /tmp/cvsSaZQAi differ |
|
From: <bl...@us...> - 2003-03-15 21:51:46
|
Update of /cvsroot/cpptool/rfta/include/rfta/refactoring
In directory sc8-pr-cvs1:/tmp/cvs-serv13677/include/rfta/refactoring
Modified Files:
CodeModelStatements.h
Log Message:
* added support for inserting label and goto statements.
Index: CodeModelStatements.h
===================================================================
RCS file: /cvsroot/cpptool/rfta/include/rfta/refactoring/CodeModelStatements.h,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** CodeModelStatements.h 12 Mar 2003 07:46:09 -0000 1.4
--- CodeModelStatements.h 15 Mar 2003 21:51:42 -0000 1.5
***************
*** 222,238 ****
! class LabelStatement : public Statement
{
public:
! LabelStatement( const std::string &labelName );
const std::string getLabelName() const;
void setLabelName( const std::string &labelName );
// overriden from Statement
void accept( StatementVisitor &visitor );
! private:
! std::string labelName_;
};
--- 222,269 ----
! class FlowControlStatement : public Statement
{
public:
! // overriden from Statement
! void accept( StatementVisitor &visitor );
! };
!
!
! class LabelHolderStatement
! {
! public:
! LabelHolderStatement( const std::string &labelName );
!
! virtual ~LabelHolderStatement()
! {
! }
const std::string getLabelName() const;
void setLabelName( const std::string &labelName );
+ private:
+ std::string labelName_;
+ };
+
+
+ class LabelStatement : public Statement
+ , public LabelHolderStatement
+ {
+ public:
+ LabelStatement( const std::string &labelName );
+
// overriden from Statement
void accept( StatementVisitor &visitor );
+ };
!
! class GotoStatement : public FlowControlStatement
! , public LabelHolderStatement
! {
! public:
! GotoStatement( const std::string &labelName );
!
! // overriden from Statement
! void accept( StatementVisitor &visitor );
};
***************
*** 270,281 ****
- class FlowControlStatement : public Statement
- {
- public:
- // overriden from Statement
- void accept( StatementVisitor &visitor );
- };
-
-
class BreakStatement : public FlowControlStatement
{
--- 301,304 ----
***************
*** 315,326 ****
ExpressionPtr value_;
Change change_;
- };
-
-
- class GotoStatement : public FlowControlStatement
- {
- public:
- // overriden from Statement
- void accept( StatementVisitor &visitor );
};
--- 338,341 ----
|
|
From: <bl...@us...> - 2003-03-15 21:51:46
|
Update of /cvsroot/cpptool/rfta/src/rfta
In directory sc8-pr-cvs1:/tmp/cvs-serv13677/src/rfta
Modified Files:
CodeModelStatements.cpp CodeRewriter.cpp CodeWriterTest.cpp
CodeWriterTest.h
Log Message:
* added support for inserting label and goto statements.
Index: CodeModelStatements.cpp
===================================================================
RCS file: /cvsroot/cpptool/rfta/src/rfta/CodeModelStatements.cpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** CodeModelStatements.cpp 8 Mar 2003 13:11:42 -0000 1.4
--- CodeModelStatements.cpp 15 Mar 2003 21:51:43 -0000 1.5
***************
*** 352,356 ****
! LabelStatement::LabelStatement( const std::string &labelName )
: labelName_( labelName )
{
--- 352,356 ----
! LabelHolderStatement::LabelHolderStatement( const std::string &labelName )
: labelName_( labelName )
{
***************
*** 359,363 ****
const std::string
! LabelStatement::getLabelName() const
{
return labelName_;
--- 359,363 ----
const std::string
! LabelHolderStatement::getLabelName() const
{
return labelName_;
***************
*** 366,374 ****
void
! LabelStatement::setLabelName( const std::string &labelName )
{
labelName_ = labelName;
}
void
LabelStatement::accept( StatementVisitor &visitor )
--- 366,381 ----
void
! LabelHolderStatement::setLabelName( const std::string &labelName )
{
labelName_ = labelName;
}
+
+
+ LabelStatement::LabelStatement( const std::string &labelName )
+ : LabelHolderStatement( labelName )
+ {
+ }
+
void
LabelStatement::accept( StatementVisitor &visitor )
***************
*** 379,382 ****
--- 386,403 ----
+ GotoStatement::GotoStatement( const std::string &labelName )
+ : LabelHolderStatement( labelName )
+ {
+ }
+
+ void
+ GotoStatement::accept( StatementVisitor &visitor )
+ {
+ FlowControlStatement::accept( visitor );
+ visitor.visit( *this );
+ }
+
+
+
void
SwitchLabelStatement::accept( StatementVisitor &visitor )
***************
*** 513,525 ****
{
return change_;
- }
-
-
-
- void
- GotoStatement::accept( StatementVisitor &visitor )
- {
- FlowControlStatement::accept( visitor );
- visitor.visit( *this );
}
--- 534,537 ----
Index: CodeRewriter.cpp
===================================================================
RCS file: /cvsroot/cpptool/rfta/src/rfta/CodeRewriter.cpp,v
retrieving revision 1.11
retrieving revision 1.12
diff -C2 -d -r1.11 -r1.12
*** CodeRewriter.cpp 15 Mar 2003 21:37:25 -0000 1.11
--- CodeRewriter.cpp 15 Mar 2003 21:51:43 -0000 1.12
***************
*** 208,211 ****
--- 208,212 ----
CodeRewriter::visit( GotoStatement &statement )
{
+ insertText( "\n" + indentManager_.getIndentSpacer() + "goto " + statement.getLabelName() + ";" );
}
***************
*** 230,233 ****
--- 231,235 ----
CodeRewriter::visit( LabelStatement &statement )
{
+ insertText( "\n" + statement.getLabelName() + ":" );
}
Index: CodeWriterTest.cpp
===================================================================
RCS file: /cvsroot/cpptool/rfta/src/rfta/CodeWriterTest.cpp,v
retrieving revision 1.13
retrieving revision 1.14
diff -C2 -d -r1.13 -r1.14
*** CodeWriterTest.cpp 15 Mar 2003 21:37:25 -0000 1.13
--- CodeWriterTest.cpp 15 Mar 2003 21:51:43 -0000 1.14
***************
*** 412,414 ****
--- 412,458 ----
+ void
+ CodeWriterTest::testInsertLabelStatement()
+ {
+ source_ = "{\n"
+ "}";
+
+ generateCompound();
+
+ RFTA_ASSERT_EQUAL( 0, compound_->getStatementCount() );
+
+ CodeModel::StatementPtr labelStatement( new CodeModel::LabelStatement( "error" ) );
+ compound_->appendStatement( labelStatement );
+
+ rewriteSource();
+
+ std::string expectedSource = "{\n"
+ "error:\n"
+ "}";
+ RFTA_ASSERT_EQUAL( expectedSource, document_->getAllText() );
+ }
+
+
+ void
+ CodeWriterTest::testInsertGotoStatement()
+ {
+ source_ = "{\n"
+ "}";
+
+ generateCompound();
+
+ RFTA_ASSERT_EQUAL( 0, compound_->getStatementCount() );
+
+ CodeModel::StatementPtr gotoStatement( new CodeModel::GotoStatement( "error" ) );
+ compound_->appendStatement( gotoStatement );
+
+ rewriteSource();
+
+ std::string expectedSource = "{\n"
+ " goto error;\n"
+ "}";
+ RFTA_ASSERT_EQUAL( expectedSource, document_->getAllText() );
+ }
+
+
} // namespace Refactoring
Index: CodeWriterTest.h
===================================================================
RCS file: /cvsroot/cpptool/rfta/src/rfta/CodeWriterTest.h,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -d -r1.10 -r1.11
*** CodeWriterTest.h 15 Mar 2003 21:37:25 -0000 1.10
--- CodeWriterTest.h 15 Mar 2003 21:51:43 -0000 1.11
***************
*** 34,37 ****
--- 34,39 ----
CPPUNIT_TEST( testInsertDoStatement );
CPPUNIT_TEST( testInsertSwitchStatement );
+ CPPUNIT_TEST( testInsertLabelStatement );
+ CPPUNIT_TEST( testInsertGotoStatement );
CPPUNIT_TEST_SUITE_END();
***************
*** 60,63 ****
--- 62,67 ----
void testInsertDoStatement();
void testInsertSwitchStatement();
+ void testInsertLabelStatement();
+ void testInsertGotoStatement();
private:
|
|
From: <bl...@us...> - 2003-03-15 21:37:28
|
Update of /cvsroot/cpptool/rfta/src/rfta
In directory sc8-pr-cvs1:/tmp/cvs-serv9293/src/rfta
Modified Files:
CodeRewriter.cpp CodeWriterTest.cpp CodeWriterTest.h
Log Message:
* added support for inserting switch statement.
Index: CodeRewriter.cpp
===================================================================
RCS file: /cvsroot/cpptool/rfta/src/rfta/CodeRewriter.cpp,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -d -r1.10 -r1.11
*** CodeRewriter.cpp 15 Mar 2003 21:29:43 -0000 1.10
--- CodeRewriter.cpp 15 Mar 2003 21:37:25 -0000 1.11
***************
*** 283,286 ****
--- 283,290 ----
CodeRewriter::visit( SwitchStatement &statement )
{
+ insertText( "\n" + indentManager_.getIndentSpacer() + "switch ( " );
+ statement.getCondition()->accept( *this );
+ insertText( " )" );
+ statement.getStatements()->accept( *this );
}
Index: CodeWriterTest.cpp
===================================================================
RCS file: /cvsroot/cpptool/rfta/src/rfta/CodeWriterTest.cpp,v
retrieving revision 1.12
retrieving revision 1.13
diff -C2 -d -r1.12 -r1.13
*** CodeWriterTest.cpp 15 Mar 2003 21:29:43 -0000 1.12
--- CodeWriterTest.cpp 15 Mar 2003 21:37:25 -0000 1.13
***************
*** 380,382 ****
--- 380,414 ----
+ void
+ CodeWriterTest::testInsertSwitchStatement()
+ {
+ source_ = "{\n"
+ "}";
+
+ generateCompound();
+
+ RFTA_ASSERT_EQUAL( 0, compound_->getStatementCount() );
+
+ CodeModel::StatementPtr defaultStatement( new CodeModel::DefaultStatement() );
+ CodeModel::StatementPtr nullStatement( new CodeModel::NullStatement() );
+ CodeModel::CompoundStatementPtr compoundStatement( new CodeModel::CompoundStatement() );
+ compoundStatement->appendStatement( defaultStatement );
+ compoundStatement->appendStatement( nullStatement );
+ CodeModel::StatementPtr switchStatement(
+ new CodeModel::SwitchStatement( makeExpression("x" ), compoundStatement ) );
+ compound_->appendStatement( switchStatement );
+
+ rewriteSource();
+
+ std::string expectedSource = "{\n"
+ " switch ( x )\n"
+ " {\n"
+ " default:\n"
+ " ;\n" /// @todo need to improve indentation
+ " }\n"
+ "}";
+ RFTA_ASSERT_EQUAL( expectedSource, document_->getAllText() );
+ }
+
+
} // namespace Refactoring
Index: CodeWriterTest.h
===================================================================
RCS file: /cvsroot/cpptool/rfta/src/rfta/CodeWriterTest.h,v
retrieving revision 1.9
retrieving revision 1.10
diff -C2 -d -r1.9 -r1.10
*** CodeWriterTest.h 15 Mar 2003 21:29:43 -0000 1.9
--- CodeWriterTest.h 15 Mar 2003 21:37:25 -0000 1.10
***************
*** 33,36 ****
--- 33,37 ----
CPPUNIT_TEST( testInsertCaseStatement );
CPPUNIT_TEST( testInsertDoStatement );
+ CPPUNIT_TEST( testInsertSwitchStatement );
CPPUNIT_TEST_SUITE_END();
***************
*** 58,61 ****
--- 59,63 ----
void testInsertCaseStatement();
void testInsertDoStatement();
+ void testInsertSwitchStatement();
private:
|
|
From: <bl...@us...> - 2003-03-15 21:37:28
|
Update of /cvsroot/cpptool/rfta/src In directory sc8-pr-cvs1:/tmp/cvs-serv9293/src Modified Files: rfta.opt Log Message: * added support for inserting switch statement. Index: rfta.opt =================================================================== RCS file: /cvsroot/cpptool/rfta/src/rfta.opt,v retrieving revision 1.73 retrieving revision 1.74 diff -C2 -d -r1.73 -r1.74 Binary files /tmp/cvsuDmXFQ and /tmp/cvsa0PD1y differ |
|
From: <bl...@us...> - 2003-03-15 21:30:13
|
Update of /cvsroot/cpptool/rfta/include/rfta/refactoring In directory sc8-pr-cvs1:/tmp/cvs-serv6289/include/rfta/refactoring Modified Files: CodeModelForward.h Log Message: * added support for inserting do/while statement. Index: CodeModelForward.h =================================================================== RCS file: /cvsroot/cpptool/rfta/include/rfta/refactoring/CodeModelForward.h,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** CodeModelForward.h 15 Mar 2003 20:57:35 -0000 1.4 --- CodeModelForward.h 15 Mar 2003 21:29:40 -0000 1.5 *************** *** 50,53 **** --- 50,54 ---- typedef boost::shared_ptr<DeclaratorExpression> DeclaratorExpressionPtr; typedef boost::shared_ptr<Expression> ExpressionPtr; + typedef boost::shared_ptr<DoStatement> DoStatementPtr; typedef boost::shared_ptr<WhileStatement> WhileStatementPtr; typedef boost::weak_ptr<Expression> ExpressionWeakPtr; |
|
From: <bl...@us...> - 2003-03-15 21:29:45
|
Update of /cvsroot/cpptool/rfta/src/rfta
In directory sc8-pr-cvs1:/tmp/cvs-serv6289/src/rfta
Modified Files:
CodeRewriter.cpp CodeRewriter.h CodeWriterTest.cpp
CodeWriterTest.h
Log Message:
* added support for inserting do/while statement.
Index: CodeRewriter.cpp
===================================================================
RCS file: /cvsroot/cpptool/rfta/src/rfta/CodeRewriter.cpp,v
retrieving revision 1.9
retrieving revision 1.10
diff -C2 -d -r1.9 -r1.10
*** CodeRewriter.cpp 15 Mar 2003 21:18:44 -0000 1.9
--- CodeRewriter.cpp 15 Mar 2003 21:29:43 -0000 1.10
***************
*** 85,98 ****
void
- CodeRewriter::setPreviousStatementEnd( CompoundStatement &statement,
- int subStatementIndex )
- {
- if ( subStatementIndex == 0 )
- {
- }
- }
-
-
- void
CodeRewriter::visit( BreakStatement &statement )
{
--- 85,88 ----
***************
*** 189,192 ****
--- 179,187 ----
CodeRewriter::visit( DoStatement &statement )
{
+ insertText( "\n" + indentManager_.getIndentSpacer() + "do" );
+ statement.getIteratedStatement()->accept( *this );
+ insertText( "\n" + indentManager_.getIndentSpacer() + "while ( " );
+ statement.getCondition()->accept( *this );
+ insertText( " );" );
}
Index: CodeRewriter.h
===================================================================
RCS file: /cvsroot/cpptool/rfta/src/rfta/CodeRewriter.h,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -d -r1.6 -r1.7
*** CodeRewriter.h 8 Mar 2003 13:11:42 -0000 1.6
--- CodeRewriter.h 15 Mar 2003 21:29:43 -0000 1.7
***************
*** 66,72 ****
void visit( NullExpression &expression );
- void setPreviousStatementEnd( CompoundStatement &statement,
- int subStatementIndex );
-
private:
enum Mode
--- 66,69 ----
Index: CodeWriterTest.cpp
===================================================================
RCS file: /cvsroot/cpptool/rfta/src/rfta/CodeWriterTest.cpp,v
retrieving revision 1.11
retrieving revision 1.12
diff -C2 -d -r1.11 -r1.12
*** CodeWriterTest.cpp 15 Mar 2003 21:18:44 -0000 1.11
--- CodeWriterTest.cpp 15 Mar 2003 21:29:43 -0000 1.12
***************
*** 350,352 ****
--- 350,382 ----
+ void
+ CodeWriterTest::testInsertDoStatement()
+ {
+ source_ = "{\n"
+ "}";
+
+ generateCompound();
+
+ RFTA_ASSERT_EQUAL( 0, compound_->getStatementCount() );
+
+ CodeModel::StatementPtr nullStatement( new CodeModel::NullStatement() );
+ CodeModel::CompoundStatementPtr compoundStatement( new CodeModel::CompoundStatement() );
+ compoundStatement->appendStatement( nullStatement );
+ CodeModel::DoStatementPtr doStatement(
+ new CodeModel::DoStatement( makeExpression("1234 < 5" ), compoundStatement ) );
+ compound_->appendStatement( doStatement );
+
+ rewriteSource();
+
+ std::string expectedSource = "{\n"
+ " do\n"
+ " {\n"
+ " ;\n"
+ " }\n"
+ " while ( 1234 < 5 );\n"
+ "}";
+ RFTA_ASSERT_EQUAL( expectedSource, document_->getAllText() );
+ }
+
+
} // namespace Refactoring
Index: CodeWriterTest.h
===================================================================
RCS file: /cvsroot/cpptool/rfta/src/rfta/CodeWriterTest.h,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -d -r1.8 -r1.9
*** CodeWriterTest.h 15 Mar 2003 21:18:44 -0000 1.8
--- CodeWriterTest.h 15 Mar 2003 21:29:43 -0000 1.9
***************
*** 32,35 ****
--- 32,36 ----
CPPUNIT_TEST( testInsertDefaultStatement );
CPPUNIT_TEST( testInsertCaseStatement );
+ CPPUNIT_TEST( testInsertDoStatement );
CPPUNIT_TEST_SUITE_END();
***************
*** 56,59 ****
--- 57,61 ----
void testInsertDefaultStatement();
void testInsertCaseStatement();
+ void testInsertDoStatement();
private:
|