Changeset b940dc71 for src/GenPoly/Box.cc
- Timestamp:
- Dec 21, 2016, 4:15:47 PM (6 years ago)
- Branches:
- aaron-thesis, arm-eh, cleanup-dtors, deferred_resn, demangler, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, with_gc
- Children:
- 53e3b4a
- Parents:
- 626dbc10
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/GenPoly/Box.cc
r626dbc10 rb940dc71 1127 1127 makeTyVarMap( function, exprTyVars ); // xxx - should this take into account the variables already bound in scopeTyVars (i.e. remove them from exprTyVars?) 1128 1128 ReferenceToType *dynRetType = isDynRet( function, exprTyVars ); 1129 Type *concRetType = appExpr->get_result()->isVoid() ? nullptr : appExpr->get_result();// ?: dynRetType; // xxx - is concRetType a good name? 1130 1129 1130 // NOTE: addDynRetParam needs to know the actual (generated) return type so it can make a temp variable, so pass the result type from the appExpr 1131 // passTypeVars needs to know the program-text return type (i.e. the distinction between _conc_T30 and T3(int)) 1132 // concRetType may not be a good name in one or both of these places. A more appropriate name change is welcome. 1131 1133 if ( dynRetType ) { 1134 Type *concRetType = appExpr->get_result()->isVoid() ? nullptr : appExpr->get_result(); 1132 1135 ret = addDynRetParam( appExpr, function, concRetType, arg ); // xxx - used to use dynRetType instead of concRetType 1133 1136 } else if ( needsAdapter( function, scopeTyVars ) && ! needsAdapter( function, exprTyVars) ) { // xxx - exprTyVars is used above...? … … 1142 1145 arg = appExpr->get_args().begin(); 1143 1146 1147 Type *concRetType = replaceWithConcrete( appExpr, dynRetType ); 1144 1148 passTypeVars( appExpr, concRetType, arg, exprTyVars ); // xxx - used to use dynRetType instead of concRetType; this changed so that the correct type paramaters are passed for return types (it should be the concrete type's parameters, not the formal type's) 1145 1149 addInferredParams( appExpr, function, arg, exprTyVars );
Note: See TracChangeset
for help on using the changeset viewer.