Changeset 0bd46fd for src/ResolvExpr
- Timestamp:
- Sep 21, 2022, 10:52:51 AM (3 years ago)
- Branches:
- ADT, ast-experimental, master, pthread-emulation
- Children:
- 7f6a7c9, e01eb4a
- Parents:
- 20737104
- Location:
- src/ResolvExpr
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified src/ResolvExpr/AlternativeFinder.cc ¶
r20737104 r0bd46fd 299 299 SemanticError( expr->location, stream.str() ); 300 300 } 301 alternatives = move(pruned);301 alternatives = std::move(pruned); 302 302 PRINT( 303 303 std::cerr << "there are " << oldsize << " alternatives before elimination" << std::endl; … … 573 573 unsigned tupleStart = 0, Cost cost = Cost::zero, unsigned nextExpl = 0, 574 574 unsigned explAlt = 0 ) 575 : parent(parent), expr(expr->clone()), cost(cost), env( move(env)), need(move(need)),576 have( move(have)), openVars(move(openVars)), nextArg(nextArg), tupleStart(tupleStart),575 : parent(parent), expr(expr->clone()), cost(cost), env(std::move(env)), need(std::move(need)), 576 have(std::move(have)), openVars(std::move(openVars)), nextArg(nextArg), tupleStart(tupleStart), 577 577 nextExpl(nextExpl), explAlt(explAlt) {} 578 578 … … 580 580 OpenVarSet&& openVars, unsigned nextArg, Cost added ) 581 581 : parent(o.parent), expr(o.expr ? o.expr->clone() : nullptr), cost(o.cost + added), 582 env( move(env)), need(move(need)), have(move(have)), openVars(move(openVars)),582 env(std::move(env)), need(std::move(need)), have(std::move(have)), openVars(std::move(openVars)), 583 583 nextArg(nextArg), tupleStart(o.tupleStart), nextExpl(0), explAlt(0) {} 584 584 … … 707 707 if ( unify( ttype, argType, newResult.env, newResult.need, newResult.have, 708 708 newResult.openVars, indexer ) ) { 709 finalResults.push_back( move(newResult) );709 finalResults.push_back( std::move(newResult) ); 710 710 } 711 711 … … 726 726 if ( expl.exprs.empty() ) { 727 727 results.emplace_back( 728 results[i], move(env), copy(results[i].need),729 copy(results[i].have), move(openVars), nextArg + 1, expl.cost );728 results[i], std::move(env), copy(results[i].need), 729 copy(results[i].have), std::move(openVars), nextArg + 1, expl.cost ); 730 730 731 731 continue; … … 734 734 // add new result 735 735 results.emplace_back( 736 i, expl.exprs.front().get(), move(env), copy(results[i].need),737 copy(results[i].have), move(openVars), nextArg + 1,736 i, expl.exprs.front().get(), std::move(env), copy(results[i].need), 737 copy(results[i].have), std::move(openVars), nextArg + 1, 738 738 nTuples, expl.cost, expl.exprs.size() == 1 ? 0 : 1, j ); 739 739 } … … 747 747 // splice final results onto results 748 748 for ( std::size_t i = 0; i < finalResults.size(); ++i ) { 749 results.push_back( move(finalResults[i]) );749 results.push_back( std::move(finalResults[i]) ); 750 750 } 751 751 return ! finalResults.empty(); … … 783 783 784 784 results.emplace_back( 785 i, expr, move(env), move(need), move(have),move(openVars), nextArg,785 i, expr, std::move(env), std::move(need), std::move(have), std::move(openVars), nextArg, 786 786 nTuples, Cost::zero, nextExpl, results[i].explAlt ); 787 787 } … … 801 801 indexer ) ) { 802 802 results.emplace_back( 803 i, new DefaultArgExpr( cnstExpr ), move(env), move(need),move(have),804 move(openVars), nextArg, nTuples );803 i, new DefaultArgExpr( cnstExpr ), std::move(env), std::move(need), std::move(have), 804 std::move(openVars), nextArg, nTuples ); 805 805 } 806 806 } … … 824 824 if ( expl.exprs.empty() ) { 825 825 results.emplace_back( 826 results[i], move(env), move(need), move(have),move(openVars),826 results[i], std::move(env), std::move(need), std::move(have), std::move(openVars), 827 827 nextArg + 1, expl.cost ); 828 828 … … 846 846 // add new result 847 847 results.emplace_back( 848 i, expr, move(env), move(need), move(have),move(openVars), nextArg + 1,848 i, expr, std::move(env), std::move(need), std::move(have), std::move(openVars), nextArg + 1, 849 849 nTuples, expl.cost, expl.exprs.size() == 1 ? 0 : 1, j ); 850 850 } … … 962 962 if ( expl.exprs.empty() ) { 963 963 results.emplace_back( 964 results[i], move(env), copy(results[i].need),965 copy(results[i].have), move(openVars), nextArg + 1, expl.cost );964 results[i], std::move(env), copy(results[i].need), 965 copy(results[i].have), std::move(openVars), nextArg + 1, expl.cost ); 966 966 967 967 continue; … … 970 970 // add new result 971 971 results.emplace_back( 972 i, expl.exprs.front().get(), move(env), copy(results[i].need),973 copy(results[i].have), move(openVars), nextArg + 1, 0,972 i, expl.exprs.front().get(), std::move(env), copy(results[i].need), 973 copy(results[i].have), std::move(openVars), nextArg + 1, 0, 974 974 expl.cost, expl.exprs.size() == 1 ? 0 : 1, j ); 975 975 } … … 1067 1067 funcE.emplace_back( actual, indexer ); 1068 1068 } 1069 argExpansions.insert( argExpansions.begin(), move(funcE) );1069 argExpansions.insert( argExpansions.begin(), std::move(funcE) ); 1070 1070 1071 1071 for ( AltList::iterator funcOp = funcOpFinder.alternatives.begin(); … … 1116 1116 } // for 1117 1117 1118 candidates = move(alternatives);1118 candidates = std::move(alternatives); 1119 1119 1120 1120 // use a new list so that alternatives are not examined by addAnonConversions twice. -
TabularUnified src/ResolvExpr/Unify.cc ¶
r20737104 r0bd46fd 727 727 }; 728 728 } 729 729 730 730 std::vector< ast::ptr< ast::Type > > flattenList( 731 731 const std::vector< ast::ptr< ast::Type > > & src, ast::TypeEnvironment & env … … 989 989 if ( isTuple && isTuple2 ) { 990 990 ++it; ++jt; // skip ttype parameters before break 991 } else if ( isTuple ) { 991 } else if ( isTuple ) { 992 992 // bundle remaining params into tuple 993 993 pty2 = tupleFromExprs( param2, jt, params2.end(), pty->qualifiers ); … … 1035 1035 private: 1036 1036 /// Creates a tuple type based on a list of Type 1037 1037 1038 1038 1039 1039 static bool unifyList( … … 1207 1207 } 1208 1208 1209 } else if ( common = commonType( t1, t2, env, need, have, open, widen, symtab)) {1209 } else if (( common = commonType( t1, t2, env, need, have, open, widen, symtab ))) { 1210 1210 // no exact unification, but common type 1211 1211 auto c = shallowCopy(common.get());
Note: See TracChangeset
for help on using the changeset viewer.