parent_ce 2675 Zend/zend_API.c ZEND_API zend_class_entry *zend_register_internal_class_ex(zend_class_entry *class_entry, zend_class_entry *parent_ce) /* {{{ */ parent_ce 2681 Zend/zend_API.c if (parent_ce) { parent_ce 2682 Zend/zend_API.c zend_do_inheritance(register_class, parent_ce); parent_ce 290 Zend/zend_API.h ZEND_API zend_class_entry *zend_register_internal_class_ex(zend_class_entry *class_entry, zend_class_entry *parent_ce); parent_ce 1016 Zend/zend_compile.c ZEND_API zend_class_entry *do_bind_inherited_class(const zend_op_array *op_array, const zend_op *opline, HashTable *class_table, zend_class_entry *parent_ce, zend_bool compile_time) /* {{{ */ parent_ce 1047 Zend/zend_compile.c zend_do_inheritance(ce, parent_ce); parent_ce 708 Zend/zend_compile.h ZEND_API zend_class_entry *do_bind_inherited_class(const zend_op_array *op_array, const zend_op *opline, HashTable *class_table, zend_class_entry *parent_ce, zend_bool compile_time); parent_ce 714 Zend/zend_inheritance.c static void do_inherit_class_constant(zend_string *name, zval *zv, zend_class_entry *ce, zend_class_entry *parent_ce) /* {{{ */ parent_ce 718 Zend/zend_inheritance.c if (parent_ce->type == ZEND_INTERNAL_CLASS) { parent_ce 733 Zend/zend_inheritance.c ZEND_API void zend_do_inheritance(zend_class_entry *ce, zend_class_entry *parent_ce) /* {{{ */ parent_ce 742 Zend/zend_inheritance.c if (UNEXPECTED(!(parent_ce->ce_flags & ZEND_ACC_INTERFACE))) { parent_ce 743 Zend/zend_inheritance.c zend_error_noreturn(E_COMPILE_ERROR, "Interface %s may not inherit from class (%s)", ZSTR_VAL(ce->name), ZSTR_VAL(parent_ce->name)); parent_ce 745 Zend/zend_inheritance.c } else if (UNEXPECTED(parent_ce->ce_flags & (ZEND_ACC_INTERFACE|ZEND_ACC_TRAIT|ZEND_ACC_FINAL))) { parent_ce 747 Zend/zend_inheritance.c if (parent_ce->ce_flags & ZEND_ACC_INTERFACE) { parent_ce 748 Zend/zend_inheritance.c zend_error_noreturn(E_COMPILE_ERROR, "Class %s cannot extend from interface %s", ZSTR_VAL(ce->name), ZSTR_VAL(parent_ce->name)); parent_ce 749 Zend/zend_inheritance.c } else if (parent_ce->ce_flags & ZEND_ACC_TRAIT) { parent_ce 750 Zend/zend_inheritance.c zend_error_noreturn(E_COMPILE_ERROR, "Class %s cannot extend from trait %s", ZSTR_VAL(ce->name), ZSTR_VAL(parent_ce->name)); parent_ce 754 Zend/zend_inheritance.c if (parent_ce->ce_flags & ZEND_ACC_FINAL) { parent_ce 755 Zend/zend_inheritance.c zend_error_noreturn(E_COMPILE_ERROR, "Class %s may not inherit from final class (%s)", ZSTR_VAL(ce->name), ZSTR_VAL(parent_ce->name)); parent_ce 759 Zend/zend_inheritance.c ce->parent = parent_ce; parent_ce 762 Zend/zend_inheritance.c zend_do_inherit_interfaces(ce, parent_ce); parent_ce 765 Zend/zend_inheritance.c if (parent_ce->default_properties_count) { parent_ce 769 Zend/zend_inheritance.c zval *table = pemalloc(sizeof(zval) * (ce->default_properties_count + parent_ce->default_properties_count), ce->type == ZEND_INTERNAL_CLASS); parent_ce 771 Zend/zend_inheritance.c end = table + parent_ce->default_properties_count; parent_ce 782 Zend/zend_inheritance.c end = pemalloc(sizeof(zval) * parent_ce->default_properties_count, ce->type == ZEND_INTERNAL_CLASS); parent_ce 783 Zend/zend_inheritance.c dst = end + parent_ce->default_properties_count; parent_ce 786 Zend/zend_inheritance.c src = parent_ce->default_properties_table + parent_ce->default_properties_count; parent_ce 791 Zend/zend_inheritance.c if (parent_ce->type != ce->type) { parent_ce 805 Zend/zend_inheritance.c ce->default_properties_count += parent_ce->default_properties_count; parent_ce 808 Zend/zend_inheritance.c if (parent_ce->default_static_members_count) { parent_ce 812 Zend/zend_inheritance.c zval *table = pemalloc(sizeof(zval) * (ce->default_static_members_count + parent_ce->default_static_members_count), ce->type == ZEND_INTERNAL_CLASS); parent_ce 814 Zend/zend_inheritance.c end = table + parent_ce->default_static_members_count; parent_ce 825 Zend/zend_inheritance.c end = pemalloc(sizeof(zval) * parent_ce->default_static_members_count, ce->type == ZEND_INTERNAL_CLASS); parent_ce 826 Zend/zend_inheritance.c dst = end + parent_ce->default_static_members_count; parent_ce 829 Zend/zend_inheritance.c src = parent_ce->default_static_members_table + parent_ce->default_static_members_count; parent_ce 833 Zend/zend_inheritance.c if (parent_ce->type == ZEND_INTERNAL_CLASS) { parent_ce 846 Zend/zend_inheritance.c ce->default_static_members_count += parent_ce->default_static_members_count; parent_ce 857 Zend/zend_inheritance.c property_info->offset += parent_ce->default_static_members_count; parent_ce 859 Zend/zend_inheritance.c property_info->offset += parent_ce->default_properties_count * sizeof(zval); parent_ce 864 Zend/zend_inheritance.c if (zend_hash_num_elements(&parent_ce->properties_info)) { parent_ce 867 Zend/zend_inheritance.c zend_hash_num_elements(&parent_ce->properties_info), 0); parent_ce 869 Zend/zend_inheritance.c ZEND_HASH_FOREACH_STR_KEY_PTR(&parent_ce->properties_info, key, property_info) { parent_ce 874 Zend/zend_inheritance.c if (zend_hash_num_elements(&parent_ce->constants_table)) { parent_ce 877 Zend/zend_inheritance.c zend_hash_num_elements(&parent_ce->constants_table), 0); parent_ce 879 Zend/zend_inheritance.c ZEND_HASH_FOREACH_STR_KEY_VAL(&parent_ce->constants_table, key, zv) { parent_ce 880 Zend/zend_inheritance.c do_inherit_class_constant(key, zv, ce, parent_ce); parent_ce 884 Zend/zend_inheritance.c if (zend_hash_num_elements(&parent_ce->function_table)) { parent_ce 887 Zend/zend_inheritance.c zend_hash_num_elements(&parent_ce->function_table), 0); parent_ce 889 Zend/zend_inheritance.c ZEND_HASH_FOREACH_STR_KEY_PTR(&parent_ce->function_table, key, func) { parent_ce 906 Zend/zend_inheritance.c ce->ce_flags |= parent_ce->ce_flags & (ZEND_HAS_STATIC_IN_METHODS | ZEND_ACC_USE_GUARDS); parent_ce 33 Zend/zend_inheritance.h ZEND_API void zend_do_inheritance(zend_class_entry *ce, zend_class_entry *parent_ce); parent_ce 132 ext/dom/php_dom.h #define REGISTER_DOM_CLASS(ce, name, parent_ce, funcs, entry) \ parent_ce 135 ext/dom/php_dom.h entry = zend_register_internal_class_ex(&ce, parent_ce); parent_ce 56 ext/spl/spl_functions.c PHPAPI void spl_register_sub_class(zend_class_entry ** ppce, zend_class_entry * parent_ce, char * class_name, void *obj_ctor, const zend_function_entry * function_list) parent_ce 61 ext/spl/spl_functions.c *ppce = zend_register_internal_class_ex(&ce, parent_ce); parent_ce 67 ext/spl/spl_functions.c (*ppce)->create_object = parent_ce->create_object; parent_ce 53 ext/spl/spl_functions.h void spl_register_sub_class(zend_class_entry ** ppce, zend_class_entry * parent_ce, char * class_name, create_object_func_t ctor, const zend_function_entry * function_list); parent_ce 88 ext/xsl/php_xsl.h #define REGISTER_XSL_CLASS(ce, name, parent_ce, funcs, entry) \ parent_ce 91 ext/xsl/php_xsl.h entry = zend_register_internal_class_ex(&ce, parent_ce);