Changeset 6cebfef for src/Common
- Timestamp:
- Aug 13, 2021, 3:58:19 PM (4 years ago)
- Branches:
- ADT, ast-experimental, enum, forall-pointer-decay, jacob/cs343-translation, master, new-ast-unique-expr, pthread-emulation, qualifiedEnum
- Children:
- de52331
- Parents:
- c9f9d4f
- Location:
- src/Common
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
src/Common/PassVisitor.h
rc9f9d4f r6cebfef 124 124 virtual void visit( ImplicitCtorDtorStmt * impCtorDtorStmt ) override final; 125 125 virtual void visit( const ImplicitCtorDtorStmt * impCtorDtorStmt ) override final; 126 virtual void visit( MutexStmt * mutexStmt ) override final; 127 virtual void visit( const MutexStmt * mutexStmt ) override final; 126 128 127 129 virtual void visit( ApplicationExpr * applicationExpr ) override final; … … 291 293 virtual Statement * mutate( DeclStmt * declStmt ) override final; 292 294 virtual Statement * mutate( ImplicitCtorDtorStmt * impCtorDtorStmt ) override final; 295 virtual Statement * mutate( MutexStmt * mutexStmt ) override final; 293 296 294 297 virtual Expression * mutate( ApplicationExpr * applicationExpr ) override final; -
src/Common/PassVisitor.impl.h
rc9f9d4f r6cebfef 1781 1781 1782 1782 //-------------------------------------------------------------------------- 1783 // MutexStmt 1784 template< typename pass_type > 1785 void PassVisitor< pass_type >::visit( MutexStmt * node ) { 1786 VISIT_START( node ); 1787 // mutex statements introduce a level of scope (for the initialization) 1788 maybeAccept_impl( node->mutexObjs, *this ); 1789 { 1790 auto guard = makeFuncGuard( [this]() { indexerScopeEnter(); }, [this]() { indexerScopeLeave(); } ); 1791 node->stmt = visitStatement( node->stmt ); 1792 } 1793 VISIT_END( node ); 1794 } 1795 1796 template< typename pass_type > 1797 void PassVisitor< pass_type >::visit( const MutexStmt * node ) { 1798 VISIT_START( node ); 1799 maybeAccept_impl( node->mutexObjs, *this ); 1800 { 1801 auto guard = makeFuncGuard( [this]() { indexerScopeEnter(); }, [this]() { indexerScopeLeave(); } ); 1802 visitStatement( node->stmt ); 1803 } 1804 VISIT_END( node ); 1805 } 1806 1807 template< typename pass_type > 1808 Statement * PassVisitor< pass_type >::mutate( MutexStmt * node ) { 1809 MUTATE_START( node ); 1810 maybeMutate_impl( node->mutexObjs, *this ); 1811 { 1812 auto guard = makeFuncGuard( [this]() { indexerScopeEnter(); }, [this]() { indexerScopeLeave(); } ); 1813 node->stmt = mutateStatement( node->stmt ); 1814 } 1815 MUTATE_END( Statement, node ); 1816 } 1817 1818 //-------------------------------------------------------------------------- 1783 1819 // ApplicationExpr 1784 1820 template< typename pass_type >
Note:
See TracChangeset
for help on using the changeset viewer.