Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/AST/Print.cpp

    rf6e6a55 r4ec9513  
    760760                indent += 2;
    761761                for( const auto & clause : node->clauses ) {
    762                         clause->accept( *this );
    763                 }
    764 
    765                 if ( node->timeout_time ) {
     762                        os << indent-1 << "target function: ";
     763                        safe_print( clause.target.func );
     764
     765                        if ( ! clause.target.args.empty() ) {
     766                                os << endl << indent-1 << "... with arguments:" << endl;
     767                                for( const ast::Expr * arg : clause.target.args ) {
     768                                        arg->accept( *this );
     769                                }
     770                        }
     771
     772                        if ( clause.stmt ) {
     773                                os << indent-1 << "... with statment:" << endl;
     774                                clause.stmt->accept( *this );
     775                        }
     776
     777                        if ( clause.cond ) {
     778                                os << indent-1 << "... with condition:" << endl;
     779                                clause.cond->accept( *this );
     780                        }
     781                }
     782
     783                if ( node->timeout.time ) {
    766784                        os << indent-1 << "timeout of:" << endl;
    767                         node->timeout_time->accept( *this );
    768 
    769                         if ( node->timeout_stmt ) {
     785                        node->timeout.time->accept( *this );
     786
     787                        if ( node->timeout.stmt ) {
    770788                                os << indent-1 << "... with statment:" << endl;
    771                                 node->timeout_stmt->accept( *this );
    772                         }
    773 
    774                         if ( node->timeout_cond ) {
     789                                node->timeout.stmt->accept( *this );
     790                        }
     791
     792                        if ( node->timeout.cond ) {
    775793                                os << indent-1 << "... with condition:" << endl;
    776                                 node->timeout_cond->accept( *this );
    777                         }
    778                 }
    779 
    780                 if ( node->else_stmt ) {
     794                                node->timeout.cond->accept( *this );
     795                        }
     796                }
     797
     798                if ( node->orElse.stmt ) {
    781799                        os << indent-1 << "else:" << endl;
    782                         node->else_stmt->accept( *this );
    783 
    784                         if ( node->else_cond ) {
     800                        node->orElse.stmt->accept( *this );
     801
     802                        if ( node->orElse.cond ) {
    785803                                os << indent-1 << "... with condition:" << endl;
    786                                 node->else_cond->accept( *this );
    787                         }
    788                 }
    789 
    790                 return node;
    791         }
    792 
    793         virtual const ast::WaitForClause * visit( const ast::WaitForClause * node ) override final {
    794                 os << indent-1 << "target function: ";
    795                 safe_print( node->target_func );
    796 
    797                 if ( !node->target_args.empty() ) {
    798                         os << endl << indent-1 << "... with arguments:" << endl;
    799                         for( const ast::Expr * arg : node->target_args ) {
    800                                 arg->accept( *this );
    801                         }
    802                 }
    803 
    804                 if ( node->stmt ) {
    805                         os << indent-1 << "... with statment:" << endl;
    806                         node->stmt->accept( *this );
    807                 }
    808 
    809                 if ( node->cond ) {
    810                         os << indent-1 << "... with condition:" << endl;
    811                         node->cond->accept( *this );
    812                 }
     804                                node->orElse.cond->accept( *this );
     805                        }
     806                }
     807                indent -= 2;
    813808
    814809                return node;
Note: See TracChangeset for help on using the changeset viewer.