Changeset ae32d96 for src/Common
- Timestamp:
- May 30, 2018, 5:57:43 PM (8 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, with_gc
- Children:
- 597c34a3, 6810fcb, 94b1022a, cf5e5b1
- Parents:
- 6b4cdd3 (diff), d15a45d (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)links above to see all the changes relative to each parent. - Location:
- src/Common
- Files:
-
- 2 edited
-
PassVisitor.h (modified) (3 diffs)
-
PassVisitor.impl.h (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
src/Common/PassVisitor.h
r6b4cdd3 rae32d96 125 125 virtual void visit( InitExpr * initExpr ) override final; 126 126 virtual void visit( DeletedExpr * delExpr ) override final; 127 virtual void visit( GenericExpr * genExpr ) override final; 127 128 128 129 virtual void visit( VoidType * basicType ) override final; … … 223 224 virtual Expression * mutate( InitExpr * initExpr ) override final; 224 225 virtual Expression * mutate( DeletedExpr * delExpr ) override final; 226 virtual Expression * mutate( GenericExpr * genExpr ) override final; 225 227 226 228 virtual Type * mutate( VoidType * basicType ) override final; … … 311 313 void indexerAddUnionFwd ( UnionDecl * node ) { indexer_impl_addUnionFwd ( pass, 0, node ); } 312 314 void indexerAddTrait ( TraitDecl * node ) { indexer_impl_addTrait ( pass, 0, node ); } 313 void indexerAddWith ( std::list< Expression * > & exprs, BaseSyntaxNode * withStmt ) { indexer_impl_addWith ( pass, 0, exprs, withStmt ); }315 void indexerAddWith ( std::list< Expression * > & exprs, BaseSyntaxNode * withStmt ) { indexer_impl_addWith( pass, 0, exprs, withStmt ); } 314 316 315 317 -
src/Common/PassVisitor.impl.h
r6b4cdd3 rae32d96 2073 2073 2074 2074 //-------------------------------------------------------------------------- 2075 // GenericExpr 2076 template< typename pass_type > 2077 void PassVisitor< pass_type >::visit( GenericExpr * node ) { 2078 VISIT_START( node ); 2079 2080 indexerScopedAccept( node->result, *this ); 2081 maybeAccept_impl( node->control, *this ); 2082 for ( GenericExpr::Association & assoc : node->associations ) { 2083 indexerScopedAccept( assoc.type, *this ); 2084 maybeAccept_impl( assoc.expr, *this ); 2085 } 2086 2087 VISIT_END( node ); 2088 } 2089 2090 template< typename pass_type > 2091 Expression * PassVisitor< pass_type >::mutate( GenericExpr * node ) { 2092 MUTATE_START( node ); 2093 2094 indexerScopedMutate( node->env, *this ); 2095 indexerScopedMutate( node->result, *this ); 2096 maybeMutate_impl( node->control, *this ); 2097 for ( GenericExpr::Association & assoc : node->associations ) { 2098 indexerScopedMutate( assoc.type, *this ); 2099 maybeMutate_impl( assoc.expr, *this ); 2100 } 2101 2102 MUTATE_END( Expression, node ); 2103 } 2104 2105 //-------------------------------------------------------------------------- 2075 2106 // VoidType 2076 2107 template< typename pass_type >
Note:
See TracChangeset
for help on using the changeset viewer.