Changeset d7dc824 for src/Common
- Timestamp:
- Jun 7, 2017, 4:53:42 PM (7 years ago)
- 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:
- c77fd8b, ec95d11
- Parents:
- af397ef8
- Location:
- src/Common
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
src/Common/PassVisitor.h
raf397ef8 rd7dc824 90 90 virtual void visit( TupleExpr *tupleExpr ) override final; 91 91 virtual void visit( TupleIndexExpr *tupleExpr ) override final; 92 virtual void visit( MemberTupleExpr *tupleExpr ) override final;93 92 virtual void visit( TupleAssignExpr *assignExpr ) override final; 94 93 virtual void visit( StmtExpr * stmtExpr ) override final; … … 176 175 virtual Expression* mutate( TupleExpr *tupleExpr ) override final; 177 176 virtual Expression* mutate( TupleIndexExpr *tupleExpr ) override final; 178 virtual Expression* mutate( MemberTupleExpr *tupleExpr ) override final;179 177 virtual Expression* mutate( TupleAssignExpr *assignExpr ) override final; 180 178 virtual Expression* mutate( StmtExpr * stmtExpr ) override final; -
src/Common/PassVisitor.impl.h
raf397ef8 rd7dc824 617 617 618 618 template< typename pass_type > 619 void PassVisitor< pass_type >::visit( MemberTupleExpr * node ) {620 VISIT_BODY( node );621 }622 623 template< typename pass_type >624 619 void PassVisitor< pass_type >::visit( TupleAssignExpr * node ) { 625 620 VISIT_BODY( node ); … … 999 994 1000 995 template< typename pass_type > 1001 Expression * PassVisitor< pass_type >::mutate( MemberTupleExpr * node ) {1002 MUTATE_BODY( Expression, node );1003 }1004 1005 template< typename pass_type >1006 996 Expression * PassVisitor< pass_type >::mutate( TupleAssignExpr * node ) { 1007 997 MUTATE_BODY( Expression, node ); -
src/Common/PassVisitor.proto.h
raf397ef8 rd7dc824 18 18 // Visit 19 19 template<typename pass_type, typename node_type> 20 static inline auto previsit_impl( pass_type& pass, node_type * node, __attribute__((unused)) int unused ) -> decltype( pass.previsit( node ), void() ) {20 static inline auto previsit_impl( pass_type& pass, node_type * node, __attribute__((unused)) int unused ) -> decltype( pass.previsit( node ), void() ) { 21 21 pass.previsit( node ); 22 22 } … … 27 27 28 28 template<typename pass_type, typename node_type> 29 static inline auto postvisit_impl( pass_type& pass, node_type * node, __attribute__((unused)) int unused ) -> decltype( pass.postvisit( node ), void() ) {29 static inline auto postvisit_impl( pass_type& pass, node_type * node, __attribute__((unused)) int unused ) -> decltype( pass.postvisit( node ), void() ) { 30 30 pass.postvisit( node ); 31 31 } … … 36 36 // Mutate 37 37 template<typename pass_type, typename node_type> 38 static inline auto premutate_impl( pass_type& pass, node_type * node, __attribute__((unused)) int unused ) -> decltype( pass.premutate( node ), void() ) {38 static inline auto premutate_impl( pass_type& pass, node_type * node, __attribute__((unused)) int unused ) -> decltype( pass.premutate( node ), void() ) { 39 39 return pass.premutate( node ); 40 40 } … … 45 45 46 46 template<typename return_type, typename pass_type, typename node_type> 47 static inline auto postmutate_impl( pass_type& pass, node_type * node, __attribute__((unused)) int unused ) -> decltype( pass.postmutate( node ) ) {47 static inline auto postmutate_impl( pass_type& pass, node_type * node, __attribute__((unused)) int unused ) -> decltype( pass.postmutate( node ) ) { 48 48 return pass.postmutate( node ); 49 49 } … … 54 54 // Begin/End scope 55 55 template<typename pass_type> 56 static inline auto begin_scope_impl( pass_type& pass, __attribute__((unused)) int unused ) -> decltype( pass.beginScope(), void() ) {56 static inline auto begin_scope_impl( pass_type& pass, __attribute__((unused)) int unused ) -> decltype( pass.beginScope(), void() ) { 57 57 pass.beginScope(); 58 58 } … … 63 63 64 64 template<typename pass_type> 65 static inline auto end_scope_impl( pass_type& pass, __attribute__((unused)) int unused ) -> decltype( pass.endScope(), void() ) {65 static inline auto end_scope_impl( pass_type& pass, __attribute__((unused)) int unused ) -> decltype( pass.endScope(), void() ) { 66 66 pass.endScope(); 67 67 } … … 73 73 #define FIELD_PTR( type, name ) \ 74 74 template<typename pass_type> \ 75 static inline auto name##_impl( pass_type& pass, __attribute__((unused)) int unused ) -> decltype( &pass.name ) { return &pass.name; } \75 static inline auto name##_impl( pass_type& pass, __attribute__((unused)) int unused ) -> decltype( &pass.name ) { return &pass.name; } \ 76 76 \ 77 77 template<typename pass_type> \
Note: See TracChangeset
for help on using the changeset viewer.