Lines Matching refs:ce

1252 	zend_class_entry *ce = Z_PTR_P(class_table_slot);  in zend_bind_class_in_slot()  local
1254 (ce->ce_flags & ZEND_ACC_PRELOADED) && !(CG(compiler_options) & ZEND_COMPILE_PRELOAD); in zend_bind_class_in_slot()
1260 success = zend_hash_add_ptr(EG(class_table), Z_STR_P(lcname), ce) != NULL; in zend_bind_class_in_slot()
1269 if (ce->ce_flags & ZEND_ACC_LINKED) { in zend_bind_class_in_slot()
1270 zend_observer_class_linked_notify(ce, Z_STR_P(lcname)); in zend_bind_class_in_slot()
1271 return ce; in zend_bind_class_in_slot()
1274 ce = zend_do_link_class(ce, lc_parent_name, Z_STR_P(lcname)); in zend_bind_class_in_slot()
1275 if (ce) { in zend_bind_class_in_slot()
1277 zend_observer_class_linked_notify(ce, Z_STR_P(lcname)); in zend_bind_class_in_slot()
1278 return ce; in zend_bind_class_in_slot()
1293 zend_class_entry *ce; in do_bind_class() local
1301 ce = zend_hash_find_ptr(EG(class_table), Z_STR_P(lcname)); in do_bind_class()
1302 ZEND_ASSERT(ce); in do_bind_class()
1303 zend_class_redeclaration_error(E_COMPILE_ERROR, ce); in do_bind_class()
1718 zend_class_entry *ce = CG(active_class_entry); in zend_ensure_valid_class_fetch_type() local
1719 if (!ce) { in zend_ensure_valid_class_fetch_type()
1723 } else if (fetch_type == ZEND_FETCH_CLASS_PARENT && !ce->parent_name) { in zend_ensure_valid_class_fetch_type()
1778 } else if (c->ce->ce_flags & ZEND_ACC_TRAIT) { in zend_verify_ct_const_access()
1786 return c->ce == scope; in zend_verify_ct_const_access()
1788 zend_class_entry *ce = c->ce; in zend_verify_ct_const_access() local
1790 if (ce == scope) { in zend_verify_ct_const_access()
1793 if (!ce->parent) { in zend_verify_ct_const_access()
1796 if (ce->ce_flags & ZEND_ACC_RESOLVED_PARENT) { in zend_verify_ct_const_access()
1797 ce = ce->parent; in zend_verify_ct_const_access()
1799 ce = zend_hash_find_ptr_lc(CG(class_table), ce->parent_name); in zend_verify_ct_const_access()
1800 if (!ce) { in zend_verify_ct_const_access()
1819 zend_class_entry *ce = zend_hash_find_ptr_lc(CG(class_table), class_name); in zend_try_ct_eval_class_const() local
1820 if (ce) { in zend_try_ct_eval_class_const()
1821 cc = zend_hash_find_ptr(&ce->constants_table, name); in zend_try_ct_eval_class_const()
1989 ZEND_API void zend_initialize_class_data(zend_class_entry *ce, bool nullify_handlers) /* {{{ */ in zend_initialize_class_data() argument
1991 bool persistent_hashes = ce->type == ZEND_INTERNAL_CLASS; in zend_initialize_class_data()
1993 ce->refcount = 1; in zend_initialize_class_data()
1994 ce->ce_flags = ZEND_ACC_CONSTANTS_UPDATED; in zend_initialize_class_data()
1997 ce->ce_flags |= ZEND_ACC_USE_GUARDS; in zend_initialize_class_data()
2000 ce->default_properties_table = NULL; in zend_initialize_class_data()
2001 ce->default_static_members_table = NULL; in zend_initialize_class_data()
2002 zend_hash_init(&ce->properties_info, 8, NULL, NULL, persistent_hashes); in zend_initialize_class_data()
2003 zend_hash_init(&ce->constants_table, 8, NULL, NULL, persistent_hashes); in zend_initialize_class_data()
2004 zend_hash_init(&ce->function_table, 8, NULL, ZEND_FUNCTION_DTOR, persistent_hashes); in zend_initialize_class_data()
2006 ce->doc_comment = NULL; in zend_initialize_class_data()
2008 ZEND_MAP_PTR_INIT(ce->static_members_table, NULL); in zend_initialize_class_data()
2009 ZEND_MAP_PTR_INIT(ce->mutable_data, NULL); in zend_initialize_class_data()
2011 ce->default_object_handlers = &std_object_handlers; in zend_initialize_class_data()
2012 ce->default_properties_count = 0; in zend_initialize_class_data()
2013 ce->default_static_members_count = 0; in zend_initialize_class_data()
2014 ce->properties_info_table = NULL; in zend_initialize_class_data()
2015 ce->attributes = NULL; in zend_initialize_class_data()
2016 ce->enum_backing_type = IS_UNDEF; in zend_initialize_class_data()
2017 ce->backed_enum_table = NULL; in zend_initialize_class_data()
2020 ce->constructor = NULL; in zend_initialize_class_data()
2021 ce->destructor = NULL; in zend_initialize_class_data()
2022 ce->clone = NULL; in zend_initialize_class_data()
2023 ce->__get = NULL; in zend_initialize_class_data()
2024 ce->__set = NULL; in zend_initialize_class_data()
2025 ce->__unset = NULL; in zend_initialize_class_data()
2026 ce->__isset = NULL; in zend_initialize_class_data()
2027 ce->__call = NULL; in zend_initialize_class_data()
2028 ce->__callstatic = NULL; in zend_initialize_class_data()
2029 ce->__tostring = NULL; in zend_initialize_class_data()
2030 ce->__serialize = NULL; in zend_initialize_class_data()
2031 ce->__unserialize = NULL; in zend_initialize_class_data()
2032 ce->__debugInfo = NULL; in zend_initialize_class_data()
2033 ce->create_object = NULL; in zend_initialize_class_data()
2034 ce->get_iterator = NULL; in zend_initialize_class_data()
2035 ce->iterator_funcs_ptr = NULL; in zend_initialize_class_data()
2036 ce->arrayaccess_funcs_ptr = NULL; in zend_initialize_class_data()
2037 ce->get_static_method = NULL; in zend_initialize_class_data()
2038 ce->parent = NULL; in zend_initialize_class_data()
2039 ce->parent_name = NULL; in zend_initialize_class_data()
2040 ce->num_interfaces = 0; in zend_initialize_class_data()
2041 ce->interfaces = NULL; in zend_initialize_class_data()
2042 ce->num_traits = 0; in zend_initialize_class_data()
2043 ce->trait_names = NULL; in zend_initialize_class_data()
2044 ce->trait_aliases = NULL; in zend_initialize_class_data()
2045 ce->trait_precedences = NULL; in zend_initialize_class_data()
2046 ce->serialize = NULL; in zend_initialize_class_data()
2047 ce->unserialize = NULL; in zend_initialize_class_data()
2048 if (ce->type == ZEND_INTERNAL_CLASS) { in zend_initialize_class_data()
2049 ce->info.internal.module = NULL; in zend_initialize_class_data()
2050 ce->info.internal.builtin_functions = NULL; in zend_initialize_class_data()
4133 static bool zend_compile_ignore_class(zend_class_entry *ce, zend_string *filename) in zend_compile_ignore_class() argument
4135 if (ce->type == ZEND_INTERNAL_CLASS) { in zend_compile_ignore_class()
4139 && ce->info.user.filename != filename; in zend_compile_ignore_class()
4950 static zend_function *zend_get_compatible_func_or_null(zend_class_entry *ce, zend_string *lcname) /… in zend_get_compatible_func_or_null() argument
4952 zend_function *fbc = zend_hash_find_ptr(&ce->function_table, lcname); in zend_get_compatible_func_or_null()
4953 if (!fbc || (fbc->common.fn_flags & ZEND_ACC_PUBLIC) || ce == CG(active_class_entry)) { in zend_get_compatible_func_or_null()
5013 zend_class_entry *ce = NULL; in zend_compile_static_call() local
5016 ce = zend_hash_find_ptr(CG(class_table), lcname); in zend_compile_static_call()
5017 if (ce) { in zend_compile_static_call()
5018 if (zend_compile_ignore_class(ce, CG(active_op_array)->filename)) { in zend_compile_static_call()
5019 ce = NULL; in zend_compile_static_call()
5023 ce = CG(active_class_entry); in zend_compile_static_call()
5028 ce = CG(active_class_entry); in zend_compile_static_call()
5030 if (ce) { in zend_compile_static_call()
5032 fbc = zend_get_compatible_func_or_null(ce, lcname); in zend_compile_static_call()
7607 static void add_stringable_interface(zend_class_entry *ce) { in add_stringable_interface() argument
7608 for (uint32_t i = 0; i < ce->num_interfaces; i++) { in add_stringable_interface()
7609 if (zend_string_equals_literal(ce->interface_names[i].lc_name, "stringable")) { in add_stringable_interface()
7615 ce->num_interfaces++; in add_stringable_interface()
7616 ce->interface_names = in add_stringable_interface()
7617 erealloc(ce->interface_names, sizeof(zend_class_name) * ce->num_interfaces); in add_stringable_interface()
7619 ce->interface_names[ce->num_interfaces - 1].name = in add_stringable_interface()
7621 ce->interface_names[ce->num_interfaces - 1].lc_name = in add_stringable_interface()
7627 zend_class_entry *ce = CG(active_class_entry); in zend_begin_method_decl() local
7628 bool in_interface = (ce->ce_flags & ZEND_ACC_INTERFACE) != 0; in zend_begin_method_decl()
7644 "%s::%s() must be public", ZSTR_VAL(ce->name), ZSTR_VAL(name)); in zend_begin_method_decl()
7648 "%s::%s() must not be final", ZSTR_VAL(ce->name), ZSTR_VAL(name)); in zend_begin_method_decl()
7652 "%s::%s() must not be abstract", ZSTR_VAL(ce->name), ZSTR_VAL(name)); in zend_begin_method_decl()
7658 if ((op_array->fn_flags & ZEND_ACC_PRIVATE) && !(ce->ce_flags & ZEND_ACC_TRAIT)) { in zend_begin_method_decl()
7660 in_interface ? "Interface" : "Abstract", ZSTR_VAL(ce->name), ZSTR_VAL(name)); in zend_begin_method_decl()
7665 in_interface ? "Interface" : "Abstract", ZSTR_VAL(ce->name), ZSTR_VAL(name)); in zend_begin_method_decl()
7668 ce->ce_flags |= ZEND_ACC_IMPLICIT_ABSTRACT_CLASS; in zend_begin_method_decl()
7671 ZSTR_VAL(ce->name), ZSTR_VAL(name)); in zend_begin_method_decl()
7674 op_array->scope = ce; in zend_begin_method_decl()
7680 if (zend_hash_add_ptr(&ce->function_table, lcname, op_array) == NULL) { in zend_begin_method_decl()
7682 ZSTR_VAL(ce->name), ZSTR_VAL(name)); in zend_begin_method_decl()
7685 zend_add_magic_method(ce, (zend_function *) op_array, lcname); in zend_begin_method_decl()
7687 && !(ce->ce_flags & ZEND_ACC_TRAIT)) { in zend_begin_method_decl()
7688 add_stringable_interface(ce); in zend_begin_method_decl()
7946 zend_class_entry *ce = CG(active_class_entry); in zend_compile_prop_decl() local
7949 if (ce->ce_flags & ZEND_ACC_INTERFACE) { in zend_compile_prop_decl()
7953 if (ce->ce_flags & ZEND_ACC_ENUM) { in zend_compile_prop_decl()
7954 zend_error_noreturn(E_COMPILE_ERROR, "Enum %s cannot include properties", ZSTR_VAL(ce->name)); in zend_compile_prop_decl()
7975 ZSTR_VAL(ce->name), ZSTR_VAL(name), ZSTR_VAL(str)); in zend_compile_prop_decl()
7984 if (zend_hash_exists(&ce->properties_info, name)) { in zend_compile_prop_decl()
7986 ZSTR_VAL(ce->name), ZSTR_VAL(name)); in zend_compile_prop_decl()
8007 ZSTR_VAL(ce->name), ZSTR_VAL(name), ZSTR_VAL(str)); in zend_compile_prop_decl()
8016 if ((ce->ce_flags & ZEND_ACC_READONLY_CLASS)) { in zend_compile_prop_decl()
8023 ZSTR_VAL(ce->name), ZSTR_VAL(name)); in zend_compile_prop_decl()
8028 ZSTR_VAL(ce->name), ZSTR_VAL(name)); in zend_compile_prop_decl()
8033 ZSTR_VAL(ce->name), ZSTR_VAL(name)); in zend_compile_prop_decl()
8037 info = zend_declare_typed_property(ce, name, &value_zv, flags, doc_comment, type); in zend_compile_prop_decl()
8069 zend_class_entry *ce = CG(active_class_entry); in zend_compile_class_const_decl() local
8092 ZSTR_VAL(ce->name), ZSTR_VAL(name), ZSTR_VAL(type_str)); in zend_compile_class_const_decl()
8099 ZSTR_VAL(ce->name), ZSTR_VAL(name) in zend_compile_class_const_decl()
8109 zend_zval_type_name(&value_zv), ZSTR_VAL(ce->name), ZSTR_VAL(name), ZSTR_VAL(type_str)); in zend_compile_class_const_decl()
8112 c = zend_declare_typed_class_constant(ce, name, &value_zv, flags, doc_comment, type); in zend_compile_class_const_decl()
8194 zend_class_entry *ce = CG(active_class_entry); in zend_compile_use_trait() local
8197ce->trait_names = erealloc(ce->trait_names, sizeof(zend_class_name) * (ce->num_traits + traits->ch… in zend_compile_use_trait()
8202 if (ce->ce_flags & ZEND_ACC_INTERFACE) { in zend_compile_use_trait()
8205 "%s is used in %s", ZSTR_VAL(name), ZSTR_VAL(ce->name)); in zend_compile_use_trait()
8208 ce->trait_names[ce->num_traits].name = in zend_compile_use_trait()
8210ce->trait_names[ce->num_traits].lc_name = zend_string_tolower(ce->trait_names[ce->num_traits].name… in zend_compile_use_trait()
8211 ce->num_traits++; in zend_compile_use_trait()
8236 zend_class_entry *ce = CG(active_class_entry); in zend_compile_implements() local
8249 ce->num_interfaces = list->children; in zend_compile_implements()
8250 ce->interface_names = interface_names; in zend_compile_implements()
8274 static void zend_compile_enum_backing_type(zend_class_entry *ce, zend_ast *enum_backing_type_ast) in zend_compile_enum_backing_type() argument
8276 ZEND_ASSERT(ce->ce_flags & ZEND_ACC_ENUM); in zend_compile_enum_backing_type()
8286 ce->enum_backing_type = IS_LONG; in zend_compile_enum_backing_type()
8289 ce->enum_backing_type = IS_STRING; in zend_compile_enum_backing_type()
8302 zend_class_entry *ce = zend_arena_alloc(&CG(arena), sizeof(zend_class_entry)); in zend_compile_class_decl() local
8342 ce->type = ZEND_USER_CLASS; in zend_compile_class_decl()
8343 ce->name = name; in zend_compile_class_decl()
8344 zend_initialize_class_data(ce, 1); in zend_compile_class_decl()
8346 zend_alloc_ce_cache(ce->name); in zend_compile_class_decl()
8350 ce->ce_flags |= ZEND_ACC_PRELOADED; in zend_compile_class_decl()
8351 ZEND_MAP_PTR_NEW(ce->static_members_table); in zend_compile_class_decl()
8352 ZEND_MAP_PTR_NEW(ce->mutable_data); in zend_compile_class_decl()
8355 ce->ce_flags |= decl->flags; in zend_compile_class_decl()
8356 ce->info.user.filename = zend_string_copy(zend_get_compiled_filename()); in zend_compile_class_decl()
8357 ce->info.user.line_start = decl->start_lineno; in zend_compile_class_decl()
8358 ce->info.user.line_end = decl->end_lineno; in zend_compile_class_decl()
8361 ce->doc_comment = zend_string_copy(decl->doc_comment); in zend_compile_class_decl()
8366 ce->ce_flags |= ZEND_ACC_NOT_SERIALIZABLE; in zend_compile_class_decl()
8370 ce->parent_name = in zend_compile_class_decl()
8374 CG(active_class_entry) = ce; in zend_compile_class_decl()
8377 zend_compile_attributes(&ce->attributes, decl->child[3], 0, ZEND_ATTRIBUTE_TARGET_CLASS, 0); in zend_compile_class_decl()
8384 if (ce->ce_flags & ZEND_ACC_ENUM) { in zend_compile_class_decl()
8386 zend_compile_enum_backing_type(ce, enum_backing_type_ast); in zend_compile_class_decl()
8388 zend_enum_add_interfaces(ce); in zend_compile_class_decl()
8389 zend_enum_register_props(ce); in zend_compile_class_decl()
8397 …if ((ce->ce_flags & (ZEND_ACC_IMPLICIT_ABSTRACT_CLASS|ZEND_ACC_INTERFACE|ZEND_ACC_TRAIT|ZEND_ACC_E… in zend_compile_class_decl()
8398 zend_verify_abstract_class(ce); in zend_compile_class_decl()
8404 ce->ce_flags |= ZEND_ACC_TOP_LEVEL; in zend_compile_class_decl()
8408 if (!ce->num_interfaces && !ce->num_traits in zend_compile_class_decl()
8413 ce->parent_name, NULL, ZEND_FETCH_CLASS_NO_AUTOLOAD); in zend_compile_class_decl()
8416 && !zend_compile_ignore_class(parent_ce, ce->info.user.filename)) { in zend_compile_class_decl()
8417 if (zend_try_early_bind(ce, parent_ce, lcname, NULL)) { in zend_compile_class_decl()
8422 } else if (EXPECTED(zend_hash_add_ptr(CG(class_table), lcname, ce) != NULL)) { in zend_compile_class_decl()
8424 zend_build_properties_info_table(ce); in zend_compile_class_decl()
8425 zend_inheritance_check_override(ce); in zend_compile_class_decl()
8426 ce->ce_flags |= ZEND_ACC_LINKED; in zend_compile_class_decl()
8427 zend_observer_class_linked_notify(ce, lcname); in zend_compile_class_decl()
8435 zend_build_properties_info_table(ce); in zend_compile_class_decl()
8436 zend_inheritance_check_override(ce); in zend_compile_class_decl()
8437 ce->ce_flags |= ZEND_ACC_LINKED; in zend_compile_class_decl()
8443 if (ce->parent_name) { in zend_compile_class_decl()
8445 zend_string *lc_parent_name = zend_string_tolower(ce->parent_name); in zend_compile_class_decl()
8457 if (!zend_hash_add_ptr(CG(class_table), lcname, ce)) { in zend_compile_class_decl()
8468 } while (!zend_hash_add_ptr(CG(class_table), key, ce)); in zend_compile_class_decl()
8477 && !ce->num_interfaces && !ce->num_traits in zend_compile_class_decl()
8827 zend_class_entry *ce = CG(active_class_entry); in zend_try_ct_eval_magic_const() local
8869 if (op_array && ce && !op_array->scope && !(op_array->fn_flags & ZEND_ACC_CLOSURE)) { in zend_try_ct_eval_magic_const()
8884 if (ce) { in zend_try_ct_eval_magic_const()
8885 if ((ce->ce_flags & ZEND_ACC_TRAIT) != 0) { in zend_try_ct_eval_magic_const()
8888 ZVAL_STR_COPY(zv, ce->name); in zend_try_ct_eval_magic_const()
8895 if (ce && (ce->ce_flags & ZEND_ACC_TRAIT) != 0) { in zend_try_ct_eval_magic_const()
8896 ZVAL_STR_COPY(zv, ce->name); in zend_try_ct_eval_magic_const()