Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/AST/Print.cpp

    rc86b08d r835d6e8  
    208208        }
    209209
    210     void print( const ast::WaitStmt * node ) {
    211                 if ( node->timeout_time ) {
    212                         os << indent-1 << "timeout of:" << endl;
    213                         node->timeout_time->accept( *this );
    214 
    215                         if ( node->timeout_stmt ) {
    216                                 os << indent-1 << "... with statment:" << endl;
    217                                 node->timeout_stmt->accept( *this );
    218                         }
    219 
    220                         if ( node->timeout_cond ) {
    221                                 os << indent-1 << "... with condition:" << endl;
    222                                 node->timeout_cond->accept( *this );
    223                         }
    224                 }
    225 
    226                 if ( node->else_stmt ) {
    227                         os << indent-1 << "else:" << endl;
    228                         node->else_stmt->accept( *this );
    229 
    230                         if ( node->else_cond ) {
    231                                 os << indent-1 << "... with condition:" << endl;
    232                                 node->else_cond->accept( *this );
    233                         }
    234                 }
    235         }
    236 
    237210        void preprint( const ast::NamedTypeDecl * node ) {
    238211                if ( ! node->name.empty() ) {
     
    766739        virtual const ast::Stmt * visit( const ast::SuspendStmt * node ) override final {
    767740                os << "Suspend Statement";
    768                 switch (node->type) {
    769                         case ast::SuspendStmt::None     : os << " with implicit target"; break;
    770                         case ast::SuspendStmt::Generator: os << " for generator"; break;
    771                         case ast::SuspendStmt::Coroutine: os << " for coroutine"; break;
     741                switch (node->kind) {
     742                case ast::SuspendStmt::None     : os << " with implicit target"; break;
     743                case ast::SuspendStmt::Generator: os << " for generator"; break;
     744                case ast::SuspendStmt::Coroutine: os << " for coroutine"; break;
    772745                }
    773746                os << endl;
     
    779752                }
    780753                ++indent;
    781 
    782                 return node;
    783         }
    784 
    785         virtual const ast::WhenClause * visit( const ast::WhenClause * node ) override final {
    786                 os << indent-1 << "target: ";
    787                 safe_print( node->target );
    788 
    789                 if ( node->stmt ) {
    790                         os << indent-1 << "... with statment:" << endl;
    791                         node->stmt->accept( *this );
    792                 }
    793 
    794                 if ( node->when_cond ) {
    795                         os << indent-1 << "... with when condition:" << endl;
    796                         node->when_cond->accept( *this );
    797                 }
    798754
    799755                return node;
     
    837793        virtual const ast::WaitForClause * visit( const ast::WaitForClause * node ) override final {
    838794                os << indent-1 << "target function: ";
    839                 safe_print( node->target );
     795                safe_print( node->target_func );
    840796
    841797                if ( !node->target_args.empty() ) {
     
    851807                }
    852808
    853                 if ( node->when_cond ) {
     809                if ( node->cond ) {
    854810                        os << indent-1 << "... with condition:" << endl;
    855                         node->when_cond->accept( *this );
    856                 }
    857 
    858                 return node;
    859         }
    860 
    861     virtual const ast::Stmt * visit( const ast::WaitUntilStmt * node ) override final {
    862                 os << "Waituntil Statement" << endl;
    863                 indent += 2;
    864                 for( const auto & clause : node->clauses ) {
    865                         clause->accept( *this );
    866                 }
    867         print(node);    // calls print( const ast::WaitStmt * node )
     811                        node->cond->accept( *this );
     812                }
     813
    868814                return node;
    869815        }
Note: See TracChangeset for help on using the changeset viewer.