comparison ir/irtypeclass.cpp @ 1265:bbe6d2b87842

Fix interface indices. Closes #269 and #266.
author Christian Kamm <kamm incasoftware de>
date Sun, 26 Apr 2009 11:29:30 +0200
parents 752bed475b75
children dd135ff697fa
comparison
equal deleted inserted replaced
1264:7ffac0079d08 1265:bbe6d2b87842
263 return; 263 return;
264 264
265 // add this interface 265 // add this interface
266 interfaceMap.insert(std::make_pair(inter, index)); 266 interfaceMap.insert(std::make_pair(inter, index));
267 267
268 // add all its base interfaces recursively 268 // add the direct base interfaces recursively - they
269 for (size_t i = 0; i < inter->interfaces_dim; i++) 269 // are accessed through the same index
270 { 270 if (inter->interfaces_dim > 0)
271 BaseClass* b = inter->interfaces[i]; 271 {
272 BaseClass* b = inter->interfaces[0];
272 addInterfaceToMap(b->base, index); 273 addInterfaceToMap(b->base, index);
273 } 274 }
274 } 275 }
275 276
276 ////////////////////////////////////////////////////////////////////////////// 277 //////////////////////////////////////////////////////////////////////////////