Changes in src/AST/Pass.impl.hpp [a8b87d3:f6e6a55]
- File:
-
- 1 edited
-
src/AST/Pass.impl.hpp (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/AST/Pass.impl.hpp
ra8b87d3 rf6e6a55 182 182 183 183 // get the stmts/decls that will need to be spliced in 184 auto stmts_before = __pass::stmtsToAddBefore( core, 0 );185 auto stmts_after = __pass::stmtsToAddAfter ( core, 0 );186 auto decls_before = __pass::declsToAddBefore( core, 0 );187 auto decls_after = __pass::declsToAddAfter ( core, 0 );184 auto stmts_before = __pass::stmtsToAddBefore( core, 0); 185 auto stmts_after = __pass::stmtsToAddAfter ( core, 0); 186 auto decls_before = __pass::declsToAddBefore( core, 0); 187 auto decls_after = __pass::declsToAddAfter ( core, 0); 188 188 189 189 // These may be modified by subnode but most be restored once we exit this statemnet. … … 317 317 assert(( empty( stmts_before ) && empty( stmts_after )) 318 318 || ( empty( decls_before ) && empty( decls_after )) ); 319 320 319 321 320 322 // Take all the statements which should have gone after, N/A for first iteration … … 2113 2115 if ( __visit_children() ) { 2114 2116 bool mutated = false; 2115 ast::TypeSubstitution::TypeMapnew_map;2116 for ( const auto & p : node->type Map) {2117 std::unordered_map< ast::TypeInstType::TypeEnvKey, ast::ptr< ast::Type > > new_map; 2118 for ( const auto & p : node->typeEnv ) { 2117 2119 guard_symtab guard { *this }; 2118 2120 auto new_node = p.second->accept( *this ); … … 2122 2124 if (mutated) { 2123 2125 auto new_node = __pass::mutate<core_t>( node ); 2124 new_node->type Map.swap( new_map );2126 new_node->typeEnv.swap( new_map ); 2125 2127 node = new_node; 2126 2128 }
Note:
See TracChangeset
for help on using the changeset viewer.