Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/AST/Pass.hpp

    r3e5dd913 r361bf01  
    3434
    3535#include "AST/SymbolTable.hpp"
     36
     37#include "AST/ForallSubstitutionTable.hpp"
    3638
    3739// Private prelude header, needed for some of the magic tricks this class pulls off
     
    6466// | WithVisitorRef        - provides an pointer to the templated visitor wrapper
    6567// | WithSymbolTable       - provides symbol table functionality
     68// | WithForallSubstitutor - maintains links between TypeInstType and TypeDecl under mutation
    6669//
    6770// Other Special Members:
     
    255258        container_t< ptr<node_t> > call_accept( const container_t< ptr<node_t> > & container );
    256259
     260        /// Mutate forall-list, accounting for presence of type substitution map
     261        template<typename node_t>
     262        void mutate_forall( const node_t *& );
     263
    257264public:
    258265        /// Logic to call the accept and mutate the parent if needed, delegates call to accept
     
    391398};
    392399
     400/// Use when the templated visitor needs to keep TypeInstType instances properly linked to TypeDecl
     401struct WithForallSubstitutor {
     402        ForallSubstitutionTable subs;
     403};
     404
    393405}
    394406
Note: See TracChangeset for help on using the changeset viewer.