Update of /cvsroot/cpptool/rfta/src/rfta In directory sc8-pr-cvs1:/tmp/cvs-serv4949/src/rfta Modified Files: CodeModel.cpp CodeModelExpressions.cpp CodeModelGeneratorTest.cpp CodeRewriter.cpp CodeWriterInsertTest.cpp CodeWriterTestBase.cpp CodeWriterTestBase.h Log Message: * adding a separator between variable declaration. Index: CodeModel.cpp =================================================================== RCS file: /cvsroot/cpptool/rfta/src/rfta/CodeModel.cpp,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** CodeModel.cpp 18 Mar 2003 22:37:46 -0000 1.8 --- CodeModel.cpp 24 Mar 2003 07:57:51 -0000 1.9 *************** *** 312,316 **** Generator::generateDeclarator( const ASTNodePtr &expression ) { ! const std::string primaryType( getDeclaratorPrimaryType( expression ) ); DeclaratorExpressionPtr declaratorExpression( new DeclaratorExpression( primaryType ) ); setElementSource( *declaratorExpression, expression ); --- 312,316 ---- Generator::generateDeclarator( const ASTNodePtr &expression ) { ! TypePartPtr primaryType( getDeclaratorPrimaryType( expression ) ); DeclaratorExpressionPtr declaratorExpression( new DeclaratorExpression( primaryType ) ); setElementSource( *declaratorExpression, expression ); *************** *** 328,332 **** ! const std::string Generator::getDeclaratorPrimaryType( const ASTNodePtr &declaratorNode ) { --- 328,332 ---- ! TypePartPtr Generator::getDeclaratorPrimaryType( const ASTNodePtr &declaratorNode ) { *************** *** 334,338 **** ASTNodePtr typePrefix = firstDecl->getProperty( ASTNodeProperties::typeDeclPrefixProperty ); ! return typePrefix->getBlankedText(); } --- 334,340 ---- ASTNodePtr typePrefix = firstDecl->getProperty( ASTNodeProperties::typeDeclPrefixProperty ); ! TypePartPtr typePart( new TypePart() ); ! setElementSource( *typePart, typePrefix ); ! return typePart; } Index: CodeModelExpressions.cpp =================================================================== RCS file: /cvsroot/cpptool/rfta/src/rfta/CodeModelExpressions.cpp,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** CodeModelExpressions.cpp 16 Mar 2003 16:18:40 -0000 1.9 --- CodeModelExpressions.cpp 24 Mar 2003 07:57:51 -0000 1.10 *************** *** 74,93 **** ! DeclaratorExpression::DeclaratorExpression( const std::string primaryType ) ! : primaryType_( primaryType ) { } ! std::string DeclaratorExpression::getPrimaryType() const { ! return primaryType_; } void ! DeclaratorExpression::setPrimaryType( const std::string &primaryType ) { ! primaryType_ = primaryType; } --- 74,100 ---- ! DeclaratorExpression::DeclaratorExpression( const TypePartPtr &primaryType ) ! : primaryTypeTracker_( primaryType ) { } ! TypePartPtr DeclaratorExpression::getPrimaryType() const { ! return primaryTypeTracker_.getElement(); } void ! DeclaratorExpression::setPrimaryType( const TypePartPtr &primaryType ) { ! primaryTypeTracker_.setElement( primaryType ); ! } ! ! ! Change ! DeclaratorExpression::getPrimaryTypeChange() const ! { ! return primaryTypeTracker_.getChange(); } *************** *** 140,143 **** --- 147,166 ---- { visitor.visit( *this ); + } + + + + TypePart::TypePart( const std::string &typePart ) + : typePart_( typePart ) + { + } + + + std::string + TypePart::getTypeText() const + { + if ( isFromSource() ) + return getSourceText(); + return typePart_; } Index: CodeModelGeneratorTest.cpp =================================================================== RCS file: /cvsroot/cpptool/rfta/src/rfta/CodeModelGeneratorTest.cpp,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** CodeModelGeneratorTest.cpp 16 Mar 2003 13:44:25 -0000 1.3 --- CodeModelGeneratorTest.cpp 24 Mar 2003 07:57:51 -0000 1.4 *************** *** 51,55 **** generator.generateDeclarator( sourceNode_->getChildAt(0) ); ! RFTA_ASSERT_EQUAL( "int ", declExpression->getPrimaryType() ); RFTA_ASSERT_EQUAL( 1, declExpression->getDeclaratorCount() ); --- 51,55 ---- generator.generateDeclarator( sourceNode_->getChildAt(0) ); ! RFTA_ASSERT_EQUAL( "int ", declExpression->getPrimaryType()->getTypeText() ); RFTA_ASSERT_EQUAL( 1, declExpression->getDeclaratorCount() ); Index: CodeRewriter.cpp =================================================================== RCS file: /cvsroot/cpptool/rfta/src/rfta/CodeRewriter.cpp,v retrieving revision 1.32 retrieving revision 1.33 diff -C2 -d -r1.32 -r1.33 *** CodeRewriter.cpp 21 Mar 2003 07:32:25 -0000 1.32 --- CodeRewriter.cpp 24 Mar 2003 07:57:51 -0000 1.33 *************** *** 353,357 **** beginInsertNewStatement(); ! insertText( declarators->getPrimaryType() ); const Declarator &declarator = declarators->getDeclaratorAt(0); --- 353,357 ---- beginInsertNewStatement(); ! insertText( declarators->getPrimaryType()->getTypeText() ); const Declarator &declarator = declarators->getDeclaratorAt(0); Index: CodeWriterInsertTest.cpp =================================================================== RCS file: /cvsroot/cpptool/rfta/src/rfta/CodeWriterInsertTest.cpp,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** CodeWriterInsertTest.cpp 21 Mar 2003 07:32:26 -0000 1.6 --- CodeWriterInsertTest.cpp 24 Mar 2003 07:57:51 -0000 1.7 *************** *** 280,284 **** CodeWriterInsertTest::testInsertDeclarationStatement() { ! CodeModel::DeclaratorExpressionPtr declarators( new CodeModel::DeclaratorExpression( "int " ) ); CodeModel::Declarator declarator( "", "var", "[3]" ); declarators->appendDeclarator( declarator ); --- 280,285 ---- CodeWriterInsertTest::testInsertDeclarationStatement() { ! CodeModel::DeclaratorExpressionPtr declarators( ! new CodeModel::DeclaratorExpression( makeTypePart( "int " ) ) ); CodeModel::Declarator declarator( "", "var", "[3]" ); declarators->appendDeclarator( declarator ); Index: CodeWriterTestBase.cpp =================================================================== RCS file: /cvsroot/cpptool/rfta/src/rfta/CodeWriterTestBase.cpp,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** CodeWriterTestBase.cpp 18 Mar 2003 22:37:50 -0000 1.3 --- CodeWriterTestBase.cpp 24 Mar 2003 07:57:51 -0000 1.4 *************** *** 81,84 **** --- 81,91 ---- + CodeModel::TypePartPtr + CodeWriterTestBase::makeTypePart( const std::string &typePart ) + { + return CodeModel::TypePartPtr( new CodeModel::TypePart( typePart ) ); + } + + void CodeWriterTestBase::generateAndCheckSource( const std::string &expectedSource ) Index: CodeWriterTestBase.h =================================================================== RCS file: /cvsroot/cpptool/rfta/src/rfta/CodeWriterTestBase.h,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** CodeWriterTestBase.h 18 Mar 2003 22:37:51 -0000 1.3 --- CodeWriterTestBase.h 24 Mar 2003 07:57:51 -0000 1.4 *************** *** 36,39 **** --- 36,41 ---- CodeModel::LabelPtr makeLabel( const std::string &labelName ); + CodeModel::TypePartPtr makeTypePart( const std::string &typePart ); + void generateAndCheckSource( const std::string &expectedSource ); |