Changes in src/Tuples/Explode.h [6d6e829:490ff5c3]
- File:
-
- 1 edited
-
src/Tuples/Explode.h (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/Tuples/Explode.h
r6d6e829 r490ff5c3 44 44 template<typename OutputIterator> 45 45 void append( OutputIterator out, Expression* expr, const ResolvExpr::TypeEnvironment& env, 46 const ResolvExpr::OpenVarSet& openVars, const ResolvExpr::AssertionList& need,47 46 const ResolvExpr::Cost& cost, const ResolvExpr::Cost& cvtCost ) { 48 *out++ = ResolvExpr::Alternative{ expr, env, openVars, need,cost, cvtCost };47 *out++ = ResolvExpr::Alternative{ expr, env, cost, cvtCost }; 49 48 } 50 49 51 50 /// Append alternative to an ExplodedActual 52 51 static inline void append( ResolvExpr::ExplodedActual& ea, Expression* expr, 53 const ResolvExpr::TypeEnvironment&, const ResolvExpr::OpenVarSet&, 54 const ResolvExpr::AssertionList&, const ResolvExpr::Cost&, const ResolvExpr::Cost& ) { 52 const ResolvExpr::TypeEnvironment&, const ResolvExpr::Cost&, const ResolvExpr::Cost& ) { 55 53 ea.exprs.emplace_back( expr ); 56 /// xxx -- merge environment, openVars, need,cost?54 /// xxx -- merge environment, cost? 57 55 } 58 56 … … 70 68 // distribute reference cast over all components 71 69 append( std::forward<Output>(out), distributeReference( alt.release_expr() ), 72 alt.env, alt. openVars, alt.need, alt.cost, alt.cvtCost );70 alt.env, alt.cost, alt.cvtCost ); 73 71 } 74 72 // in tuple assignment, still need to handle the other cases, but only if not already handled here (don't want to output too many alternatives) … … 104 102 } else { 105 103 // atomic (non-tuple) type - output a clone of the expression in a new alternative 106 append( std::forward<Output>(out), expr->clone(), alt.env, alt.openVars, alt.need, 107 alt.cost, alt.cvtCost ); 104 append( std::forward<Output>(out), expr->clone(), alt.env, alt.cost, alt.cvtCost ); 108 105 } 109 106 }
Note:
See TracChangeset
for help on using the changeset viewer.