Ignore:
Timestamp:
Jun 12, 2019, 4:06:37 PM (5 years ago)
Author:
Thierry Delisle <tdelisle@…>
Branches:
ADT, arm-eh, ast-experimental, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, pthread-emulation, qualifiedEnum
Children:
462a7c7, d60780c
Parents:
aaeacf4 (diff), 6625727 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge branch 'master' of plg.uwaterloo.ca:software/cfa/cfa-cc

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/ResolvExpr/CandidateFinder.hpp

    raaeacf4 r21300d7  
    1919#include "ResolvMode.h"
    2020#include "AST/Fwd.hpp"
     21#include "AST/Node.hpp"
    2122#include "AST/SymbolTable.hpp"
    2223#include "AST/TypeEnvironment.hpp"
     
    2930        const ast::SymbolTable & symtab;         ///< Symbol table to lookup candidates
    3031        const ast::TypeEnvironment & env;        ///< Substitutions performed in this resolution
    31         const ast::Type * targetType = nullptr;  ///< Target type for resolution
     32        ast::ptr< ast::Type > targetType = nullptr;  ///< Target type for resolution
    3233
    3334        CandidateFinder( const ast::SymbolTable & symtab, const ast::TypeEnvironment & env )
     
    3637        /// Fill candidates with feasible resolutions for `expr`
    3738        void find( const ast::Expr * expr, ResolvMode mode = {} );
     39
     40        /// Runs new candidate finder on each element in xs, returning the list of finders
     41        std::vector< CandidateFinder > findSubExprs( const std::vector< ast::ptr< ast::Expr > > & xs );
     42
     43        using value_type = CandidateList::value_type;
     44        using iterator = CandidateList::iterator;
     45        using const_iterator = CandidateList::const_iterator;
     46
     47        iterator begin() { return candidates.begin(); }
     48        const_iterator begin() const { return candidates.begin(); }
     49       
     50        iterator end() { return candidates.end(); }
     51        const_iterator end() const { return candidates.end(); }
    3852};
    3953
Note: See TracChangeset for help on using the changeset viewer.