From: <bl...@us...> - 2003-04-05 18:29:05
|
Update of /cvsroot/cpptool/rfta/src/rfta In directory sc8-pr-cvs1:/tmp/cvs-serv28468/src/rfta Modified Files: CodeModelStatements.cpp CodeRewriter.cpp CodeRewriter.h CodeWriterTestBase.cpp Log Message: * added working python binding for code model statement Index: CodeModelStatements.cpp =================================================================== RCS file: /cvsroot/cpptool/rfta/src/rfta/CodeModelStatements.cpp,v retrieving revision 1.16 retrieving revision 1.17 diff -C2 -d -r1.16 -r1.17 *** CodeModelStatements.cpp 18 Mar 2003 22:37:47 -0000 1.16 --- CodeModelStatements.cpp 5 Apr 2003 18:29:01 -0000 1.17 *************** *** 102,106 **** CompoundStatement::accept( StatementVisitor &visitor ) { ! visitor.visit( *this ); } --- 102,106 ---- CompoundStatement::accept( StatementVisitor &visitor ) { ! visitor.visit( makeSharedFromThis(this) ); } *************** *** 158,168 **** void - ConditionStatement::accept( StatementVisitor &visitor ) - { - visitor.visit( *this ); - } - - - void ConditionStatement::setElementIsFromSource() { --- 158,161 ---- *************** *** 242,246 **** IfStatement::accept( StatementVisitor &visitor ) { ! visitor.visit( *this ); } --- 235,239 ---- IfStatement::accept( StatementVisitor &visitor ) { ! visitor.visit( makeSharedFromThis(this) ); } *************** *** 286,297 **** void - IterationStatement::accept( StatementVisitor &visitor ) - { - ConditionStatement::accept( visitor ); - visitor.visit( *this ); - } - - - void IterationStatement::setElementIsFromSource() { --- 279,282 ---- *************** *** 312,317 **** WhileStatement::accept( StatementVisitor &visitor ) { ! IterationStatement::accept( visitor ); ! visitor.visit( *this ); } --- 297,301 ---- WhileStatement::accept( StatementVisitor &visitor ) { ! visitor.visit( makeSharedFromThis(this) ); } *************** *** 328,333 **** DoStatement::accept( StatementVisitor &visitor ) { ! IterationStatement::accept( visitor ); ! visitor.visit( *this ); } --- 312,316 ---- DoStatement::accept( StatementVisitor &visitor ) { ! visitor.visit( makeSharedFromThis(this) ); } *************** *** 390,395 **** ForStatement::accept( StatementVisitor &visitor ) { ! IterationStatement::accept( visitor ); ! visitor.visit( *this ); } --- 373,377 ---- ForStatement::accept( StatementVisitor &visitor ) { ! visitor.visit( makeSharedFromThis(this) ); } *************** *** 421,425 **** void ! SwitchStatement::setStatement( const CompoundStatementPtr &statements ) { statementsTracker_.setElement( statements ); --- 403,407 ---- void ! SwitchStatement::setStatements( const CompoundStatementPtr &statements ) { statementsTracker_.setElement( statements ); *************** *** 430,435 **** SwitchStatement::accept( StatementVisitor &visitor ) { ! ConditionStatement::accept( visitor ); ! visitor.visit( *this ); } --- 412,416 ---- SwitchStatement::accept( StatementVisitor &visitor ) { ! visitor.visit( makeSharedFromThis(this) ); } *************** *** 444,455 **** - void - SwitchLabelStatement::accept( StatementVisitor &visitor ) - { - visitor.visit( *this ); - } - - - CaseStatement::CaseStatement( const ExpressionPtr &conditionValue ) : conditionValueTracker_( conditionValue ) --- 425,428 ---- *************** *** 482,487 **** CaseStatement::accept( StatementVisitor &visitor ) { ! SwitchLabelStatement::accept( visitor ); ! visitor.visit( *this ); } --- 455,459 ---- CaseStatement::accept( StatementVisitor &visitor ) { ! visitor.visit( makeSharedFromThis(this) ); } *************** *** 498,511 **** DefaultStatement::accept( StatementVisitor &visitor ) { ! SwitchLabelStatement::accept( visitor ); ! visitor.visit( *this ); ! } ! ! ! ! void ! FlowControlStatement::accept( StatementVisitor &visitor ) ! { ! visitor.visit( *this ); } --- 470,474 ---- DefaultStatement::accept( StatementVisitor &visitor ) { ! visitor.visit( makeSharedFromThis(this) ); } *************** *** 515,520 **** BreakStatement::accept( StatementVisitor &visitor ) { ! FlowControlStatement::accept( visitor ); ! visitor.visit( *this ); } --- 478,482 ---- BreakStatement::accept( StatementVisitor &visitor ) { ! visitor.visit( makeSharedFromThis(this) ); } *************** *** 524,529 **** ContinueStatement::accept( StatementVisitor &visitor ) { ! FlowControlStatement::accept( visitor ); ! visitor.visit( *this ); } --- 486,490 ---- ContinueStatement::accept( StatementVisitor &visitor ) { ! visitor.visit( makeSharedFromThis(this) ); } *************** *** 572,577 **** ReturnStatement::accept( StatementVisitor &visitor ) { ! FlowControlStatement::accept( visitor ); ! visitor.visit( *this ); } --- 533,537 ---- ReturnStatement::accept( StatementVisitor &visitor ) { ! visitor.visit( makeSharedFromThis(this) ); } *************** *** 615,619 **** ExpressionStatement::accept( StatementVisitor &visitor ) { ! visitor.visit( *this ); } --- 575,579 ---- ExpressionStatement::accept( StatementVisitor &visitor ) { ! visitor.visit( makeSharedFromThis(this) ); } *************** *** 651,655 **** DeclarationStatement::accept( StatementVisitor &visitor ) { ! visitor.visit( *this ); } --- 611,615 ---- DeclarationStatement::accept( StatementVisitor &visitor ) { ! visitor.visit( makeSharedFromThis(this) ); } *************** *** 659,663 **** NullStatement::accept( StatementVisitor &visitor ) { ! visitor.visit( *this ); } --- 619,623 ---- NullStatement::accept( StatementVisitor &visitor ) { ! visitor.visit( makeSharedFromThis(this) ); } *************** *** 719,723 **** LabelStatement::accept( StatementVisitor &visitor ) { ! visitor.visit( *this ); } --- 679,683 ---- LabelStatement::accept( StatementVisitor &visitor ) { ! visitor.visit( makeSharedFromThis(this) ); } *************** *** 732,737 **** GotoStatement::accept( StatementVisitor &visitor ) { ! FlowControlStatement::accept( visitor ); ! visitor.visit( *this ); } --- 692,696 ---- GotoStatement::accept( StatementVisitor &visitor ) { ! visitor.visit( makeSharedFromThis(this) ); } Index: CodeRewriter.cpp =================================================================== RCS file: /cvsroot/cpptool/rfta/src/rfta/CodeRewriter.cpp,v retrieving revision 1.33 retrieving revision 1.34 diff -C2 -d -r1.33 -r1.34 *** CodeRewriter.cpp 24 Mar 2003 07:57:51 -0000 1.33 --- CodeRewriter.cpp 5 Apr 2003 18:29:01 -0000 1.34 *************** *** 31,38 **** void ! CodeRewriter::rewrite( Statement &statement, TextDocument &document ) { ! statement.accept( *this ); transforms_.apply( document ); --- 31,38 ---- void ! CodeRewriter::rewrite( const StatementPtr &statement, TextDocument &document ) { ! statement->accept( *this ); transforms_.apply( document ); *************** *** 242,246 **** void ! CodeRewriter::visit( BreakStatement &statement ) { if ( isInserting() ) --- 242,246 ---- void ! CodeRewriter::visit( const BreakStatementPtr &statement ) { if ( isInserting() ) *************** *** 254,258 **** void ! CodeRewriter::visit( CaseStatement &statement ) { if ( isInserting() ) --- 254,258 ---- void ! CodeRewriter::visit( const CaseStatementPtr &statement ) { if ( isInserting() ) *************** *** 262,267 **** } ! handleMandatoryChange( statement.getConditionChange(), ! *statement.getConditionValue() ); if ( isInserting() ) --- 262,267 ---- } ! handleMandatoryChange( statement->getConditionChange(), ! *statement->getConditionValue() ); if ( isInserting() ) *************** *** 271,275 **** void ! CodeRewriter::visit( CompoundStatement &statement ) { IndentLevelManager::IndentRestorer restorer( indentManager_ ); --- 271,275 ---- void ! CodeRewriter::visit( const CompoundStatementPtr &statement ) { IndentLevelManager::IndentRestorer restorer( indentManager_ ); *************** *** 281,293 **** indentManager_.enterNewCompoundStatement(); } ! else if ( statement.isFromSource() ) { ! nextStatementInsertionPos = statement.getSourceRange().getStartIndex() + 1; indentManager_.enterExistingCompoundStatement( nextStatementInsertionPos - 1 ); } ! for ( int index =0; index < statement.getChangeCount(); ++index ) { ! CompoundStatement::StatementChange change = statement.getChangeAt( index ); if ( change.type_ == Change::removed ) { --- 281,293 ---- indentManager_.enterNewCompoundStatement(); } ! else if ( statement->isFromSource() ) { ! nextStatementInsertionPos = statement->getSourceRange().getStartIndex() + 1; indentManager_.enterExistingCompoundStatement( nextStatementInsertionPos - 1 ); } ! for ( int index =0; index < statement->getChangeCount(); ++index ) { ! CompoundStatement::StatementChange change = statement->getChangeAt( index ); if ( change.type_ == Change::removed ) { *************** *** 316,326 **** void ! CodeRewriter::visit( ConditionStatement &statement ) ! { ! } ! ! ! void ! CodeRewriter::visit( ContinueStatement &statement ) { if ( isInserting() ) --- 316,320 ---- void ! CodeRewriter::visit( const ContinueStatementPtr &statement ) { if ( isInserting() ) *************** *** 334,338 **** void ! CodeRewriter::visit( DefaultStatement &statement ) { if ( isInserting() ) --- 328,332 ---- void ! CodeRewriter::visit( const DefaultStatementPtr &statement ) { if ( isInserting() ) *************** *** 346,354 **** void ! CodeRewriter::visit( DeclarationStatement &statement ) { if ( isInserting() ) { ! DeclaratorExpressionPtr declarators = statement.getDeclaration(); beginInsertNewStatement(); --- 340,348 ---- void ! CodeRewriter::visit( const DeclarationStatementPtr &statement ) { if ( isInserting() ) { ! DeclaratorExpressionPtr declarators = statement->getDeclaration(); beginInsertNewStatement(); *************** *** 366,373 **** void ! CodeRewriter::visit( DoStatement &statement ) { IndentLevelManager::IndentRestorer restorer( indentManager_ ); ! StatementPtr iteratedStatement = statement.getIteratedStatement(); if ( isInserting() ) { --- 360,367 ---- void ! CodeRewriter::visit( const DoStatementPtr &statement ) { IndentLevelManager::IndentRestorer restorer( indentManager_ ); ! StatementPtr iteratedStatement = statement->getIteratedStatement(); if ( isInserting() ) { *************** *** 378,384 **** else indentManager_.enterExistingDoStatement( iteratedStatement, ! statement.getSourceRange().getStartIndex() ); ! handleMandatoryChange( statement.getIteratedStatementChange(), *iteratedStatement, statementDelete ); --- 372,378 ---- else indentManager_.enterExistingDoStatement( iteratedStatement, ! statement->getSourceRange().getStartIndex() ); ! handleMandatoryChange( statement->getIteratedStatementChange(), *iteratedStatement, statementDelete ); *************** *** 392,397 **** } ! handleMandatoryChange( statement.getConditionChange(), ! *statement.getCondition(), bracedExpressionDelete ); --- 386,391 ---- } ! handleMandatoryChange( statement->getConditionChange(), ! *statement->getCondition(), bracedExpressionDelete ); *************** *** 405,415 **** void ! CodeRewriter::visit( ExpressionStatement &statement ) { if ( isInserting() ) beginInsertNewStatement(); ! handleMandatoryChange( statement.getExpressionChange(), ! *statement.getExpression() ); if ( isInserting() ) --- 399,409 ---- void ! CodeRewriter::visit( const ExpressionStatementPtr &statement ) { if ( isInserting() ) beginInsertNewStatement(); ! handleMandatoryChange( statement->getExpressionChange(), ! *statement->getExpression() ); if ( isInserting() ) *************** *** 419,429 **** void ! CodeRewriter::visit( FlowControlStatement &statement ) ! { ! } ! ! ! void ! CodeRewriter::visit( ForStatement &statement ) { if ( isInserting() ) --- 413,417 ---- void ! CodeRewriter::visit( const ForStatementPtr &statement ) { if ( isInserting() ) *************** *** 433,438 **** } ! handleMandatoryChange( statement.getDeclarationChange(), ! *statement.getDeclaration(), trailingExpressionDelete ); --- 421,426 ---- } ! handleMandatoryChange( statement->getDeclarationChange(), ! *statement->getDeclaration(), trailingExpressionDelete ); *************** *** 440,445 **** insertText( ";" ); ! handleMandatoryChange( statement.getConditionChange(), ! *statement.getCondition(), trailingExpressionDelete ); --- 428,433 ---- insertText( ";" ); ! handleMandatoryChange( statement->getConditionChange(), ! *statement->getCondition(), trailingExpressionDelete ); *************** *** 447,456 **** insertText( ";" ); ! handleMandatoryChange( statement.getIterationChange(), ! *statement.getIteration(), bracedExpressionDelete ); IndentLevelManager::IndentRestorer restorer( indentManager_ ); ! StatementPtr iteratedStatement = statement.getIteratedStatement(); if ( isInserting() ) { --- 435,444 ---- insertText( ";" ); ! handleMandatoryChange( statement->getIterationChange(), ! *statement->getIteration(), bracedExpressionDelete ); IndentLevelManager::IndentRestorer restorer( indentManager_ ); ! StatementPtr iteratedStatement = statement->getIteratedStatement(); if ( isInserting() ) { *************** *** 460,466 **** else indentManager_.enterExistingForStatement( iteratedStatement, ! statement.getSourceRange().getStartIndex() ); ! handleMandatoryChange( statement.getIteratedStatementChange(), *iteratedStatement, statementDelete ); --- 448,454 ---- else indentManager_.enterExistingForStatement( iteratedStatement, ! statement->getSourceRange().getStartIndex() ); ! handleMandatoryChange( statement->getIteratedStatementChange(), *iteratedStatement, statementDelete ); *************** *** 469,483 **** void ! CodeRewriter::visit( GotoStatement &statement ) { if ( isInserting() ) { beginInsertNewStatement(); ! insertText( "goto " + statement.getLabel()->getLabelName() ); } /* // Need to add visitor for Label... ! // insertText( "goto " + statement.getLabel()->getLabelName() ); ! handleMandatoryChange( statement.getLabelChange(), ! *statement.getLabel(), trailingExpressionDelete ); */ --- 457,471 ---- void ! CodeRewriter::visit( const GotoStatementPtr &statement ) { if ( isInserting() ) { beginInsertNewStatement(); ! insertText( "goto " + statement->getLabel()->getLabelName() ); } /* // Need to add visitor for Label... ! // insertText( "goto " + statement->getLabel()->getLabelName() ); ! handleMandatoryChange( statement->getLabelChange(), ! *statement->getLabel(), trailingExpressionDelete ); */ *************** *** 488,492 **** void ! CodeRewriter::visit( IfStatement &statement ) { if ( isInserting() ) --- 476,480 ---- void ! CodeRewriter::visit( const IfStatementPtr &statement ) { if ( isInserting() ) *************** *** 495,500 **** insertText( "if ( " ); } ! handleMandatoryChange( statement.getConditionChange(), ! *statement.getCondition() ); IndentLevelManager::IndentRestorer restorer( indentManager_ ); --- 483,488 ---- insertText( "if ( " ); } ! handleMandatoryChange( statement->getConditionChange(), ! *statement->getCondition() ); IndentLevelManager::IndentRestorer restorer( indentManager_ ); *************** *** 504,516 **** indentManager_.enterNewIfStatement(); } ! else if ( statement.isFromSource() ) ! indentManager_.enterExistingIfStatement( statement.getSourceRange().getStartIndex() ); ! Change thenChange = statement.getThenStatementChange(); handleMandatoryChange( thenChange, ! *statement.getThenStatement(), statementDelete ); ! Change elseChange = statement.getElseStatementChange(); if ( isUpdating() && !elseChange.isUnmodified() ) { --- 492,504 ---- indentManager_.enterNewIfStatement(); } ! else if ( statement->isFromSource() ) ! indentManager_.enterExistingIfStatement( statement->getSourceRange().getStartIndex() ); ! Change thenChange = statement->getThenStatementChange(); handleMandatoryChange( thenChange, ! *statement->getThenStatement(), statementDelete ); ! Change elseChange = statement->getElseStatementChange(); if ( isUpdating() && !elseChange.isUnmodified() ) { *************** *** 521,526 **** startIndex = thenChange.oldRange_.getEndIndex(); else ! startIndex = statement.getThenStatement()->getSourceRange().getEndIndex(); ! int endIndex = statement.getSourceRange().getEndIndex(); deleteText( SourceRange( startIndex, endIndex - startIndex ) ); } --- 509,514 ---- startIndex = thenChange.oldRange_.getEndIndex(); else ! startIndex = statement->getThenStatement()->getSourceRange().getEndIndex(); ! int endIndex = statement->getSourceRange().getEndIndex(); deleteText( SourceRange( startIndex, endIndex - startIndex ) ); } *************** *** 535,543 **** currentInsertionPos_ = thenChange.oldRange_.getEndIndex(); else ! currentInsertionPos_ = statement.getThenStatement()->getSourceRange().getEndIndex(); } } ! if ( statement.hasElseStatement() ) { restorer.restoreIndentLevel(); --- 523,531 ---- currentInsertionPos_ = thenChange.oldRange_.getEndIndex(); else ! currentInsertionPos_ = statement->getThenStatement()->getSourceRange().getEndIndex(); } } ! if ( statement->hasElseStatement() ) { restorer.restoreIndentLevel(); *************** *** 559,563 **** ModeModifier mode( mode_, elseMode ); ! statement.getElseStatement()->accept( *this ); } } --- 547,551 ---- ModeModifier mode( mode_, elseMode ); ! statement->getElseStatement()->accept( *this ); } } *************** *** 565,582 **** void ! CodeRewriter::visit( IterationStatement &statement ) ! { ! } ! ! ! void ! CodeRewriter::visit( LabelStatement &statement ) { ! insertText( "\n" + statement.getLabel()->getLabelName() + ":" ); } void ! CodeRewriter::visit( NullStatement &statement ) { if ( isInserting() ) --- 553,564 ---- void ! CodeRewriter::visit( const LabelStatementPtr &statement ) { ! insertText( "\n" + statement->getLabel()->getLabelName() + ":" ); } void ! CodeRewriter::visit( const NullStatementPtr &statement ) { if ( isInserting() ) *************** *** 589,593 **** void ! CodeRewriter::visit( ReturnStatement &statement ) { const std::string keyWord( "return" ); --- 571,575 ---- void ! CodeRewriter::visit( const ReturnStatementPtr &statement ) { const std::string keyWord( "return" ); *************** *** 598,605 **** } ! handleOptionalChange( statement.getValueChange(), ! statement.getValue(), " ", ! statement.getSourceRange().getStartIndex() + keyWord.length(), trailingExpressionDelete ); --- 580,587 ---- } ! handleOptionalChange( statement->getValueChange(), ! statement->getValue(), " ", ! statement->getSourceRange().getStartIndex() + keyWord.length(), trailingExpressionDelete ); *************** *** 610,631 **** void ! CodeRewriter::visit( SwitchLabelStatement &statement ) ! { ! } ! ! ! void ! CodeRewriter::visit( SwitchStatement &statement ) { beginInsertNewStatement(); insertText( "switch ( " ); ! statement.getCondition()->accept( *this ); insertText( " )" ); ! statement.getStatements()->accept( *this ); } void ! CodeRewriter::visit( WhileStatement &statement ) { if ( isInserting() ) --- 592,607 ---- void ! CodeRewriter::visit( const SwitchStatementPtr &statement ) { beginInsertNewStatement(); insertText( "switch ( " ); ! statement->getCondition()->accept( *this ); insertText( " )" ); ! statement->getStatements()->accept( *this ); } void ! CodeRewriter::visit( const WhileStatementPtr &statement ) { if ( isInserting() ) *************** *** 635,644 **** } ! handleMandatoryChange( statement.getConditionChange(), ! *statement.getCondition(), bracedExpressionDelete ); IndentLevelManager::IndentRestorer restorer( indentManager_ ); ! StatementPtr iteratedStatement = statement.getIteratedStatement(); if ( isInserting() ) { --- 611,620 ---- } ! handleMandatoryChange( statement->getConditionChange(), ! *statement->getCondition(), bracedExpressionDelete ); IndentLevelManager::IndentRestorer restorer( indentManager_ ); ! StatementPtr iteratedStatement = statement->getIteratedStatement(); if ( isInserting() ) { *************** *** 648,654 **** else indentManager_.enterExistingWhileStatement( iteratedStatement, ! statement.getSourceRange().getStartIndex() ); ! handleMandatoryChange( statement.getIteratedStatementChange(), *iteratedStatement, statementDelete ); --- 624,630 ---- else indentManager_.enterExistingWhileStatement( iteratedStatement, ! statement->getSourceRange().getStartIndex() ); ! handleMandatoryChange( statement->getIteratedStatementChange(), *iteratedStatement, statementDelete ); Index: CodeRewriter.h =================================================================== RCS file: /cvsroot/cpptool/rfta/src/rfta/CodeRewriter.h,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** CodeRewriter.h 16 Mar 2003 20:32:43 -0000 1.13 --- CodeRewriter.h 5 Apr 2003 18:29:01 -0000 1.14 *************** *** 30,58 **** virtual ~CodeRewriter(); ! void rewrite( Statement &statement, TextDocument &document ); private: // overridden from StatementVisitor ! void visit( BreakStatement &statement ); ! void visit( CaseStatement &statement ); ! void visit( CompoundStatement &statement ); ! void visit( ConditionStatement &statement ); ! void visit( ContinueStatement &statement ); ! void visit( DefaultStatement &statement ); ! void visit( DeclarationStatement &statement ); ! void visit( DoStatement &statement ); ! void visit( ExpressionStatement &statement ); ! void visit( FlowControlStatement &statement ); ! void visit( ForStatement &statement ); ! void visit( GotoStatement &statement ); ! void visit( IfStatement &statement ); ! void visit( IterationStatement &statement ); ! void visit( LabelStatement &statement ); ! void visit( NullStatement &statement ); ! void visit( ReturnStatement &statement ); ! void visit( SwitchLabelStatement &statement ); ! void visit( SwitchStatement &statement ); ! void visit( WhileStatement &statement ); // overridden from ExpressionVisitor --- 30,54 ---- virtual ~CodeRewriter(); ! void rewrite( const StatementPtr &statement, TextDocument &document ); private: // overridden from StatementVisitor ! void visit( const BreakStatementPtr &statement ); ! void visit( const CaseStatementPtr &statement ); ! void visit( const CompoundStatementPtr &statement ); ! void visit( const ContinueStatementPtr &statement ); ! void visit( const DefaultStatementPtr &statement ); ! void visit( const DeclarationStatementPtr &statement ); ! void visit( const DoStatementPtr &statement ); ! void visit( const ExpressionStatementPtr &statement ); ! void visit( const ForStatementPtr &statement ); ! void visit( const GotoStatementPtr &statement ); ! void visit( const IfStatementPtr &statement ); ! void visit( const LabelStatementPtr &statement ); ! void visit( const NullStatementPtr &statement ); ! void visit( const ReturnStatementPtr &statement ); ! void visit( const SwitchStatementPtr &statement ); ! void visit( const WhileStatementPtr &statement ); // overridden from ExpressionVisitor Index: CodeWriterTestBase.cpp =================================================================== RCS file: /cvsroot/cpptool/rfta/src/rfta/CodeWriterTestBase.cpp,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** CodeWriterTestBase.cpp 24 Mar 2003 07:57:51 -0000 1.4 --- CodeWriterTestBase.cpp 5 Apr 2003 18:29:01 -0000 1.5 *************** *** 16,20 **** { SourceBasedTestBase::setUp(); ! compound_.reset(); document_.reset(); writer_.reset(); --- 16,20 ---- { SourceBasedTestBase::setUp(); ! compound_ = 0; document_.reset(); writer_.reset(); *************** *** 27,31 **** writer_.reset(); document_.reset(); ! compound_.reset(); SourceBasedTestBase::tearDown(); } --- 27,31 ---- writer_.reset(); document_.reset(); ! compound_ = 0; SourceBasedTestBase::tearDown(); } *************** *** 49,53 **** { writer_.reset( new CodeModel::CodeRewriter( source_, 2 ) ); ! writer_->rewrite( *compound_, *document_ ); } --- 49,53 ---- { writer_.reset( new CodeModel::CodeRewriter( source_, 2 ) ); ! writer_->rewrite( compound_, *document_ ); } |