Changes in src/Parser/StatementNode.cc [135b431:6d49ea3]
- File:
-
- 1 edited
-
src/Parser/StatementNode.cc (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/Parser/StatementNode.cc
r135b431 r6d49ea3 93 93 elseb = branches.front(); 94 94 } // if 95 95 96 96 std::list< Statement * > init; 97 97 if ( ctl->init != 0 ) { … … 207 207 } 208 208 209 WaitForStmt * build_waitfor( ExpressionNode * targetExpr, StatementNode * stmt, ExpressionNode * when ) {210 auto node = new WaitForStmt();211 212 WaitForStmt::Target target;213 target.function = maybeBuild<Expression>( targetExpr );214 buildMoveList< Expression >( targetExpr, target.arguments );215 delete targetExpr;216 217 node->clauses.push_back( WaitForStmt::Clause{218 target,219 maybeMoveBuild<Statement >( stmt ),220 maybeMoveBuild<Expression>( when )221 });222 223 return node;224 }225 226 WaitForStmt * build_waitfor( ExpressionNode * targetExpr, StatementNode * stmt, ExpressionNode * when, WaitForStmt * node ) {227 WaitForStmt::Target target;228 229 target.function = maybeBuild<Expression>( targetExpr );230 buildMoveList< Expression >( targetExpr, target.arguments );231 delete targetExpr;232 233 node->clauses.push_back( WaitForStmt::Clause{234 std::move( target ),235 maybeMoveBuild<Statement >( stmt ),236 maybeMoveBuild<Expression>( when )237 });238 239 return node;240 }241 242 WaitForStmt * build_waitfor_timeout( ExpressionNode * timeout, StatementNode * stmt, ExpressionNode * when ) {243 auto node = new WaitForStmt();244 245 if( timeout ) {246 node->timeout.time = maybeMoveBuild<Expression>( timeout );247 node->timeout.statement = maybeMoveBuild<Statement >( stmt );248 node->timeout.condition = maybeMoveBuild<Expression>( when );249 }250 else {251 node->orelse.statement = maybeMoveBuild<Statement >( stmt );252 node->orelse.condition = maybeMoveBuild<Expression>( when );253 }254 255 return node;256 }257 258 WaitForStmt * build_waitfor_timeout( ExpressionNode * timeout, StatementNode * stmt, ExpressionNode * when, StatementNode * else_stmt, ExpressionNode * else_when ) {259 auto node = new WaitForStmt();260 261 node->timeout.time = maybeMoveBuild<Expression>( timeout );262 node->timeout.statement = maybeMoveBuild<Statement >( stmt );263 node->timeout.condition = maybeMoveBuild<Expression>( when );264 265 node->orelse.statement = maybeMoveBuild<Statement >( else_stmt );266 node->orelse.condition = maybeMoveBuild<Expression>( else_when );267 268 return node;269 }270 271 // WaitForStmt::Target build_waitfor( const std::string * name, ExpressionNode * arguments ) {272 // return WaitForStmt::Clause{273 274 // };275 // }276 277 209 Statement *build_compound( StatementNode *first ) { 278 210 CompoundStmt *cs = new CompoundStmt( noLabels );
Note:
See TracChangeset
for help on using the changeset viewer.