- File:
-
- 1 edited
-
src/ResolvExpr/CandidateFinder.hpp (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/ResolvExpr/CandidateFinder.hpp
r1389810 rb69233ac 9 9 // Author : Aaron B. Moss 10 10 // Created On : Wed Jun 5 14:30:00 2019 11 // Last Modified By : A ndrew Beach12 // Last Modified On : Tue Oct 1 9:51:00 201913 // Update Count : 211 // Last Modified By : Aaron B. Moss 12 // Last Modified On : Wed Jun 5 14:30:00 2019 13 // Update Count : 1 14 14 // 15 15 … … 28 28 struct CandidateFinder { 29 29 CandidateList candidates; ///< List of candidate resolutions 30 const ast::SymbolTable & localSyms; ///< Symbol table to lookup candidates30 const ast::SymbolTable & symtab; ///< Symbol table to lookup candidates 31 31 const ast::TypeEnvironment & env; ///< Substitutions performed in this resolution 32 32 ast::ptr< ast::Type > targetType; ///< Target type for resolution 33 std::set< std::string > otypeKeys; /// different type may map to same key34 33 35 CandidateFinder( 36 const ast::SymbolTable & sym s, const ast::TypeEnvironment & env,34 CandidateFinder( 35 const ast::SymbolTable & symtab, const ast::TypeEnvironment & env, 37 36 const ast::Type * tt = nullptr ) 38 : candidates(), localSyms( syms), env( env ), targetType( tt ) {}37 : candidates(), symtab( symtab ), env( env ), targetType( tt ) {} 39 38 40 39 /// Fill candidates with feasible resolutions for `expr` 41 40 void find( const ast::Expr * expr, ResolvMode mode = {} ); 42 bool pruneCandidates( CandidateList & candidates, CandidateList & out, std::vector<std::string> & errors );43 41 44 42 /// Runs new candidate finder on each element in xs, returning the list of finders … … 51 49 iterator begin() { return candidates.begin(); } 52 50 const_iterator begin() const { return candidates.begin(); } 53 51 54 52 iterator end() { return candidates.end(); } 55 53 const_iterator end() const { return candidates.end(); } … … 57 55 58 56 /// Computes conversion cost between two types 59 Cost computeConversionCost( 60 const ast::Type * argType, const ast::Type * paramType, bool argIsLvalue,61 const ast:: SymbolTable & symtab, const ast::TypeEnvironment & env );57 Cost computeConversionCost( 58 const ast::Type * argType, const ast::Type * paramType, const ast::SymbolTable & symtab, 59 const ast::TypeEnvironment & env ); 62 60 63 61 } // namespace ResolvExpr
Note:
See TracChangeset
for help on using the changeset viewer.