Update of /cvsroot/cpptool/rfta/src/rfta
In directory sc8-pr-cvs1:/tmp/cvs-serv2880/src/rfta
Modified Files:
CodeModel.cpp CodeModelElement.cpp CodeModelExpressions.cpp
CodeModelGeneratorTest.cpp CodeModelStatements.cpp
CodeRewriter.cpp
Log Message:
* refactored: inlined class ElementText in Element and renamed methods.
Index: CodeModel.cpp
===================================================================
RCS file: /cvsroot/cpptool/rfta/src/rfta/CodeModel.cpp,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -d -r1.6 -r1.7
*** CodeModel.cpp 16 Mar 2003 13:15:22 -0000 1.6
--- CodeModel.cpp 16 Mar 2003 13:44:25 -0000 1.7
***************
*** 80,84 ****
}
! compound->setOriginalText( ElementText( compoundNode ) );
return compound;
}
--- 80,84 ----
}
! setElementSource( *compound, compoundNode );
return compound;
}
***************
*** 98,103 ****
GeneratorFunction function = it->second;
StatementPtr statement = (this->*function)( statementNode );
! // statement->setSourceRange( statementNode->getRange() );
! statement->setOriginalText( ElementText( statementNode ) );
return statement;
}
--- 98,102 ----
GeneratorFunction function = it->second;
StatementPtr statement = (this->*function)( statementNode );
! setElementSource( *statement, statementNode );
return statement;
}
***************
*** 309,313 ****
std::string value = expressionNode->getOriginalText();
ExpressionPtr expression( new GenericExpression() );
! expression->setOriginalText( ElementText( expressionNode ) );
return expression;
}
--- 308,312 ----
std::string value = expressionNode->getOriginalText();
ExpressionPtr expression( new GenericExpression() );
! setElementSource( *expression, expressionNode );
return expression;
}
***************
*** 318,323 ****
{
ExpressionPtr expression( new NullExpression() );
! // expression->setSourceRange( expressionNode->getRange() );
! expression->setOriginalText( ElementText( expressionNode ) );
return expression;
}
--- 317,321 ----
{
ExpressionPtr expression( new NullExpression() );
! setElementSource( *expression, expressionNode );
return expression;
}
***************
*** 329,334 ****
const std::string primaryType( getDeclaratorPrimaryType( expression ) );
DeclaratorExpressionPtr declaratorExpression( new DeclaratorExpression( primaryType ) );
! declaratorExpression->setOriginalText( ElementText( expression ) );
! // declaratorExpression->setSourceRange( expression->getRange() );
for ( int index = 0; index < expression->getChildCount(); ++index )
--- 327,331 ----
const std::string primaryType( getDeclaratorPrimaryType( expression ) );
DeclaratorExpressionPtr declaratorExpression( new DeclaratorExpression( primaryType ) );
! setElementSource( *declaratorExpression, expression );
for ( int index = 0; index < expression->getChildCount(); ++index )
***************
*** 386,391 ****
initializerNode->getProperty( ASTNodeProperties::valueProperty );
ExpressionPtr value = generateExpression( valueNode );
! value->setOriginalText( ElementText( valueNode ) );
! // value->setSourceRange( valueNode->getRange() );
ExpressionPtr initializer;
--- 383,387 ----
initializerNode->getProperty( ASTNodeProperties::valueProperty );
ExpressionPtr value = generateExpression( valueNode );
! setElementSource( *value, valueNode );
ExpressionPtr initializer;
***************
*** 395,402 ****
initializer.reset( new ConstructorInitializerExpression( value ) );
! // initializer->setSourceRange( initializerNode->getRange() );
! initializer->setOriginalText( ElementText( initializerNode ) );
return initializer;
}
--- 391,404 ----
initializer.reset( new ConstructorInitializerExpression( value ) );
! setElementSource( *initializer, initializerNode );
return initializer;
+ }
+
+
+ void
+ Generator::setElementSource( Element &element, const ASTNodePtr &node )
+ {
+ element.setSource( node );
}
Index: CodeModelElement.cpp
===================================================================
RCS file: /cvsroot/cpptool/rfta/src/rfta/CodeModelElement.cpp,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -d -r1.6 -r1.7
*** CodeModelElement.cpp 16 Mar 2003 13:15:22 -0000 1.6
--- CodeModelElement.cpp 16 Mar 2003 13:44:25 -0000 1.7
***************
*** 13,64 ****
! ElementText::ElementText()
! : hasNewText_( true )
{
}
! ElementText::ElementText( const ASTNodePtr &node )
! : node_( node )
! , hasNewText_( false )
{
}
- ElementText::ElementText( const std::string &text )
- : newText_( text )
- , hasNewText_( true )
- {
- }
-
- /*
void
! ElementText::setText( const std::string &newText )
! {
! hasNewText_ = true;
! newText_ = newText;
! }
! */
!
! const std::string
! ElementText::getOriginalText() const
! {
! if ( hasNewText_ )
! return newText_;
! return node_->getOriginalText();
! }
!
!
! const SourceRange
! ElementText::getOriginalSourceRange() const
{
- if ( node_ )
- return node_->getRange();
- return SourceRange();
}
bool
! ElementText::hasOriginalSourceRange() const
{
return node_;
--- 13,34 ----
! Element::Element()
{
}
! Element::~Element()
{
}
void
! Element::originalTextSet()
{
}
bool
! Element::isFromSource() const
{
return node_;
***************
*** 66,104 ****
! Element::Element()
{
}
! Element::~Element()
{
}
void
! Element::setOriginalText( const ElementText &text )
{
! text_ = text;
originalTextSet();
- }
-
- /*
- void
- Element::setText( const std::string &text )
- {
- text_.setText( text );
- }
- */
-
- const ElementText &
- Element::getText() const
- {
- return text_;
- }
-
-
- void
- Element::originalTextSet()
- {
}
--- 36,62 ----
! const std::string
! Element::getSourceText() const
{
+ if ( node_ )
+ return node_->getOriginalText();
+ return std::string();
}
! const SourceRange
! Element::getSourceRange() const
{
+ if ( node_ )
+ return node_->getRange();
+ return SourceRange();
}
void
! Element::setSource( const ASTNodePtr &node )
{
! node_ = node;
originalTextSet();
}
Index: CodeModelExpressions.cpp
===================================================================
RCS file: /cvsroot/cpptool/rfta/src/rfta/CodeModelExpressions.cpp,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -d -r1.6 -r1.7
*** CodeModelExpressions.cpp 16 Mar 2003 13:15:22 -0000 1.6
--- CodeModelExpressions.cpp 16 Mar 2003 13:44:25 -0000 1.7
***************
*** 24,31 ****
const std::string
! GenericExpression::getTextValue() const
{
if ( valueChange_.isUnmodified() )
! return getText().getOriginalText();
return value_;
}
--- 24,31 ----
const std::string
! GenericExpression::getValueText() const
{
if ( valueChange_.isUnmodified() )
! return getSourceText();
return value_;
}
***************
*** 38,42 ****
{
valueChange_.type_ = Change::replaced;
! valueChange_.oldRange_ = getText().getOriginalSourceRange();
}
value_ = value;
--- 38,42 ----
{
valueChange_.type_ = Change::replaced;
! valueChange_.oldRange_ = getSourceRange();
}
value_ = value;
Index: CodeModelGeneratorTest.cpp
===================================================================
RCS file: /cvsroot/cpptool/rfta/src/rfta/CodeModelGeneratorTest.cpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** CodeModelGeneratorTest.cpp 15 Mar 2003 16:57:39 -0000 1.2
--- CodeModelGeneratorTest.cpp 16 Mar 2003 13:44:25 -0000 1.3
***************
*** 62,66 ****
CodeModel::AssignInitializerExpression &initializer =
dynamic_cast<CodeModel::AssignInitializerExpression &>( *declarator.getInitializer() );
! RFTA_ASSERT_EQUAL( "3", initializer.getValue()->getText().getOriginalText() );
}
--- 62,66 ----
CodeModel::AssignInitializerExpression &initializer =
dynamic_cast<CodeModel::AssignInitializerExpression &>( *declarator.getInitializer() );
! RFTA_ASSERT_EQUAL( "3", initializer.getValue()->getSourceText() );
}
Index: CodeModelStatements.cpp
===================================================================
RCS file: /cvsroot/cpptool/rfta/src/rfta/CodeModelStatements.cpp,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -d -r1.7 -r1.8
*** CodeModelStatements.cpp 16 Mar 2003 11:49:51 -0000 1.7
--- CodeModelStatements.cpp 16 Mar 2003 13:44:25 -0000 1.8
***************
*** 25,29 ****
StatementChange &change = statements_.at( getActualIndex( index ) );
change.type_ = Change::removed;
! change.oldRange_ = change.statement_->getText().getOriginalSourceRange();
change.statement_.reset();
}
--- 25,29 ----
StatementChange &change = statements_.at( getActualIndex( index ) );
change.type_ = Change::removed;
! change.oldRange_ = change.statement_->getSourceRange();
change.statement_.reset();
}
***************
*** 52,56 ****
StatementChange &change = statements_.at( getActualIndex( index ) );
change.type_ = Change::replaced;
! change.oldRange_ = change.statement_->getText().getOriginalSourceRange();
change.statement_ = statement;
}
--- 52,56 ----
StatementChange &change = statements_.at( getActualIndex( index ) );
change.type_ = Change::replaced;
! change.oldRange_ = change.statement_->getSourceRange();
change.statement_ = statement;
}
***************
*** 180,184 ****
{
thenStatementChange_.type_ = Change::replaced;
! thenStatementChange_.oldRange_ = thenStatement_->getText().getOriginalSourceRange();
thenStatement_ = statement;
}
--- 180,184 ----
{
thenStatementChange_.type_ = Change::replaced;
! thenStatementChange_.oldRange_ = thenStatement_->getSourceRange();
thenStatement_ = statement;
}
***************
*** 212,216 ****
{
elseStatementChange_.type_ = Change::replaced;
! elseStatementChange_.oldRange_ = elseStatement_->getText().getOriginalSourceRange();
}
else
--- 212,216 ----
{
elseStatementChange_.type_ = Change::replaced;
! elseStatementChange_.oldRange_ = elseStatement_->getSourceRange();
}
else
***************
*** 530,534 ****
{
change_.type_ = Change::replaced;
! change_.oldRange_ = value_->getText().getOriginalSourceRange();
}
else
--- 530,534 ----
{
change_.type_ = Change::replaced;
! change_.oldRange_ = value_->getSourceRange();
}
else
Index: CodeRewriter.cpp
===================================================================
RCS file: /cvsroot/cpptool/rfta/src/rfta/CodeRewriter.cpp,v
retrieving revision 1.20
retrieving revision 1.21
diff -C2 -d -r1.20 -r1.21
*** CodeRewriter.cpp 16 Mar 2003 13:15:22 -0000 1.20
--- CodeRewriter.cpp 16 Mar 2003 13:44:25 -0000 1.21
***************
*** 167,173 ****
indentManager_.enterNewCompoundStatement();
}
! else if ( statement.getText().hasOriginalSourceRange() )
{
! nextStatementInsertionPos = statement.getText().getOriginalSourceRange().getStartIndex() + 1;
indentManager_.enterExistingCompoundStatement( nextStatementInsertionPos - 1 );
}
--- 167,173 ----
indentManager_.enterNewCompoundStatement();
}
! else if ( statement.isFromSource() )
{
! nextStatementInsertionPos = statement.getSourceRange().getStartIndex() + 1;
indentManager_.enterExistingCompoundStatement( nextStatementInsertionPos - 1 );
}
***************
*** 185,191 ****
if ( change.type_ == Change::unmodified )
! nextStatementInsertionPos = change.statement_->getText().getOriginalSourceRange().getEndIndex();
else if ( change.type_ == Change::replaced )
! deleteText( change.statement_->getText().getOriginalSourceRange() );
ModeModifier mode( mode_, change.type_ == Change::unmodified ? updating : inserting );
--- 185,191 ----
if ( change.type_ == Change::unmodified )
! nextStatementInsertionPos = change.statement_->getSourceRange().getEndIndex();
else if ( change.type_ == Change::replaced )
! deleteText( change.statement_->getSourceRange() );
ModeModifier mode( mode_, change.type_ == Change::unmodified ? updating : inserting );
***************
*** 297,302 ****
indentManager_.enterNewIfStatement();
}
! else if ( statement.getText().hasOriginalSourceRange() )
! indentManager_.enterExistingIfStatement( statement.getText().getOriginalSourceRange().getStartIndex() );
Change thenChange = statement.getThenStatementChange();
--- 297,302 ----
indentManager_.enterNewIfStatement();
}
! else if ( statement.isFromSource() )
! indentManager_.enterExistingIfStatement( statement.getSourceRange().getStartIndex() );
Change thenChange = statement.getThenStatementChange();
***************
*** 328,333 ****
startIndex = thenChange.oldRange_.getEndIndex();
else
! startIndex = statement.getThenStatement()->getText().getOriginalSourceRange().getEndIndex();
! int endIndex = statement.getText().getOriginalSourceRange().getEndIndex();
deleteText( SourceRange( startIndex, endIndex - startIndex ) );
}
--- 328,333 ----
startIndex = thenChange.oldRange_.getEndIndex();
else
! startIndex = statement.getThenStatement()->getSourceRange().getEndIndex();
! int endIndex = statement.getSourceRange().getEndIndex();
deleteText( SourceRange( startIndex, endIndex - startIndex ) );
}
***************
*** 342,346 ****
currentInsertionPos_ = thenChange.oldRange_.getEndIndex();
else
! currentInsertionPos_ = statement.getThenStatement()->getText().getOriginalSourceRange().getEndIndex();
}
}
--- 342,346 ----
currentInsertionPos_ = thenChange.oldRange_.getEndIndex();
else
! currentInsertionPos_ = statement.getThenStatement()->getSourceRange().getEndIndex();
}
}
***************
*** 398,402 ****
CodeRewriter::visit( ReturnStatement &statement )
{
- const ElementText &text = statement.getText();
if ( isUpdating() )
{
--- 398,401 ----
***************
*** 411,415 ****
if ( mode_ == inserting )
! currentInsertionPos_ = statement.getText().getOriginalSourceRange().getEndIndex() -1;
statement.getValue()->accept( *this );
--- 410,414 ----
if ( mode_ == inserting )
! currentInsertionPos_ = statement.getSourceRange().getEndIndex() -1;
statement.getValue()->accept( *this );
***************
*** 491,499 ****
{
if ( isInserting() )
! insertText( expression.getTextValue() );
else
{
! replaceText( expression.getText().getOriginalSourceRange(),
! expression.getTextValue() );
}
}
--- 490,498 ----
{
if ( isInserting() )
! insertText( expression.getValueText() );
else
{
! replaceText( expression.getSourceRange(),
! expression.getValueText() );
}
}
|