Lines Matching refs:ent

164                     raise Exception('recursive alias %s' % ent.name)
180 ent = ABIEntry(cols, attrs, func)
181 entry_dict[ent.name] = ent
202 ent = entries[i]
203 if not handcode and ent.handcode:
204 handcode = ent.handcode
205 elif ent.handcode != handcode:
207 ent.handcode, handcode)
209 if ent.name in all_names:
210 raise Exception('%s is duplicated' % (ent.name))
211 if ent.alias and ent.alias.name not in all_names:
212 raise Exception('failed to alias %s' % (ent.alias.name))
213 all_names.append(ent.name)
255 def need_entry_point(self, ent):
258 use_alias = (ent.hidden and ent.alias and not ent.handcode)
264 for ent in self.entries:
265 if not self.need_entry_point(ent):
267 export = self.api_call if not ent.hidden else ''
268 if not ent.hidden or not self.lib_need_non_hidden_entries:
269 decls.append(self._c_decl(ent, prefix, True, export) + ';')
280 def _c_function(self, ent, prefix, mangle=False, stringify=False):
287 name = ent.name
288 if mangle and ent.hidden:
289 name = '_dispatch_stub_' + str(ent.slot)
292 def _c_function_call(self, ent, prefix):
294 if ent.handcode:
298 name = fmt % (prefix, ent.handcode)
299 elif self.need_entry_point(ent):
300 name = self._c_function(ent, prefix, True)
302 name = self._c_function(ent.alias, prefix, True)
305 def _c_decl(self, ent, prefix, mangle=False, export=''):
307 decl = '%s %s %s(%s)' % (ent.c_return(), self.api_entry,
308 self._c_function(ent, prefix, mangle), ent.c_params())
316 def _c_cast(self, ent):
319 ent.c_return(), self.api_entry, ent.c_params())
326 for ent in self.entries:
327 if ent.hidden and no_hidden:
330 if not self.need_entry_point(ent):
333 export = self.api_call if not ent.hidden else ''
335 proto = self._c_decl(ent, prefix, True, export)
336 cast = self._c_cast(ent)
339 if ent.ret:
346 ent.slot)
348 stmt3 += '%s((%s) _func)(%s);' % (ret, cast, ent.c_args())
352 if ent.handcode:
362 for ent in self.entries:
363 if ent.alias:
367 self._c_function_call(ent, prefix))
380 for ent in sorted_entries:
381 offsets[ent] = count
382 pool.append('%s' % (ent.name))
383 count += len(ent.name) + 1
392 for ent in self.entries_sorted_by_names:
394 self.indent, pool_offsets[ent], ent.slot))
401 for ent in self.entries:
402 if ent.alias:
405 proto = self._c_decl(ent, prefix, False, 'static')
409 for t, n, a in ent.params:
413 if ent.params:
417 self._c_function(ent, warn_prefix, False, True))
419 if ent.ret:
420 stmt2 = self.indent + 'return (%s) 0;' % (ent.ret)
431 entries = [self._c_function(ent, prefix)
432 for ent in self.entries if not ent.alias]
444 for ent in self.entries:
445 if ent.hidden and no_hidden:
448 if not self.need_entry_point(ent):
451 name = self._c_function(ent, prefix, True, True)
453 if ent.handcode:
456 if ent.hidden:
459 if ent.alias and not (ent.alias.hidden and no_hidden):
462 self._c_function(ent.alias, prefix, True, True)))
465 asm.append('"\\t"STUB_ASM_CODE("%d")"\\n"' % (ent.slot))
467 if ent.handcode:
550 for ent in self.entries:
551 if not ent.hidden:
575 for ent in entries:
576 self._override_for_api(ent)
597 def _override_for_api(self, ent):
634 def _override_for_api(self, ent):
635 ent.hidden = True
636 ent.handcode = False