Lines Matching refs:ce

98 		if (EG(exception) && EG(exception)->ce == reflection_exception_ptr) { \
164 zend_class_entry *ce; member
183 static inline zend_bool is_closure_invoke(zend_class_entry *ce, zend_string *lcname) { in is_closure_invoke() argument
184 return ce == zend_ce_closure in is_closure_invoke()
307 static void _class_string(smart_str *str, zend_class_entry *ce, zval *obj, char *indent);
312 static void _class_string(smart_str *str, zend_class_entry *ce, zval *obj, char *indent) in _class_string() argument
318 if (ce->type == ZEND_USER_CLASS && ce->info.user.doc_comment) { in _class_string()
319 smart_str_append_printf(str, "%s%s", indent, ZSTR_VAL(ce->info.user.doc_comment)); in _class_string()
327 if (ce->ce_flags & ZEND_ACC_INTERFACE) { in _class_string()
329 } else if (ce->ce_flags & ZEND_ACC_TRAIT) { in _class_string()
334 smart_str_append_printf(str, (ce->type == ZEND_USER_CLASS) ? "<user" : "<internal"); in _class_string()
335 if (ce->type == ZEND_INTERNAL_CLASS && ce->info.internal.module) { in _class_string()
336 smart_str_append_printf(str, ":%s", ce->info.internal.module->name); in _class_string()
339 if (ce->get_iterator != NULL) { in _class_string()
342 if (ce->ce_flags & ZEND_ACC_INTERFACE) { in _class_string()
344 } else if (ce->ce_flags & ZEND_ACC_TRAIT) { in _class_string()
347 if (ce->ce_flags & (ZEND_ACC_IMPLICIT_ABSTRACT_CLASS|ZEND_ACC_EXPLICIT_ABSTRACT_CLASS)) { in _class_string()
350 if (ce->ce_flags & ZEND_ACC_FINAL) { in _class_string()
355 smart_str_append_printf(str, "%s", ZSTR_VAL(ce->name)); in _class_string()
356 if (ce->parent) { in _class_string()
357 smart_str_append_printf(str, " extends %s", ZSTR_VAL(ce->parent->name)); in _class_string()
360 if (ce->num_interfaces) { in _class_string()
363 ZEND_ASSERT(ce->ce_flags & ZEND_ACC_LINKED); in _class_string()
364 if (ce->ce_flags & ZEND_ACC_INTERFACE) { in _class_string()
365 smart_str_append_printf(str, " extends %s", ZSTR_VAL(ce->interfaces[0]->name)); in _class_string()
367 smart_str_append_printf(str, " implements %s", ZSTR_VAL(ce->interfaces[0]->name)); in _class_string()
369 for (i = 1; i < ce->num_interfaces; ++i) { in _class_string()
370 smart_str_append_printf(str, ", %s", ZSTR_VAL(ce->interfaces[i]->name)); in _class_string()
376 if (ce->type == ZEND_USER_CLASS) { in _class_string()
377 smart_str_append_printf(str, "%s @@ %s %d-%d\n", indent, ZSTR_VAL(ce->info.user.filename), in _class_string()
378 ce->info.user.line_start, ce->info.user.line_end); in _class_string()
383 count = zend_hash_num_elements(&ce->constants_table); in _class_string()
389 ZEND_HASH_FOREACH_STR_KEY_PTR(&ce->constants_table, key, c) { in _class_string()
401 count = zend_hash_num_elements(&ce->properties_info); in _class_string()
405 ZEND_HASH_FOREACH_PTR(&ce->properties_info, prop) { in _class_string()
406 if ((prop->flags & ZEND_ACC_PRIVATE) && prop->ce != ce) { in _class_string()
419 ZEND_HASH_FOREACH_PTR(&ce->properties_info, prop) { in _class_string()
420 if ((prop->flags & ZEND_ACC_STATIC) && (!(prop->flags & ZEND_ACC_PRIVATE) || prop->ce == ce)) { in _class_string()
429 count = zend_hash_num_elements(&ce->function_table); in _class_string()
433 ZEND_HASH_FOREACH_PTR(&ce->function_table, mptr) { in _class_string()
435 && ((mptr->common.fn_flags & ZEND_ACC_PRIVATE) == 0 || mptr->common.scope == ce)) in _class_string()
447 ZEND_HASH_FOREACH_PTR(&ce->function_table, mptr) { in _class_string()
449 && ((mptr->common.fn_flags & ZEND_ACC_PRIVATE) == 0 || mptr->common.scope == ce)) in _class_string()
452 _function_string(str, mptr, ce, ZSTR_VAL(sub_indent)); in _class_string()
461 count = zend_hash_num_elements(&ce->properties_info) - count_static_props - count_shadow_props; in _class_string()
466 ZEND_HASH_FOREACH_PTR(&ce->properties_info, prop) { in _class_string()
468 && (!(prop->flags & ZEND_ACC_PRIVATE) || prop->ce == ce)) { in _class_string()
484 if (!zend_hash_exists(&ce->properties_info, prop_name)) { in _class_string()
499 count = zend_hash_num_elements(&ce->function_table) - count_static_funcs; in _class_string()
505 ZEND_HASH_FOREACH_PTR(&ce->function_table, mptr) { in _class_string()
507 && ((mptr->common.fn_flags & ZEND_ACC_PRIVATE) == 0 || mptr->common.scope == ce)) in _class_string()
511 if (obj && is_closure_invoke(ce, mptr->common.function_name) in _class_string()
519 _function_string(&method_str, mptr, ce, ZSTR_VAL(sub_indent)); in _class_string()
567 if (zval_update_constant_ex(&c->value, c->ce) == FAILURE) { in _class_const_string()
865 zend_class_entry *ce = prop_info->ce; in property_get_default() local
867 zval *prop = &ce->default_static_members_table[prop_info->offset]; in property_get_default()
871 return &ce->default_properties_table[OBJ_PROP_TO_NUM(prop_info->offset)]; in property_get_default()
912 if (format_default_value(str, default_value, prop->ce) == FAILURE) { in _property_string()
954 static void _extension_class_string(zend_class_entry *ce, zend_string *key, smart_str *str, char *i… in _extension_class_string() argument
956 …if (ce->type == ZEND_INTERNAL_CLASS && ce->info.internal.module && !strcasecmp(ce->info.internal.m… in _extension_class_string()
958 if (zend_string_equals_ci(ce->name, key)) { in _extension_class_string()
960 _class_string(str, ce, NULL, indent); in _extension_class_string()
1072 zend_class_entry *ce; in _extension_string() local
1075 ZEND_HASH_FOREACH_STR_KEY_PTR(EG(class_table), key, ce) { in _extension_string()
1076 _extension_class_string(ce, key, &str_classes, ZSTR_VAL(sub_indent), module, &num_classes); in _extension_string()
1141 zend_class_entry *ce = zend_lookup_class_ex(attr->name, attr->lcname, 0); in read_attributes() local
1143 if (ce == NULL) { in read_attributes()
1152 if (!instanceof_function(ce, base)) { in read_attributes()
1241 PHPAPI void zend_reflection_class_factory(zend_class_entry *ce, zval *object) in zend_reflection_class_factory() argument
1247 intern->ptr = ce; in zend_reflection_class_factory()
1249 intern->ce = ce; in zend_reflection_class_factory()
1250 ZVAL_STR_COPY(reflection_prop_name(object), ce->name); in zend_reflection_class_factory()
1274 intern->ce = NULL; in reflection_extension_factory()
1295 intern->ce = fptr->common.scope; in reflection_parameter_factory()
1362 intern->ce = NULL; in reflection_function_factory()
1371 static void reflection_method_factory(zend_class_entry *ce, zend_function *method, zval *closure_ob… in reflection_method_factory() argument
1379 intern->ce = ce; in reflection_method_factory()
1390 static void reflection_property_factory(zend_class_entry *ce, zend_string *name, zend_property_info… in reflection_property_factory() argument
1402 intern->ce = ce; in reflection_property_factory()
1405 ZVAL_STR_COPY(reflection_prop_class(object), prop ? prop->ce->name : ce->name); in reflection_property_factory()
1409 static void reflection_property_factory_str(zend_class_entry *ce, const char *name_str, size_t name… in reflection_property_factory_str() argument
1412 reflection_property_factory(ce, name, prop, object); in reflection_property_factory_str()
1425 intern->ce = constant->ce; in reflection_class_constant_factory()
1429 ZVAL_STR_COPY(reflection_prop_class(object), constant->ce->name); in reflection_class_constant_factory()
1549 intern->ce = NULL; in ZEND_METHOD()
1564 _function_string(&str, fptr, intern->ce, ""); in ZEND_METHOD()
2114 if (intern->ce) { in ZEND_METHOD()
2120 intern->ce = zend_ce_generator; in ZEND_METHOD()
2273 zend_class_entry *ce = NULL; in ZEND_METHOD() local
2296 ce = fptr->common.scope; in ZEND_METHOD()
2313 ce = Z_OBJCE_P(classref); in ZEND_METHOD()
2319 if ((ce = zend_lookup_class(name)) == NULL) { in ZEND_METHOD()
2334 if (Z_TYPE_P(classref) == IS_OBJECT && is_closure_invoke(ce, lcname) in ZEND_METHOD()
2339 } else if ((fptr = zend_hash_find_ptr(&ce->function_table, lcname)) == NULL) { in ZEND_METHOD()
2341 "Method %s::%s() does not exist", ZSTR_VAL(ce->name), ZSTR_VAL(name)); in ZEND_METHOD()
2352 ce = Z_OBJCE_P(reference); in ZEND_METHOD()
2354 if (instanceof_function(ce, zend_ce_closure)) { in ZEND_METHOD()
2358 …} else if ((fptr = zend_hash_find_ptr(&ce->function_table, ZSTR_KNOWN(ZEND_STR_MAGIC_INVOKE))) == … in ZEND_METHOD()
2360 "Method %s::%s() does not exist", ZSTR_VAL(ce->name), ZEND_INVOKE_FUNC_NAME); in ZEND_METHOD()
2423 intern->ce = ce; in ZEND_METHOD()
2525 zend_class_entry *ce; in ZEND_METHOD() local
2550 ce = param->fptr->common.scope; in ZEND_METHOD()
2551 if (!ce) { in ZEND_METHOD()
2557 ce = param->fptr->common.scope; in ZEND_METHOD()
2558 if (!ce) { in ZEND_METHOD()
2563 if (!ce->parent) { in ZEND_METHOD()
2568 ce = ce->parent; in ZEND_METHOD()
2570 ce = zend_lookup_class(class_name); in ZEND_METHOD()
2571 if (!ce) { in ZEND_METHOD()
2577 zend_reflection_class_factory(ce, return_value); in ZEND_METHOD()
3034 zend_class_entry *ce = NULL; in ZEND_METHOD() local
3057 ce = arg1_obj->ce; in ZEND_METHOD()
3081 if ((ce = zend_lookup_class(class_name)) == NULL) { in ZEND_METHOD()
3097 if (ce == zend_ce_closure && orig_obj && (method_name_len == sizeof(ZEND_INVOKE_FUNC_NAME)-1) in ZEND_METHOD()
3102 } else if ((mptr = zend_hash_str_find_ptr(&ce->function_table, lcname, method_name_len)) == NULL) { in ZEND_METHOD()
3105 "Method %s::%s() does not exist", ZSTR_VAL(ce->name), method_name); in ZEND_METHOD()
3114 intern->ce = ce; in ZEND_METHOD()
3129 _function_string(&str, mptr, intern->ce, ""); in ZEND_METHOD()
3251 fcc.called_scope = intern->ce; in reflection_method_invoke()
3464 …RETURN_BOOL((mptr->common.fn_flags & ZEND_ACC_CTOR) && intern->ce->constructor && intern->ce->cons… in ZEND_METHOD()
3530 …"Method %s::%s does not have a prototype", ZSTR_VAL(intern->ce->name), ZSTR_VAL(mptr->common.funct… in ZEND_METHOD()
3562 zend_class_entry *ce; in ZEND_METHOD() local
3571 ce = classname_obj->ce; in ZEND_METHOD()
3573 if ((ce = zend_lookup_class(classname_str)) == NULL) { in ZEND_METHOD()
3582 if ((constant = zend_hash_find_ptr(&ce->constants_table, constname)) == NULL) { in ZEND_METHOD()
3583 …ex(reflection_exception_ptr, 0, "Constant %s::%s does not exist", ZSTR_VAL(ce->name), ZSTR_VAL(con… in ZEND_METHOD()
3589 intern->ce = constant->ce; in ZEND_METHOD()
3592 ZVAL_STR_COPY(reflection_prop_class(object), constant->ce->name); in ZEND_METHOD()
3687 zval_update_constant_ex(return_value, ref->ce); in ZEND_METHOD()
3703 zend_reflection_class_factory(ref->ce, return_value); in ZEND_METHOD()
3733 ref->attributes, 0, ref->ce, ZEND_ATTRIBUTE_TARGET_CLASS_CONST, in ZEND_METHOD()
3734 ref->ce->type == ZEND_USER_CLASS ? ref->ce->info.user.filename : NULL); in ZEND_METHOD()
3745 zend_class_entry *ce; in reflection_class_object_ctor() local
3761 ZVAL_STR_COPY(reflection_prop_name(object), arg_obj->ce->name); in reflection_class_object_ctor()
3762 intern->ptr = arg_obj->ce; in reflection_class_object_ctor()
3767 if ((ce = zend_lookup_class(arg_class)) == NULL) { in reflection_class_object_ctor()
3774 ZVAL_STR_COPY(reflection_prop_name(object), ce->name); in reflection_class_object_ctor()
3775 intern->ptr = ce; in reflection_class_object_ctor()
3789 static void add_class_vars(zend_class_entry *ce, zend_bool statics, zval *return_value) in add_class_vars() argument
3795 ZEND_HASH_FOREACH_STR_KEY_PTR(&ce->properties_info, key, prop_info) { in add_class_vars()
3797 prop_info->ce != ce)) { in add_class_vars()
3818 if (UNEXPECTED(zval_update_constant_ex(&prop_copy, ce) != SUCCESS)) { in add_class_vars()
3832 zend_class_entry *ce; in ZEND_METHOD() local
3841 GET_REFLECTION_OBJECT_PTR(ce); in ZEND_METHOD()
3843 if (UNEXPECTED(zend_update_class_constants(ce) != SUCCESS)) { in ZEND_METHOD()
3847 if (ce->default_static_members_count && !CE_STATIC_MEMBERS(ce)) { in ZEND_METHOD()
3848 zend_class_init_statics(ce); in ZEND_METHOD()
3853 ZEND_HASH_FOREACH_STR_KEY_PTR(&ce->properties_info, key, prop_info) { in ZEND_METHOD()
3855 prop_info->ce != ce)) { in ZEND_METHOD()
3862 prop = &CE_STATIC_MEMBERS(ce)[prop_info->offset]; in ZEND_METHOD()
3882 zend_class_entry *ce, *old_scope; in ZEND_METHOD() local
3890 GET_REFLECTION_OBJECT_PTR(ce); in ZEND_METHOD()
3892 if (UNEXPECTED(zend_update_class_constants(ce) != SUCCESS)) { in ZEND_METHOD()
3897 EG(fake_scope) = ce; in ZEND_METHOD()
3898 prop = zend_std_get_static_property(ce, name, BP_VAR_IS); in ZEND_METHOD()
3906 "Property %s::$%s does not exist", ZSTR_VAL(ce->name), ZSTR_VAL(name)); in ZEND_METHOD()
3919 zend_class_entry *ce, *old_scope; in ZEND_METHOD() local
3928 GET_REFLECTION_OBJECT_PTR(ce); in ZEND_METHOD()
3930 if (UNEXPECTED(zend_update_class_constants(ce) != SUCCESS)) { in ZEND_METHOD()
3934 EG(fake_scope) = ce; in ZEND_METHOD()
3935 variable_ptr = zend_std_get_static_property_with_info(ce, name, BP_VAR_W, &prop_info); in ZEND_METHOD()
3940 "Class %s does not have a property named %s", ZSTR_VAL(ce->name), ZSTR_VAL(name)); in ZEND_METHOD()
3967 zend_class_entry *ce; in ZEND_METHOD() local
3972 GET_REFLECTION_OBJECT_PTR(ce); in ZEND_METHOD()
3974 if (UNEXPECTED(zend_update_class_constants(ce) != SUCCESS)) { in ZEND_METHOD()
3977 add_class_vars(ce, 1, return_value); in ZEND_METHOD()
3978 add_class_vars(ce, 0, return_value); in ZEND_METHOD()
3986 zend_class_entry *ce; in ZEND_METHOD() local
3992 GET_REFLECTION_OBJECT_PTR(ce); in ZEND_METHOD()
3993 _class_string(&str, ce, &intern->obj, ""); in ZEND_METHOD()
4002 zend_class_entry *ce; in ZEND_METHOD() local
4008 GET_REFLECTION_OBJECT_PTR(ce); in ZEND_METHOD()
4009 RETURN_STR_COPY(ce->name); in ZEND_METHOD()
4017 zend_class_entry *ce; in ZEND_METHOD() local
4022 GET_REFLECTION_OBJECT_PTR(ce); in ZEND_METHOD()
4023 RETURN_BOOL(ce->type == ZEND_INTERNAL_CLASS); in ZEND_METHOD()
4031 zend_class_entry *ce; in ZEND_METHOD() local
4036 GET_REFLECTION_OBJECT_PTR(ce); in ZEND_METHOD()
4037 RETURN_BOOL(ce->type == ZEND_USER_CLASS); in ZEND_METHOD()
4045 zend_class_entry *ce; in ZEND_METHOD() local
4050 GET_REFLECTION_OBJECT_PTR(ce); in ZEND_METHOD()
4051 RETURN_BOOL(ce->ce_flags & ZEND_ACC_ANON_CLASS); in ZEND_METHOD()
4059 zend_class_entry *ce; in ZEND_METHOD() local
4064 GET_REFLECTION_OBJECT_PTR(ce); in ZEND_METHOD()
4065 if (ce->type == ZEND_USER_CLASS) { in ZEND_METHOD()
4066 RETURN_STR_COPY(ce->info.user.filename); in ZEND_METHOD()
4076 zend_class_entry *ce; in ZEND_METHOD() local
4081 GET_REFLECTION_OBJECT_PTR(ce); in ZEND_METHOD()
4082 if (ce->type == ZEND_USER_CLASS) { in ZEND_METHOD()
4083 RETURN_LONG(ce->info.user.line_start); in ZEND_METHOD()
4093 zend_class_entry *ce; in ZEND_METHOD() local
4098 GET_REFLECTION_OBJECT_PTR(ce); in ZEND_METHOD()
4099 if (ce->type == ZEND_USER_CLASS) { in ZEND_METHOD()
4100 RETURN_LONG(ce->info.user.line_end); in ZEND_METHOD()
4110 zend_class_entry *ce; in ZEND_METHOD() local
4115 GET_REFLECTION_OBJECT_PTR(ce); in ZEND_METHOD()
4116 if (ce->type == ZEND_USER_CLASS && ce->info.user.doc_comment) { in ZEND_METHOD()
4117 RETURN_STR_COPY(ce->info.user.doc_comment); in ZEND_METHOD()
4127 zend_class_entry *ce; in ZEND_METHOD() local
4129 GET_REFLECTION_OBJECT_PTR(ce); in ZEND_METHOD()
4132 ce->attributes, 0, ce, ZEND_ATTRIBUTE_TARGET_CLASS, in ZEND_METHOD()
4133 ce->type == ZEND_USER_CLASS ? ce->info.user.filename : NULL); in ZEND_METHOD()
4141 zend_class_entry *ce; in ZEND_METHOD() local
4146 GET_REFLECTION_OBJECT_PTR(ce); in ZEND_METHOD()
4148 if (ce->constructor) { in ZEND_METHOD()
4149 reflection_method_factory(ce, ce->constructor, NULL, return_value); in ZEND_METHOD()
4160 zend_class_entry *ce; in ZEND_METHOD() local
4167 GET_REFLECTION_OBJECT_PTR(ce); in ZEND_METHOD()
4169 RETVAL_BOOL(zend_hash_exists(&ce->function_table, lc_name) || is_closure_invoke(ce, lc_name)); in ZEND_METHOD()
4178 zend_class_entry *ce; in ZEND_METHOD() local
4187 GET_REFLECTION_OBJECT_PTR(ce); in ZEND_METHOD()
4189 if (!Z_ISUNDEF(intern->obj) && is_closure_invoke(ce, lc_name) in ZEND_METHOD()
4194 reflection_method_factory(ce, mptr, NULL, return_value); in ZEND_METHOD()
4195 } else if (Z_ISUNDEF(intern->obj) && is_closure_invoke(ce, lc_name) in ZEND_METHOD()
4196 …&& object_init_ex(&obj_tmp, ce) == SUCCESS && (mptr = zend_get_closure_invoke_method(Z_OBJ(obj_tmp… in ZEND_METHOD()
4199 reflection_method_factory(ce, mptr, NULL, return_value); in ZEND_METHOD()
4201 } else if ((mptr = zend_hash_find_ptr(&ce->function_table, lc_name)) != NULL) { in ZEND_METHOD()
4202 reflection_method_factory(ce, mptr, NULL, return_value); in ZEND_METHOD()
4205 "Method %s::%s() does not exist", ZSTR_VAL(ce->name), ZSTR_VAL(name)); in ZEND_METHOD()
4212 static zend_bool _addmethod(zend_function *mptr, zend_class_entry *ce, zval *retval, zend_long filt… in _addmethod() argument
4214 if ((mptr->common.fn_flags & ZEND_ACC_PRIVATE) && mptr->common.scope != ce) { in _addmethod()
4220 reflection_method_factory(ce, mptr, NULL, &method); in _addmethod()
4232 zend_class_entry *ce; in ZEND_METHOD() local
4245 GET_REFLECTION_OBJECT_PTR(ce); in ZEND_METHOD()
4248 ZEND_HASH_FOREACH_PTR(&ce->function_table, mptr) { in ZEND_METHOD()
4249 _addmethod(mptr, ce, return_value, filter); in ZEND_METHOD()
4252 if (instanceof_function(ce, zend_ce_closure)) { in ZEND_METHOD()
4257 object_init_ex(&obj_tmp, ce); in ZEND_METHOD()
4264 if (!_addmethod(closure, ce, return_value, filter)) { in ZEND_METHOD()
4280 zend_class_entry *ce; in ZEND_METHOD() local
4287 GET_REFLECTION_OBJECT_PTR(ce); in ZEND_METHOD()
4288 if ((property_info = zend_hash_find_ptr(&ce->properties_info, name)) != NULL) { in ZEND_METHOD()
4289 if ((property_info->flags & ZEND_ACC_PRIVATE) && property_info->ce != ce) { in ZEND_METHOD()
4308 zend_class_entry *ce, *ce2; in ZEND_METHOD() local
4318 GET_REFLECTION_OBJECT_PTR(ce); in ZEND_METHOD()
4319 if ((property_info = zend_hash_find_ptr(&ce->properties_info, name)) != NULL) { in ZEND_METHOD()
4320 if (!(property_info->flags & ZEND_ACC_PRIVATE) || property_info->ce == ce) { in ZEND_METHOD()
4321 reflection_property_factory(ce, name, property_info, return_value); in ZEND_METHOD()
4327 reflection_property_factory(ce, name, NULL, return_value); in ZEND_METHOD()
4350 if (!instanceof_function(ce, ce2)) { in ZEND_METHOD()
4351 …e %s::$%s does not specify a base class of %s", ZSTR_VAL(ce2->name), str_name, ZSTR_VAL(ce->name)); in ZEND_METHOD()
4354 ce = ce2; in ZEND_METHOD()
4356 property_info = zend_hash_str_find_ptr(&ce->properties_info, str_name, str_name_len); in ZEND_METHOD()
4359 || property_info->ce == ce)) { in ZEND_METHOD()
4360 reflection_property_factory_str(ce, str_name, str_name_len, property_info, return_value); in ZEND_METHOD()
4364 …n_ex(reflection_exception_ptr, 0, "Property %s::$%s does not exist", ZSTR_VAL(ce->name), str_name); in ZEND_METHOD()
4369 static void _addproperty(zend_property_info *pptr, zend_string *key, zend_class_entry *ce, zval *re… in _addproperty() argument
4371 if ((pptr->flags & ZEND_ACC_PRIVATE) && pptr->ce != ce) { in _addproperty()
4377 reflection_property_factory(ce, key, pptr, &property); in _addproperty()
4384 static void _adddynproperty(zval *ptr, zend_string *key, zend_class_entry *ce, zval *retval) in _adddynproperty() argument
4400 reflection_property_factory(ce, key, NULL, &property); in _adddynproperty()
4409 zend_class_entry *ce; in ZEND_METHOD() local
4423 GET_REFLECTION_OBJECT_PTR(ce); in ZEND_METHOD()
4426 ZEND_HASH_FOREACH_STR_KEY_PTR(&ce->properties_info, key, prop_info) { in ZEND_METHOD()
4427 _addproperty(prop_info, key, ce, return_value, filter); in ZEND_METHOD()
4434 _adddynproperty(prop, key, ce, return_value); in ZEND_METHOD()
4444 zend_class_entry *ce; in ZEND_METHOD() local
4451 GET_REFLECTION_OBJECT_PTR(ce); in ZEND_METHOD()
4452 if (zend_hash_exists(&ce->constants_table, name)) { in ZEND_METHOD()
4464 zend_class_entry *ce; in ZEND_METHOD() local
4479 GET_REFLECTION_OBJECT_PTR(ce); in ZEND_METHOD()
4482 ZEND_HASH_FOREACH_STR_KEY_PTR(&ce->constants_table, key, constant) { in ZEND_METHOD()
4483 if (UNEXPECTED(zval_update_constant_ex(&constant->value, constant->ce) != SUCCESS)) { in ZEND_METHOD()
4499 zend_class_entry *ce; in ZEND_METHOD() local
4513 GET_REFLECTION_OBJECT_PTR(ce); in ZEND_METHOD()
4516 ZEND_HASH_FOREACH_STR_KEY_PTR(&ce->constants_table, name, constant) { in ZEND_METHOD()
4530 zend_class_entry *ce; in ZEND_METHOD() local
4538 GET_REFLECTION_OBJECT_PTR(ce); in ZEND_METHOD()
4539 ZEND_HASH_FOREACH_PTR(&ce->constants_table, c) { in ZEND_METHOD()
4540 if (UNEXPECTED(zval_update_constant_ex(&c->value, c->ce) != SUCCESS)) { in ZEND_METHOD()
4544 if ((c = zend_hash_find_ptr(&ce->constants_table, name)) == NULL) { in ZEND_METHOD()
4555 zend_class_entry *ce; in ZEND_METHOD() local
4559 GET_REFLECTION_OBJECT_PTR(ce); in ZEND_METHOD()
4564 if ((constant = zend_hash_find_ptr(&ce->constants_table, name)) == NULL) { in ZEND_METHOD()
4575 zend_class_entry *ce; in _class_check_flag() local
4580 GET_REFLECTION_OBJECT_PTR(ce); in _class_check_flag()
4581 RETVAL_BOOL(ce->ce_flags & mask); in _class_check_flag()
4589 zend_class_entry *ce; in ZEND_METHOD() local
4594 GET_REFLECTION_OBJECT_PTR(ce); in ZEND_METHOD()
4595 …if (ce->ce_flags & (ZEND_ACC_INTERFACE | ZEND_ACC_TRAIT | ZEND_ACC_EXPLICIT_ABSTRACT_CLASS | ZEND_… in ZEND_METHOD()
4601 if (!ce->constructor) { in ZEND_METHOD()
4605 RETURN_BOOL(ce->constructor->common.fn_flags & ZEND_ACC_PUBLIC); in ZEND_METHOD()
4613 zend_class_entry *ce; in ZEND_METHOD() local
4619 GET_REFLECTION_OBJECT_PTR(ce); in ZEND_METHOD()
4620 …if (ce->ce_flags & (ZEND_ACC_INTERFACE | ZEND_ACC_TRAIT | ZEND_ACC_EXPLICIT_ABSTRACT_CLASS | ZEND_… in ZEND_METHOD()
4624 if (ce->clone) { in ZEND_METHOD()
4625 RETURN_BOOL(ce->clone->common.fn_flags & ZEND_ACC_PUBLIC); in ZEND_METHOD()
4630 if (ce->clone) { in ZEND_METHOD()
4631 RETURN_BOOL(ce->clone->common.fn_flags & ZEND_ACC_PUBLIC); in ZEND_METHOD()
4633 if (UNEXPECTED(object_init_ex(&obj, ce) != SUCCESS)) { in ZEND_METHOD()
4677 zend_class_entry *ce; in ZEND_METHOD() local
4684 GET_REFLECTION_OBJECT_PTR(ce); in ZEND_METHOD()
4686 RETURN_LONG((ce->ce_flags & keep_flags)); in ZEND_METHOD()
4694 zend_class_entry *ce; in ZEND_METHOD() local
4700 GET_REFLECTION_OBJECT_PTR(ce); in ZEND_METHOD()
4701 RETURN_BOOL(instanceof_function(Z_OBJCE_P(object), ce)); in ZEND_METHOD()
4709 zend_class_entry *ce, *old_scope; in ZEND_METHOD() local
4712 GET_REFLECTION_OBJECT_PTR(ce); in ZEND_METHOD()
4714 if (UNEXPECTED(object_init_ex(return_value, ce) != SUCCESS)) { in ZEND_METHOD()
4719 EG(fake_scope) = ce; in ZEND_METHOD()
4730 …x(reflection_exception_ptr, 0, "Access to non-public constructor of class %s", ZSTR_VAL(ce->name)); in ZEND_METHOD()
4747 …%s does not have a constructor, so you cannot pass any constructor arguments", ZSTR_VAL(ce->name)); in ZEND_METHOD()
4756 zend_class_entry *ce; in ZEND_METHOD() local
4758 GET_REFLECTION_OBJECT_PTR(ce); in ZEND_METHOD()
4764 if (ce->type == ZEND_INTERNAL_CLASS in ZEND_METHOD()
4765 && ce->create_object != NULL && (ce->ce_flags & ZEND_ACC_FINAL)) { in ZEND_METHOD()
4766 …marked as final that cannot be instantiated without invoking its constructor", ZSTR_VAL(ce->name)); in ZEND_METHOD()
4770 object_init_ex(return_value, ce); in ZEND_METHOD()
4778 zend_class_entry *ce, *old_scope; in ZEND_METHOD() local
4783 GET_REFLECTION_OBJECT_PTR(ce); in ZEND_METHOD()
4793 if (UNEXPECTED(object_init_ex(return_value, ce) != SUCCESS)) { in ZEND_METHOD()
4798 EG(fake_scope) = ce; in ZEND_METHOD()
4805 …x(reflection_exception_ptr, 0, "Access to non-public constructor of class %s", ZSTR_VAL(ce->name)); in ZEND_METHOD()
4817 …%s does not have a constructor, so you cannot pass any constructor arguments", ZSTR_VAL(ce->name)); in ZEND_METHOD()
4826 zend_class_entry *ce; in ZEND_METHOD() local
4831 GET_REFLECTION_OBJECT_PTR(ce); in ZEND_METHOD()
4833 if (ce->num_interfaces) { in ZEND_METHOD()
4836 ZEND_ASSERT(ce->ce_flags & ZEND_ACC_LINKED); in ZEND_METHOD()
4838 for (i=0; i < ce->num_interfaces; i++) { in ZEND_METHOD()
4840 zend_reflection_class_factory(ce->interfaces[i], &interface); in ZEND_METHOD()
4841 zend_hash_update(Z_ARRVAL_P(return_value), ce->interfaces[i]->name, &interface); in ZEND_METHOD()
4853 zend_class_entry *ce; in ZEND_METHOD() local
4859 GET_REFLECTION_OBJECT_PTR(ce); in ZEND_METHOD()
4861 if (!ce->num_interfaces) { in ZEND_METHOD()
4866 ZEND_ASSERT(ce->ce_flags & ZEND_ACC_LINKED); in ZEND_METHOD()
4869 for (i=0; i < ce->num_interfaces; i++) { in ZEND_METHOD()
4870 add_next_index_str(return_value, zend_string_copy(ce->interfaces[i]->name)); in ZEND_METHOD()
4879 zend_class_entry *ce; in ZEND_METHOD() local
4885 GET_REFLECTION_OBJECT_PTR(ce); in ZEND_METHOD()
4887 if (!ce->num_traits) { in ZEND_METHOD()
4893 for (i=0; i < ce->num_traits; i++) { in ZEND_METHOD()
4897 trait_ce = zend_fetch_class_by_name(ce->trait_names[i].name, in ZEND_METHOD()
4898 ce->trait_names[i].lc_name, ZEND_FETCH_CLASS_TRAIT); in ZEND_METHOD()
4901 zend_hash_update(Z_ARRVAL_P(return_value), ce->trait_names[i].name, &trait); in ZEND_METHOD()
4910 zend_class_entry *ce; in ZEND_METHOD() local
4916 GET_REFLECTION_OBJECT_PTR(ce); in ZEND_METHOD()
4918 if (!ce->num_traits) { in ZEND_METHOD()
4924 for (i=0; i < ce->num_traits; i++) { in ZEND_METHOD()
4925 add_next_index_str(return_value, zend_string_copy(ce->trait_names[i].name)); in ZEND_METHOD()
4934 zend_class_entry *ce; in ZEND_METHOD() local
4939 GET_REFLECTION_OBJECT_PTR(ce); in ZEND_METHOD()
4942 if (ce->trait_aliases) { in ZEND_METHOD()
4946 while (ce->trait_aliases[i]) { in ZEND_METHOD()
4948 zend_trait_method_reference *cur_ref = &ce->trait_aliases[i]->trait_method; in ZEND_METHOD()
4950 if (ce->trait_aliases[i]->alias) { in ZEND_METHOD()
4954 …add_assoc_str_ex(return_value, ZSTR_VAL(ce->trait_aliases[i]->alias), ZSTR_LEN(ce->trait_aliases[i… in ZEND_METHOD()
4968 zend_class_entry *ce; in ZEND_METHOD() local
4973 GET_REFLECTION_OBJECT_PTR(ce); in ZEND_METHOD()
4975 if (ce->parent) { in ZEND_METHOD()
4976 zend_reflection_class_factory(ce->parent, return_value); in ZEND_METHOD()
4987 zend_class_entry *ce, *class_ce; in ZEND_METHOD() local
5010 GET_REFLECTION_OBJECT_PTR(ce); in ZEND_METHOD()
5012 RETURN_BOOL((ce != class_ce && instanceof_function(ce, class_ce))); in ZEND_METHOD()
5021 zend_class_entry *ce, *interface_ce; in ZEND_METHOD() local
5048 GET_REFLECTION_OBJECT_PTR(ce); in ZEND_METHOD()
5050 RETURN_BOOL(instanceof_function(ce, interface_ce)); in ZEND_METHOD()
5058 zend_class_entry *ce; in ZEND_METHOD() local
5064 GET_REFLECTION_OBJECT_PTR(ce); in ZEND_METHOD()
5066 if (ce->ce_flags & (ZEND_ACC_INTERFACE | ZEND_ACC_IMPLICIT_ABSTRACT_CLASS | in ZEND_METHOD()
5071 RETURN_BOOL(ce->get_iterator || instanceof_function(ce, zend_ce_traversable)); in ZEND_METHOD()
5079 zend_class_entry *ce; in ZEND_METHOD() local
5085 GET_REFLECTION_OBJECT_PTR(ce); in ZEND_METHOD()
5087 if ((ce->type == ZEND_INTERNAL_CLASS) && ce->info.internal.module) { in ZEND_METHOD()
5088 reflection_extension_factory(return_value, ce->info.internal.module->name); in ZEND_METHOD()
5097 zend_class_entry *ce; in ZEND_METHOD() local
5103 GET_REFLECTION_OBJECT_PTR(ce); in ZEND_METHOD()
5105 if ((ce->type == ZEND_INTERNAL_CLASS) && ce->info.internal.module) { in ZEND_METHOD()
5106 RETURN_STRING(ce->info.internal.module->name); in ZEND_METHOD()
5117 zend_class_entry *ce; in ZEND_METHOD() local
5123 GET_REFLECTION_OBJECT_PTR(ce); in ZEND_METHOD()
5125 zend_string *name = ce->name; in ZEND_METHOD()
5135 zend_class_entry *ce; in ZEND_METHOD() local
5141 GET_REFLECTION_OBJECT_PTR(ce); in ZEND_METHOD()
5143 zend_string *name = ce->name; in ZEND_METHOD()
5156 zend_class_entry *ce; in ZEND_METHOD() local
5162 GET_REFLECTION_OBJECT_PTR(ce); in ZEND_METHOD()
5164 zend_string *name = ce->name; in ZEND_METHOD()
5189 zend_class_entry *ce; in ZEND_METHOD() local
5202 ce = classname_obj->ce; in ZEND_METHOD()
5204 if ((ce = zend_lookup_class(classname_str)) == NULL) { in ZEND_METHOD()
5210 property_info = zend_hash_find_ptr(&ce->properties_info, name); in ZEND_METHOD()
5213 && property_info->ce != ce)) { in ZEND_METHOD()
5221 …x(reflection_exception_ptr, 0, "Property %s::$%s does not exist", ZSTR_VAL(ce->name), ZSTR_VAL(nam… in ZEND_METHOD()
5228 ZVAL_STR_COPY(reflection_prop_class(object), property_info->ce->name); in ZEND_METHOD()
5230 ZVAL_STR_COPY(reflection_prop_class(object), ce->name); in ZEND_METHOD()
5238 intern->ce = ce; in ZEND_METHOD()
5369 ZSTR_VAL(intern->ce->name), ZSTR_VAL(ref->unmangled_name)); in ZEND_METHOD()
5374 member_p = zend_read_static_property_ex(intern->ce, ref->unmangled_name, 0); in ZEND_METHOD()
5387 if (!instanceof_function(Z_OBJCE_P(object), ref->prop ? ref->prop->ce : intern->ce)) { in ZEND_METHOD()
5392 member_p = zend_read_property_ex(intern->ce, Z_OBJ_P(object), ref->unmangled_name, 0, &rv); in ZEND_METHOD()
5419 ZSTR_VAL(intern->ce->name), ZSTR_VAL(ref->unmangled_name)); in ZEND_METHOD()
5430 zend_update_static_property_ex(intern->ce, ref->unmangled_name, value); in ZEND_METHOD()
5436 zend_update_property_ex(intern->ce, Z_OBJ_P(object), ref->unmangled_name, value); in ZEND_METHOD()
5458 ZSTR_VAL(intern->ce->name), ZSTR_VAL(ref->unmangled_name)); in ZEND_METHOD()
5463 member_p = zend_read_static_property_ex(intern->ce, ref->unmangled_name, 1); in ZEND_METHOD()
5478 if (!instanceof_function(Z_OBJCE_P(object), ref->prop ? ref->prop->ce : intern->ce)) { in ZEND_METHOD()
5484 EG(fake_scope) = intern->ce; in ZEND_METHOD()
5498 zend_class_entry *ce; in ZEND_METHOD() local
5505 ce = ref->prop ? ref->prop->ce : intern->ce; in ZEND_METHOD()
5506 zend_reflection_class_factory(ce, return_value); in ZEND_METHOD()
5540 ref->prop->attributes, 0, ref->prop->ce, ZEND_ATTRIBUTE_TARGET_PROPERTY, in ZEND_METHOD()
5541 ref->prop->ce->type == ZEND_USER_CLASS ? ref->prop->ce->info.user.filename : NULL); in ZEND_METHOD()
5654 if (UNEXPECTED(zval_update_constant_ex(return_value, prop_info->ce) != SUCCESS)) { in ZEND_METHOD()
5690 intern->ce = NULL; in ZEND_METHOD()
5827 static void add_extension_class(zend_class_entry *ce, zend_string *key, zval *class_array, zend_mod… in add_extension_class() argument
5829 …if (ce->type == ZEND_INTERNAL_CLASS && ce->info.internal.module && !strcasecmp(ce->info.internal.m… in add_extension_class()
5832 if (!zend_string_equals_ci(ce->name, key)) { in add_extension_class()
5837 name = ce->name; in add_extension_class()
5841 zend_reflection_class_factory(ce, &zclass); in add_extension_class()
5856 zend_class_entry *ce; in ZEND_METHOD() local
5864 ZEND_HASH_FOREACH_STR_KEY_PTR(EG(class_table), key, ce) { in ZEND_METHOD()
5865 add_extension_class(ce, key, return_value, module, 1); in ZEND_METHOD()
5876 zend_class_entry *ce; in ZEND_METHOD() local
5884 ZEND_HASH_FOREACH_STR_KEY_PTR(EG(class_table), key, ce) { in ZEND_METHOD()
5885 add_extension_class(ce, key, return_value, module, 0); in ZEND_METHOD()
6025 intern->ce = NULL; in ZEND_METHOD()
6315 zend_attribute *attr, zend_class_entry *ce, zend_object *obj, in call_attribute_constructor() argument
6318 zend_function *ctor = ce->constructor; in call_attribute_constructor()
6323 zend_throw_error(NULL, "Attribute constructor of class %s must be public", ZSTR_VAL(ce->name)); in call_attribute_constructor()
6362 zend_call_known_function(ctor, obj, obj->ce, NULL, argc, args, named_params); in call_attribute_constructor()
6407 zend_class_entry *ce; in ZEND_METHOD() local
6419 if (NULL == (ce = zend_lookup_class(attr->data->name))) { in ZEND_METHOD()
6424 if (NULL == (marker = zend_get_attribute_str(ce->attributes, ZEND_STRL("attribute")))) { in ZEND_METHOD()
6429 if (ce->type == ZEND_USER_CLASS) { in ZEND_METHOD()
6435 if (FAILURE == zend_get_attribute_value(&tmp, marker, 0, ce)) { in ZEND_METHOD()
6464 if (SUCCESS != object_init_ex(&obj, ce)) { in ZEND_METHOD()
6490 if (ce->constructor) { in ZEND_METHOD()
6491 …if (FAILURE == call_attribute_constructor(attr->data, ce, Z_OBJ(obj), args, argc, named_params, at… in ZEND_METHOD()
6497 …NULL, "Attribute class %s does not have a constructor, cannot pass arguments", ZSTR_VAL(ce->name)); in ZEND_METHOD()
6509 if (zend_hash_exists(&object->ce->properties_info, name) in _reflection_write_property()
6513 "Cannot set read-only property %s::$%s", ZSTR_VAL(object->ce->name), ZSTR_VAL(name)); in _reflection_write_property()
6523 static void reflection_init_class_handlers(zend_class_entry *ce) { in reflection_init_class_handlers() argument
6524 ce->create_object = reflection_objects_new; in reflection_init_class_handlers()
6525 ce->serialize = zend_class_serialize_deny; in reflection_init_class_handlers()
6526 ce->unserialize = zend_class_unserialize_deny; in reflection_init_class_handlers()