Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/ResolvExpr/CandidateFinder.hpp

    r99d4584 r396037d  
    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.