comparison dmd/TypeInstance.d @ 121:347de076ad34

TemplateParameters -> Vector
author Eldar Insafutdinov <e.insafutdinov@gmail.com>
date Thu, 02 Sep 2010 22:41:12 +0100
parents e28b18c23469
children e3afd1303184
comparison
equal deleted inserted replaced
120:46ef67271ef3 121:347de076ad34
196 if (td && td == tempinst.tempdecl) 196 if (td && td == tempinst.tempdecl)
197 goto L2; 197 goto L2;
198 } 198 }
199 goto Lnomatch; 199 goto Lnomatch;
200 } 200 }
201 TemplateParameter tpx = cast(TemplateParameter)parameters.data[i]; 201 TemplateParameter tpx = parameters[i];
202 // This logic duplicates tpx->matchArg() 202 // This logic duplicates tpx->matchArg()
203 TemplateAliasParameter ta = tpx.isTemplateAliasParameter(); 203 TemplateAliasParameter ta = tpx.isTemplateAliasParameter();
204 if (!ta) 204 if (!ta)
205 goto Lnomatch; 205 goto Lnomatch;
206 Object sa = tempinst.tempdecl; 206 Object sa = tempinst.tempdecl;
323 { 323 {
324 j = templateParameterLookup(t2, parameters); 324 j = templateParameterLookup(t2, parameters);
325 L1: 325 L1:
326 if (j == -1) 326 if (j == -1)
327 goto Lnomatch; 327 goto Lnomatch;
328 TemplateParameter tp_ = cast(TemplateParameter)parameters.data[j]; 328 auto tp_ = parameters[j];
329 // BUG: use tp->matchArg() instead of the following 329 // BUG: use tp->matchArg() instead of the following
330 TemplateValueParameter tv = tp_.isTemplateValueParameter(); 330 TemplateValueParameter tv = tp_.isTemplateValueParameter();
331 if (!tv) 331 if (!tv)
332 goto Lnomatch; 332 goto Lnomatch;
333 Expression e = cast(Expression)dedtypes[j]; 333 Expression e = cast(Expression)dedtypes[j];
347 else if (s1 && t2 && t2.ty == Tident) 347 else if (s1 && t2 && t2.ty == Tident)
348 { 348 {
349 j = templateParameterLookup(t2, parameters); 349 j = templateParameterLookup(t2, parameters);
350 if (j == -1) 350 if (j == -1)
351 goto Lnomatch; 351 goto Lnomatch;
352 TemplateParameter tp_ = cast(TemplateParameter)parameters.data[j]; 352 auto tp_ = parameters[j];
353 // BUG: use tp->matchArg() instead of the following 353 // BUG: use tp->matchArg() instead of the following
354 TemplateAliasParameter ta = tp_.isTemplateAliasParameter(); 354 TemplateAliasParameter ta = tp_.isTemplateAliasParameter();
355 if (!ta) 355 if (!ta)
356 goto Lnomatch; 356 goto Lnomatch;
357 auto s = cast(Dsymbol)dedtypes[j]; 357 auto s = cast(Dsymbol)dedtypes[j];