Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/SynTree/Statement.cc

    r145f1fc r7f5566b  
    99// Author           : Richard C. Bilson
    1010// Created On       : Mon May 18 07:44:20 2015
    11 // Last Modified By : Rob Schluntz
    12 // Last Modified On : Wed Jul 15 14:57:40 2015
    13 // Update Count     : 27
     11// Last Modified By : Peter A. Buhr
     12// Last Modified On : Sat Jul 25 12:19:50 2015
     13// Update Count     : 53
    1414//
    1515
     
    4242        expr->print( os, indent + 2 );
    4343}
     44
     45
     46AsmStmt::AsmStmt( std::list<Label> labels, bool voltile, ConstantExpr *instruction, std::list<Expression *> output, std::list<Expression *> input, std::list<ConstantExpr *> clobber, std::list<Label> gotolabels ) : Statement( labels ), voltile( voltile ), instruction( instruction ), output( output ), input( input ), clobber( clobber ), gotolabels( gotolabels ) {}
     47
     48AsmStmt::~AsmStmt() {
     49        delete instruction;
     50        deleteAll( output );
     51        deleteAll( input );
     52        deleteAll( clobber );
     53}
     54
     55void AsmStmt::print( std::ostream &os, int indent ) const {
     56        os << "Assembler Statement:" << endl;
     57        os << std::string( indent, ' ' ) << "instruction: " << endl << std::string( indent, ' ' );
     58        instruction->print( os, indent + 2 );
     59        if ( ! output.empty() ) {
     60                os << endl << std::string( indent, ' ' ) << "output: " << endl;
     61                printAll( output, os, indent + 2 );
     62        } // if
     63        if ( ! input.empty() ) {
     64                os << std::string( indent, ' ' ) << "input: " << endl << std::string( indent, ' ' );
     65                printAll( input, os, indent + 2 );
     66        } // if
     67        if ( ! clobber.empty() ) {
     68                os << std::string( indent, ' ' ) << "clobber: " << endl;
     69                printAll( clobber, os, indent + 2 );
     70        } // if
     71}
     72
    4473
    4574const char *BranchStmt::brType[] = { "Goto", "Break", "Continue" };
Note: See TracChangeset for help on using the changeset viewer.