parent_ce 2538 Zend/zend_API.c ZEND_API zend_class_entry *zend_register_internal_class_ex(zend_class_entry *class_entry, zend_class_entry *parent_ce, char *parent_name TSRMLS_DC) /* {{{ */ parent_ce 2542 Zend/zend_API.c if (!parent_ce && parent_name) { parent_ce 2547 Zend/zend_API.c parent_ce = *pce; parent_ce 2553 Zend/zend_API.c if (parent_ce) { parent_ce 2554 Zend/zend_API.c zend_do_inheritance(register_class, parent_ce TSRMLS_CC); parent_ce 280 Zend/zend_API.h ZEND_API zend_class_entry *zend_register_internal_class_ex(zend_class_entry *class_entry, zend_class_entry *parent_ce, char *parent_name TSRMLS_DC); parent_ce 3639 Zend/zend_compile.c zend_class_entry *parent_ce = ce->parent; parent_ce 3660 Zend/zend_compile.c (parent_info->flags & ZEND_ACC_STATIC) ? "static " : "non static ", parent_ce->name, hash_key->arKey, parent_ce 3670 Zend/zend_compile.c zend_error_noreturn(E_COMPILE_ERROR, "Access level to %s::$%s must be %s (as in class %s)%s", ce->name, hash_key->arKey, zend_visibility_string(parent_info->flags), parent_ce->name, (parent_info->flags&ZEND_ACC_PUBLIC) ? "" : " or weaker"); parent_ce 3742 Zend/zend_compile.c # define zval_property_ctor(parent_ce, ce) \ parent_ce 3743 Zend/zend_compile.c ((void (*)(void *)) (((parent_ce)->type != (ce)->type) ? zval_internal_ctor : zval_add_ref)) parent_ce 3745 Zend/zend_compile.c # define zval_property_ctor(parent_ce, ce) \ parent_ce 3749 Zend/zend_compile.c ZEND_API void zend_do_inheritance(zend_class_entry *ce, zend_class_entry *parent_ce TSRMLS_DC) /* {{{ */ parent_ce 3754 Zend/zend_compile.c && !(parent_ce->ce_flags & ZEND_ACC_INTERFACE)) { parent_ce 3755 Zend/zend_compile.c zend_error_noreturn(E_COMPILE_ERROR, "Interface %s may not inherit from class (%s)", ce->name, parent_ce->name); parent_ce 3757 Zend/zend_compile.c if (parent_ce->ce_flags & ZEND_ACC_FINAL_CLASS) { parent_ce 3758 Zend/zend_compile.c zend_error_noreturn(E_COMPILE_ERROR, "Class %s may not inherit from final class (%s)", ce->name, parent_ce->name); parent_ce 3761 Zend/zend_compile.c ce->parent = parent_ce; parent_ce 3764 Zend/zend_compile.c ce->serialize = parent_ce->serialize; parent_ce 3767 Zend/zend_compile.c ce->unserialize = parent_ce->unserialize; parent_ce 3771 Zend/zend_compile.c zend_do_inherit_interfaces(ce, parent_ce TSRMLS_CC); parent_ce 3774 Zend/zend_compile.c if (parent_ce->default_properties_count) { parent_ce 3775 Zend/zend_compile.c int i = ce->default_properties_count + parent_ce->default_properties_count; parent_ce 3779 Zend/zend_compile.c while (i-- > parent_ce->default_properties_count) { parent_ce 3780 Zend/zend_compile.c ce->default_properties_table[i] = ce->default_properties_table[i - parent_ce->default_properties_count]; parent_ce 3783 Zend/zend_compile.c for (i = 0; i < parent_ce->default_properties_count; i++) { parent_ce 3784 Zend/zend_compile.c ce->default_properties_table[i] = parent_ce->default_properties_table[i]; parent_ce 3787 Zend/zend_compile.c if (parent_ce->type != ce->type) { parent_ce 3801 Zend/zend_compile.c ce->default_properties_count += parent_ce->default_properties_count; parent_ce 3804 Zend/zend_compile.c if (parent_ce->type != ce->type) { parent_ce 3806 Zend/zend_compile.c zend_update_class_constants(parent_ce TSRMLS_CC); parent_ce 3807 Zend/zend_compile.c if (parent_ce->default_static_members_count) { parent_ce 3808 Zend/zend_compile.c int i = ce->default_static_members_count + parent_ce->default_static_members_count; parent_ce 3812 Zend/zend_compile.c while (i-- > parent_ce->default_static_members_count) { parent_ce 3813 Zend/zend_compile.c ce->default_static_members_table[i] = ce->default_static_members_table[i - parent_ce->default_static_members_count]; parent_ce 3816 Zend/zend_compile.c for (i = 0; i < parent_ce->default_static_members_count; i++) { parent_ce 3817 Zend/zend_compile.c SEPARATE_ZVAL_TO_MAKE_IS_REF(&CE_STATIC_MEMBERS(parent_ce)[i]); parent_ce 3818 Zend/zend_compile.c ce->default_static_members_table[i] = CE_STATIC_MEMBERS(parent_ce)[i]; parent_ce 3821 Zend/zend_compile.c ce->default_static_members_count += parent_ce->default_static_members_count; parent_ce 3825 Zend/zend_compile.c if (parent_ce->default_static_members_count) { parent_ce 3826 Zend/zend_compile.c int i = ce->default_static_members_count + parent_ce->default_static_members_count; parent_ce 3830 Zend/zend_compile.c while (i-- > parent_ce->default_static_members_count) { parent_ce 3831 Zend/zend_compile.c ce->default_static_members_table[i] = ce->default_static_members_table[i - parent_ce->default_static_members_count]; parent_ce 3834 Zend/zend_compile.c for (i = 0; i < parent_ce->default_static_members_count; i++) { parent_ce 3835 Zend/zend_compile.c SEPARATE_ZVAL_TO_MAKE_IS_REF(&parent_ce->default_static_members_table[i]); parent_ce 3836 Zend/zend_compile.c ce->default_static_members_table[i] = parent_ce->default_static_members_table[i]; parent_ce 3839 Zend/zend_compile.c ce->default_static_members_count += parent_ce->default_static_members_count; parent_ce 3851 Zend/zend_compile.c property_info->offset += parent_ce->default_static_members_count; parent_ce 3853 Zend/zend_compile.c property_info->offset += parent_ce->default_properties_count; parent_ce 3858 Zend/zend_compile.c zend_hash_merge_ex(&ce->properties_info, &parent_ce->properties_info, (copy_ctor_func_t) (ce->type & ZEND_INTERNAL_CLASS ? zend_duplicate_property_info_internal : zend_duplicate_property_info), sizeof(zend_property_info), (merge_checker_func_t) do_inherit_property_access_check, ce); parent_ce 3860 Zend/zend_compile.c zend_hash_merge(&ce->constants_table, &parent_ce->constants_table, zval_property_ctor(parent_ce, ce), NULL, sizeof(zval *), 0); parent_ce 3861 Zend/zend_compile.c zend_hash_merge_ex(&ce->function_table, &parent_ce->function_table, (copy_ctor_func_t) do_inherit_method, sizeof(zend_function), (merge_checker_func_t) do_inherit_method_check, ce); parent_ce 3870 Zend/zend_compile.c ce->ce_flags |= parent_ce->ce_flags & ZEND_HAS_STATIC_IN_METHODS; parent_ce 4730 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 TSRMLS_DC) /* {{{ */ parent_ce 4760 Zend/zend_compile.c if (parent_ce->ce_flags & ZEND_ACC_INTERFACE) { parent_ce 4761 Zend/zend_compile.c zend_error_noreturn(E_COMPILE_ERROR, "Class %s cannot extend from interface %s", ce->name, parent_ce->name); parent_ce 4762 Zend/zend_compile.c } else if ((parent_ce->ce_flags & ZEND_ACC_TRAIT) == ZEND_ACC_TRAIT) { parent_ce 4763 Zend/zend_compile.c zend_error_noreturn(E_COMPILE_ERROR, "Class %s cannot extend from trait %s", ce->name, parent_ce->name); parent_ce 4766 Zend/zend_compile.c zend_do_inheritance(ce, parent_ce TSRMLS_CC); parent_ce 544 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 TSRMLS_DC); parent_ce 558 Zend/zend_compile.h ZEND_API void zend_do_inheritance(zend_class_entry *ce, zend_class_entry *parent_ce TSRMLS_DC); parent_ce 129 ext/dom/php_dom.h #define REGISTER_DOM_CLASS(ce, name, parent_ce, funcs, entry) \ parent_ce 132 ext/dom/php_dom.h entry = zend_register_internal_class_ex(&ce, parent_ce, NULL TSRMLS_CC); 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 TSRMLS_DC) parent_ce 61 ext/spl/spl_functions.c *ppce = zend_register_internal_class_ex(&ce, parent_ce, NULL TSRMLS_CC); 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 TSRMLS_DC); parent_ce 79 ext/xsl/php_xsl.h #define REGISTER_XSL_CLASS(ce, name, parent_ce, funcs, entry) \ parent_ce 82 ext/xsl/php_xsl.h entry = zend_register_internal_class_ex(&ce, parent_ce, NULL TSRMLS_CC);