Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/Common/PassVisitor.impl.h

    r6e09f211 r7b13aeb  
    11#pragma once
    22
    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() ) { \
    2014
    2115#define MUTATE_END( type, node )                \
     
    2418
    2519
    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 ); \
    3024
    3125
     
    395389
    396390//--------------------------------------------------------------------------
    397 // ThrowStmt
    398 
    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 //--------------------------------------------------------------------------
    410391// TryStmt
    411392template< typename pass_type >
     
    636617
    637618template< typename pass_type >
     619void PassVisitor< pass_type >::visit( MemberTupleExpr * node ) {
     620        VISIT_BODY( node );
     621}
     622
     623template< typename pass_type >
    638624void PassVisitor< pass_type >::visit( TupleAssignExpr * node ) {
    639625        VISIT_BODY( node );
     
    1013999
    10141000template< typename pass_type >
     1001Expression * PassVisitor< pass_type >::mutate( MemberTupleExpr * node ) {
     1002        MUTATE_BODY( Expression, node );
     1003}
     1004
     1005template< typename pass_type >
    10151006Expression * PassVisitor< pass_type >::mutate( TupleAssignExpr * node ) {
    10161007        MUTATE_BODY( Expression, node );
Note: See TracChangeset for help on using the changeset viewer.