Ignore:
File:
1 edited

Legend:

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

    r71806e0 rf4e01f1  
    754754
    755755        // unlike structs, traits, and unions, enums inject their members into the global scope
    756         // if ( node->base ) maybeAccept_impl( node->base, *this ); // Need this? Maybe not?
    757756        maybeAccept_impl( node->parameters, *this );
    758757        maybeAccept_impl( node->members   , *this );
     
    783782
    784783        // unlike structs, traits, and unions, enums inject their members into the global scope
     784        maybeMutate_impl( node->parameters, *this );
     785        maybeMutate_impl( node->members   , *this );
     786        maybeMutate_impl( node->attributes, *this );
     787
     788        MUTATE_END( Declaration, node );
     789}
     790
     791template< typename pass_type >
     792void PassVisitor< pass_type >::visit( AdtDecl * node ) {
     793        VISIT_START( node );
     794
     795        indexerAddAdtFwd( node );
     796
     797        // unlike structs, traits, and unions, enums inject their members into the global scope
     798        maybeAccept_impl( node->data_constructors, *this );
     799        maybeAccept_impl( node->data_union, *this );
     800        maybeAccept_impl( node->tag, *this );
     801
     802        maybeAccept_impl( node->parameters, *this );
     803        maybeAccept_impl( node->members   , *this );
     804        maybeAccept_impl( node->attributes, *this );
     805
     806        VISIT_END( node );
     807}
     808
     809template< typename pass_type >
     810void PassVisitor< pass_type >::visit( const AdtDecl * node ) {
     811        VISIT_START( node );
     812
     813        indexerAddAdtFwd( node );
     814
     815        maybeAccept_impl( node->data_constructors, *this );
     816        maybeAccept_impl( node->data_union, *this );
     817        maybeAccept_impl( node->tag, *this );
     818
     819        maybeAccept_impl( node->parameters, *this );
     820        maybeAccept_impl( node->members   , *this );
     821        maybeAccept_impl( node->attributes, *this );
     822
     823
     824        VISIT_END( node );
     825
     826
     827template< typename pass_type >
     828Declaration * PassVisitor< pass_type >::mutate( AdtDecl * node ) {
     829        MUTATE_START( node );
     830       
     831        indexerAddAdtFwd( node );
     832
     833        maybeMutate_impl( node->data_constructors, *this );
     834        maybeMutate_impl( node->data_union, *this );
     835        maybeMutate_impl( node->tag, *this );
     836
    785837        maybeMutate_impl( node->parameters, *this );
    786838        maybeMutate_impl( node->members   , *this );
Note: See TracChangeset for help on using the changeset viewer.