- Timestamp:
- Feb 8, 2022, 5:04:01 PM (3 years ago)
- Branches:
- ADT, ast-experimental, enum, forall-pointer-decay, master, pthread-emulation, qualifiedEnum
- Children:
- 968f280
- Parents:
- 1cf8a9f
- Location:
- src/AST
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified src/AST/Pass.hpp ¶
r1cf8a9f ree918356 265 265 result1<ast::Stmt> call_accept_as_compound(const ast::Stmt *); 266 266 267 template<typename it_t, template <class...> class container_t>268 static inline void take_all_delta( it_t it, container_t<ast::ptr<ast::Decl>> * decls, bool * mutated = nullptr ) {269 if(empty(decls)) return;270 271 std::transform(decls->begin(), decls->end(), it, [](ast::ptr<ast::Decl>&& decl) -> auto {272 auto loc = decl->location;273 auto stmt = new DeclStmt( loc, decl.release() );274 return { {stmt}, -1, false };275 });276 decls->clear();277 if(mutated) *mutated = true;278 }279 280 267 // Container of statements 281 268 template< template <class...> class container_t > -
TabularUnified src/AST/Pass.impl.hpp ¶
r1cf8a9f ree918356 160 160 161 161 template< typename core_t > 162 ast::Pass< core_t >::result1<ast::Expr> ast::Pass< core_t >::call_accept( const ast::Expr * expr ) {162 typename ast::Pass< core_t >::template result1<ast::Expr> ast::Pass< core_t >::call_accept( const ast::Expr * expr ) { 163 163 __pedantic_pass_assert( __visit_children() ); 164 164 __pedantic_pass_assert( expr ); … … 174 174 175 175 template< typename core_t > 176 ast::Pass< core_t >::result1<ast::Stmt> ast::Pass< core_t >::call_accept( const ast::Stmt * stmt ) {176 typename ast::Pass< core_t >::template result1<ast::Stmt> ast::Pass< core_t >::call_accept( const ast::Stmt * stmt ) { 177 177 __pedantic_pass_assert( __visit_children() ); 178 178 __pedantic_pass_assert( stmt ); … … 183 183 184 184 template< typename core_t > 185 ast::Pass< core_t >::result1<ast::Stmt> ast::Pass< core_t >::call_accept_as_compound( const ast::Stmt * stmt ) {185 typename ast::Pass< core_t >::template result1<ast::Stmt> ast::Pass< core_t >::call_accept_as_compound( const ast::Stmt * stmt ) { 186 186 __pedantic_pass_assert( __visit_children() ); 187 187 __pedantic_pass_assert( stmt ); … … 258 258 template< typename core_t > 259 259 template< template <class...> class container_t > 260 ast::Pass< core_t >::resultNstmt<container_t> ast::Pass< core_t >::call_accept( const container_t< ptr<Stmt> > & statements ) {260 typename ast::Pass< core_t >::template resultNstmt<container_t> ast::Pass< core_t >::call_accept( const container_t< ptr<Stmt> > & statements ) { 261 261 __pedantic_pass_assert( __visit_children() ); 262 262 if( statements.empty() ) return {}; … … 346 346 template< typename core_t > 347 347 template< template <class...> class container_t, typename node_t > 348 ast::Pass< core_t >::resultN<container_t, node_t> ast::Pass< core_t >::call_accept( const container_t< ast::ptr<node_t> > & container ) {348 typename ast::Pass< core_t >::template resultN<container_t, node_t> ast::Pass< core_t >::call_accept( const container_t< ast::ptr<node_t> > & container ) { 349 349 __pedantic_pass_assert( __visit_children() ); 350 350 if( container.empty() ) return {};
Note: See TracChangeset
for help on using the changeset viewer.