Changeset a86b2ca6


Ignore:
Timestamp:
Aug 5, 2020, 1:27:32 PM (4 years ago)
Author:
Andrew Beach <ajbeach@…>
Branches:
ADT, arm-eh, ast-experimental, enum, forall-pointer-decay, jacob/cs343-translation, master, new-ast, new-ast-unique-expr, pthread-emulation, qualifiedEnum
Children:
0019d77
Parents:
3251b66
Message:

Added Pass<...>::run which allows a pass to be constructed and run in one step. Even if nothing else is done with it given how often that is done I think this will eventually save code on its own.

Location:
src
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • src/AST/Pass.hpp

    r3251b66 ra86b2ca6  
    88//
    99// Author           : Thierry Delisle
    10 // Created On       : Thu May 09 15::37::05 2019
     10// Created On       : Thu May 09 15:37:05 2019
    1111// Last Modified By :
    1212// Last Modified On :
     
    8484
    8585        virtual ~Pass() = default;
     86
     87        /// Construct and run a pass on a translation unit.
     88        template< typename... Args >
     89        static void run( std::list< ptr<Decl> > & decls, Args &&... args ) {
     90                Pass<pass_t> visitor( std::forward<Args>( args )... );
     91                accept_all( decls, visitor );
     92        }
    8693
    8794        /// Storage for the actual pass
  • src/ResolvExpr/Resolver.cc

    r3251b66 ra86b2ca6  
    12701270
    12711271        void resolve( std::list< ast::ptr< ast::Decl > >& translationUnit ) {
    1272                 ast::Pass< Resolver_new > resolver;
    1273                 accept_all( translationUnit, resolver );
     1272                ast::Pass< Resolver_new >::run( translationUnit );
    12741273        }
    12751274
Note: See TracChangeset for help on using the changeset viewer.