Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/AST/Pass.impl.hpp

    r6739590 r1df492a  
    182182
    183183                // 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);
    188188
    189189                // These may be modified by subnode but most be restored once we exit this statemnet.
     
    287287
    288288                // get the stmts/decls that will need to be spliced in
    289                 auto stmts_before = __pass::stmtsToAddBefore( core, 0 );
    290                 auto stmts_after  = __pass::stmtsToAddAfter ( core, 0 );
    291                 auto decls_before = __pass::declsToAddBefore( core, 0 );
    292                 auto decls_after  = __pass::declsToAddAfter ( core, 0 );
     289                auto stmts_before = __pass::stmtsToAddBefore( core, 0);
     290                auto stmts_after  = __pass::stmtsToAddAfter ( core, 0);
     291                auto decls_before = __pass::declsToAddBefore( core, 0);
     292                auto decls_after  = __pass::declsToAddAfter ( core, 0);
    293293
    294294                // These may be modified by subnode but most be restored once we exit this statemnet.
     
    317317                                assert(( empty( stmts_before ) && empty( stmts_after ))
    318318                                    || ( empty( decls_before ) && empty( decls_after )) );
     319
     320
    319321
    320322                                // Take all the statements which should have gone after, N/A for first iteration
     
    648650        if ( __visit_children() ) {
    649651                // unlike structs, traits, and unions, enums inject their members into the global scope
     652                maybe_accept( node, &EnumDecl::base );
    650653                maybe_accept( node, &EnumDecl::params     );
    651654                maybe_accept( node, &EnumDecl::members    );
     
    21132116        if ( __visit_children() ) {
    21142117                bool mutated = false;
    2115                 ast::TypeSubstitution::TypeMap new_map;
    2116                 for ( const auto & p : node->typeMap ) {
     2118                std::unordered_map< ast::TypeInstType::TypeEnvKey, ast::ptr< ast::Type > > new_map;
     2119                for ( const auto & p : node->typeEnv ) {
    21172120                        guard_symtab guard { *this };
    21182121                        auto new_node = p.second->accept( *this );
     
    21222125                if (mutated) {
    21232126                        auto new_node = __pass::mutate<core_t>( node );
    2124                         new_node->typeMap.swap( new_map );
     2127                        new_node->typeEnv.swap( new_map );
    21252128                        node = new_node;
    21262129                }
Note: See TracChangeset for help on using the changeset viewer.