Changes in src/Common/PassVisitor.impl.h [6e09f211:7b13aeb]
- File:
-
- 1 edited
-
src/Common/PassVisitor.impl.h (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/Common/PassVisitor.impl.h
r6e09f211 r7b13aeb 1 1 #pragma once 2 2 3 #define VISIT_START( node ) \ 4 __attribute__((unused)) \ 5 const auto & guard = init_guard(); \ 6 call_previsit( node ); \ 7 if( visit_children() ) { \ 8 reset_visit(); \ 9 10 #define VISIT_END( node ) \ 11 } \ 12 call_postvisit( node ); \ 13 14 #define MUTATE_START( node ) \ 15 __attribute__((unused)) \ 16 const auto & guard = init_guard(); \ 17 call_premutate( node ); \ 18 if( visit_children() ) { \ 19 reset_visit(); \ 3 #define VISIT_START( node ) \ 4 call_previsit( node ); \ 5 if( visit_children() ) { \ 6 7 #define VISIT_END( node ) \ 8 } \ 9 return call_postvisit( node ); \ 10 11 #define MUTATE_START( node ) \ 12 call_premutate( node ); \ 13 if( visit_children() ) { \ 20 14 21 15 #define MUTATE_END( type, node ) \ … … 24 18 25 19 26 #define VISIT_BODY( node ) \27 VISIT_START( node ); \28 Visitor::visit( node ); \29 VISIT_END( node ); \20 #define VISIT_BODY( node ) \ 21 VISIT_START( node ); \ 22 Visitor::visit( node ); \ 23 VISIT_END( node ); \ 30 24 31 25 … … 395 389 396 390 //-------------------------------------------------------------------------- 397 // ThrowStmt398 399 template< typename pass_type >400 void PassVisitor< pass_type >::visit( ThrowStmt * node ) {401 VISIT_BODY( node );402 }403 404 template< typename pass_type >405 Statement * PassVisitor< pass_type >::mutate( ThrowStmt * node ) {406 MUTATE_BODY( Statement, node );407 }408 409 //--------------------------------------------------------------------------410 391 // TryStmt 411 392 template< typename pass_type > … … 636 617 637 618 template< typename pass_type > 619 void PassVisitor< pass_type >::visit( MemberTupleExpr * node ) { 620 VISIT_BODY( node ); 621 } 622 623 template< typename pass_type > 638 624 void PassVisitor< pass_type >::visit( TupleAssignExpr * node ) { 639 625 VISIT_BODY( node ); … … 1013 999 1014 1000 template< typename pass_type > 1001 Expression * PassVisitor< pass_type >::mutate( MemberTupleExpr * node ) { 1002 MUTATE_BODY( Expression, node ); 1003 } 1004 1005 template< typename pass_type > 1015 1006 Expression * PassVisitor< pass_type >::mutate( TupleAssignExpr * node ) { 1016 1007 MUTATE_BODY( Expression, node );
Note:
See TracChangeset
for help on using the changeset viewer.