kobj_method_t* kobj_lookup_method(kobj_class_t cls, kobj_method_t **cep, kobjop_desc_t desc) { kobj_method_t *ce; ce = kobj_lookup_method_mi(cls, desc); if (!ce) ce = &desc->deflt; *cep = ce; return(ce); }
static kobj_method_t * kobj_lookup_method_mi(kobj_class_t cls, kobjop_desc_t desc) { kobj_method_t *ce; kobj_class_t *basep; ce = kobj_lookup_method_class(cls, desc); if (ce) return(ce); basep = cls->baseclasses; if (basep) { for (; *basep; basep++) { ce = kobj_lookup_method_mi(*basep, desc); if (ce) return(ce); } } return(0); }
kobj_method_t* kobj_lookup_method(kobj_class_t cls, kobj_method_t **cep, kobjop_desc_t desc) { kobj_method_t *ce; #ifdef KOBJ_STATS /* * Correct for the 'hit' assumption in KOBJOPLOOKUP and record * a 'miss'. */ kobj_lookup_hits--; kobj_lookup_misses++; #endif ce = kobj_lookup_method_mi(cls, desc); if (!ce) ce = desc->deflt; *cep = ce; return ce; }