Lines Matching refs:class_type

286 static int zend_implement_traversable(zend_class_entry *interface, zend_class_entry *class_type)  in zend_implement_traversable()  argument
291 if (class_type->get_iterator || (class_type->parent && class_type->parent->get_iterator)) { in zend_implement_traversable()
294 if (class_type->num_interfaces) { in zend_implement_traversable()
295 ZEND_ASSERT(class_type->ce_flags & ZEND_ACC_RESOLVED_INTERFACES); in zend_implement_traversable()
296 for (i = 0; i < class_type->num_interfaces; i++) { in zend_implement_traversable()
297 …if (class_type->interfaces[i] == zend_ce_aggregate || class_type->interfaces[i] == zend_ce_iterato… in zend_implement_traversable()
303 ZSTR_VAL(class_type->name), in zend_implement_traversable()
312 static int zend_implement_aggregate(zend_class_entry *interface, zend_class_entry *class_type) in zend_implement_aggregate() argument
318 if (class_type->get_iterator) { in zend_implement_aggregate()
319 if (class_type->type == ZEND_INTERNAL_CLASS) { in zend_implement_aggregate()
322 } else if (class_type->get_iterator != zend_user_it_get_new_iterator) { in zend_implement_aggregate()
324 if (class_type->num_interfaces) { in zend_implement_aggregate()
325 ZEND_ASSERT(class_type->ce_flags & ZEND_ACC_RESOLVED_INTERFACES); in zend_implement_aggregate()
326 for (i = 0; i < class_type->num_interfaces; i++) { in zend_implement_aggregate()
327 if (class_type->interfaces[i] == zend_ce_iterator) { in zend_implement_aggregate()
329 ZSTR_VAL(class_type->name), in zend_implement_aggregate()
334 if (class_type->interfaces[i] == zend_ce_traversable) { in zend_implement_aggregate()
344 if (class_type->parent in zend_implement_aggregate()
345 && (class_type->parent->ce_flags & ZEND_ACC_REUSE_GET_ITERATOR)) { in zend_implement_aggregate()
346 class_type->get_iterator = class_type->parent->get_iterator; in zend_implement_aggregate()
347 class_type->ce_flags |= ZEND_ACC_REUSE_GET_ITERATOR; in zend_implement_aggregate()
349 class_type->get_iterator = zend_user_it_get_new_iterator; in zend_implement_aggregate()
351 funcs_ptr = class_type->iterator_funcs_ptr; in zend_implement_aggregate()
352 if (class_type->type == ZEND_INTERNAL_CLASS) { in zend_implement_aggregate()
355 class_type->iterator_funcs_ptr = funcs_ptr; in zend_implement_aggregate()
357 …funcs_ptr->zf_new_iterator = zend_hash_str_find_ptr(&class_type->function_table, "getiterator", si… in zend_implement_aggregate()
361 class_type->iterator_funcs_ptr = funcs_ptr; in zend_implement_aggregate()
372 static int zend_implement_iterator(zend_class_entry *interface, zend_class_entry *class_type) in zend_implement_iterator() argument
376 if (class_type->get_iterator && class_type->get_iterator != zend_user_it_get_iterator) { in zend_implement_iterator()
377 if (class_type->type == ZEND_INTERNAL_CLASS) { in zend_implement_iterator()
382 if (class_type->get_iterator == zend_user_it_get_new_iterator) { in zend_implement_iterator()
384 ZSTR_VAL(class_type->name), in zend_implement_iterator()
391 if (class_type->parent in zend_implement_iterator()
392 && (class_type->parent->ce_flags & ZEND_ACC_REUSE_GET_ITERATOR)) { in zend_implement_iterator()
393 class_type->get_iterator = class_type->parent->get_iterator; in zend_implement_iterator()
394 class_type->ce_flags |= ZEND_ACC_REUSE_GET_ITERATOR; in zend_implement_iterator()
396 class_type->get_iterator = zend_user_it_get_iterator; in zend_implement_iterator()
398 funcs_ptr = class_type->iterator_funcs_ptr; in zend_implement_iterator()
399 if (class_type->type == ZEND_INTERNAL_CLASS) { in zend_implement_iterator()
402 class_type->iterator_funcs_ptr = funcs_ptr; in zend_implement_iterator()
404 …funcs_ptr->zf_rewind = zend_hash_str_find_ptr(&class_type->function_table, "rewind", sizeof("rewin… in zend_implement_iterator()
405 …funcs_ptr->zf_valid = zend_hash_str_find_ptr(&class_type->function_table, "valid", sizeof("valid")… in zend_implement_iterator()
406 … funcs_ptr->zf_key = zend_hash_str_find_ptr(&class_type->function_table, "key", sizeof("key") - 1); in zend_implement_iterator()
407 …funcs_ptr->zf_current = zend_hash_str_find_ptr(&class_type->function_table, "current", sizeof("cur… in zend_implement_iterator()
408 …funcs_ptr->zf_next = zend_hash_str_find_ptr(&class_type->function_table, "next", sizeof("next") - … in zend_implement_iterator()
413 class_type->iterator_funcs_ptr = funcs_ptr; in zend_implement_iterator()
428 static int zend_implement_arrayaccess(zend_class_entry *interface, zend_class_entry *class_type) in zend_implement_arrayaccess() argument
510 static int zend_implement_serializable(zend_class_entry *interface, zend_class_entry *class_type) in zend_implement_serializable() argument
512 if (class_type->parent in zend_implement_serializable()
513 && (class_type->parent->serialize || class_type->parent->unserialize) in zend_implement_serializable()
514 && !instanceof_function_ex(class_type->parent, zend_ce_serializable, 1)) { in zend_implement_serializable()
517 if (!class_type->serialize) { in zend_implement_serializable()
518 class_type->serialize = zend_user_serialize; in zend_implement_serializable()
520 if (!class_type->unserialize) { in zend_implement_serializable()
521 class_type->unserialize = zend_user_unserialize; in zend_implement_serializable()
528 static int zend_implement_countable(zend_class_entry *interface, zend_class_entry *class_type) in zend_implement_countable() argument