Changeset a86b2ca6 for src/AST/Pass.hpp


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.

File:
1 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
Note: See TracChangeset for help on using the changeset viewer.