Ignore:
Timestamp:
Sep 12, 2016, 6:32:46 PM (8 years ago)
Author:
Rob Schluntz <rschlunt@…>
Branches:
ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, deferred_resn, demangler, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, with_gc
Children:
f006f01
Parents:
8f7cea1
git-author:
Rob Schluntz <rschlunt@…> (09/12/16 18:24:34)
git-committer:
Rob Schluntz <rschlunt@…> (09/12/16 18:32:46)
Message:

make TupleAssignment? generate temporaries, add StmtExpr? for GCC statement expressions, expand tuple assignment expressions, collapse SolvedTupleExpr?, MassAssignExpr?, and MultipleAssignExpr? into TupleAssignExpr?

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/SynTree/Visitor.cc

    r8f7cea1 r6eb8948  
    261261}
    262262
    263 void Visitor::visit( TupleExpr *tupleExpr ) {
    264         acceptAll( tupleExpr->get_results(), *this );
    265         acceptAll( tupleExpr->get_exprs(), *this );
    266 }
    267 
    268 void Visitor::visit( SolvedTupleExpr *tupleExpr ) {
    269         acceptAll( tupleExpr->get_results(), *this );
    270         acceptAll( tupleExpr->get_exprs(), *this );
    271 }
    272 
    273263void Visitor::visit( TypeExpr *typeExpr ) {
    274264        acceptAll( typeExpr->get_results(), *this );
     
    309299}
    310300
     301void Visitor::visit( TupleExpr *tupleExpr ) {
     302        acceptAll( tupleExpr->get_results(), *this );
     303        acceptAll( tupleExpr->get_exprs(), *this );
     304}
     305
    311306void Visitor::visit( TupleIndexExpr *tupleExpr ) {
    312307        acceptAll( tupleExpr->get_results(), *this );
     
    320315}
    321316
    322 void Visitor::visit( MultipleAssignExpr *assignExpr ) {
     317void Visitor::visit( TupleAssignExpr *assignExpr ) {
    323318        acceptAll( assignExpr->get_results(), *this );
    324         maybeAccept( assignExpr->get_lhs(), *this );
    325         maybeAccept( assignExpr->get_rhs(), *this );
    326 }
    327 
    328 void Visitor::visit( MassAssignExpr *assignExpr ) {
    329         acceptAll( assignExpr->get_results(), *this );
    330         maybeAccept( assignExpr->get_lhs(), *this );
    331         maybeAccept( assignExpr->get_rhs(), *this );
     319        acceptAll( assignExpr->get_tempDecls(), *this );
     320        acceptAll( assignExpr->get_assigns(), *this );
     321}
     322
     323void Visitor::visit( StmtExpr *stmtExpr ) {
     324        acceptAll( stmtExpr->get_results(), *this );
     325        maybeAccept( stmtExpr->get_statements(), *this );
    332326}
    333327
Note: See TracChangeset for help on using the changeset viewer.