Revert "Port all internally used classes to use default_object_handlers"

This reverts commit 94ee4f9834.

The commit was a bit too late to be included in PHP 8.2 RC1. Given it's a massive ABI break, we decide to postpone the change to PHP 8.3.
This commit is contained in:
Bob Weinand 2022-09-14 11:12:19 +02:00
parent d228651a71
commit a01dd9feda
57 changed files with 115 additions and 108 deletions

View file

@ -283,6 +283,7 @@ static zend_object *reflection_objects_new(zend_class_entry *class_type) /* {{{
zend_object_std_init(&intern->zo, class_type);
object_properties_init(&intern->zo, class_type);
intern->zo.handlers = &reflection_object_handlers;
return &intern->zo;
}
/* }}} */
@ -7148,88 +7149,67 @@ PHP_MINIT_FUNCTION(reflection) /* {{{ */
reflector_ptr = register_class_Reflector(zend_ce_stringable);
reflection_function_abstract_ptr = register_class_ReflectionFunctionAbstract(reflector_ptr);
reflection_function_abstract_ptr->default_object_handlers = &reflection_object_handlers;
reflection_function_abstract_ptr->create_object = reflection_objects_new;
reflection_function_ptr = register_class_ReflectionFunction(reflection_function_abstract_ptr);
reflection_function_ptr->create_object = reflection_objects_new;
reflection_function_ptr->default_object_handlers = &reflection_object_handlers;
reflection_generator_ptr = register_class_ReflectionGenerator();
reflection_generator_ptr->create_object = reflection_objects_new;
reflection_generator_ptr->default_object_handlers = &reflection_object_handlers;
reflection_parameter_ptr = register_class_ReflectionParameter(reflector_ptr);
reflection_parameter_ptr->create_object = reflection_objects_new;
reflection_parameter_ptr->default_object_handlers = &reflection_object_handlers;
reflection_type_ptr = register_class_ReflectionType(zend_ce_stringable);
reflection_type_ptr->create_object = reflection_objects_new;
reflection_type_ptr->default_object_handlers = &reflection_object_handlers;
reflection_named_type_ptr = register_class_ReflectionNamedType(reflection_type_ptr);
reflection_named_type_ptr->create_object = reflection_objects_new;
reflection_named_type_ptr->default_object_handlers = &reflection_object_handlers;
reflection_union_type_ptr = register_class_ReflectionUnionType(reflection_type_ptr);
reflection_union_type_ptr->create_object = reflection_objects_new;
reflection_union_type_ptr->default_object_handlers = &reflection_object_handlers;
reflection_intersection_type_ptr = register_class_ReflectionIntersectionType(reflection_type_ptr);
reflection_intersection_type_ptr->create_object = reflection_objects_new;
reflection_intersection_type_ptr->default_object_handlers = &reflection_object_handlers;
reflection_method_ptr = register_class_ReflectionMethod(reflection_function_abstract_ptr);
reflection_method_ptr->create_object = reflection_objects_new;
reflection_method_ptr->default_object_handlers = &reflection_object_handlers;
reflection_class_ptr = register_class_ReflectionClass(reflector_ptr);
reflection_class_ptr->create_object = reflection_objects_new;
reflection_class_ptr->default_object_handlers = &reflection_object_handlers;
reflection_object_ptr = register_class_ReflectionObject(reflection_class_ptr);
reflection_object_ptr->create_object = reflection_objects_new;
reflection_object_ptr->default_object_handlers = &reflection_object_handlers;
reflection_property_ptr = register_class_ReflectionProperty(reflector_ptr);
reflection_property_ptr->create_object = reflection_objects_new;
reflection_property_ptr->default_object_handlers = &reflection_object_handlers;
reflection_class_constant_ptr = register_class_ReflectionClassConstant(reflector_ptr);
reflection_class_constant_ptr->create_object = reflection_objects_new;
reflection_class_constant_ptr->default_object_handlers = &reflection_object_handlers;
reflection_extension_ptr = register_class_ReflectionExtension(reflector_ptr);
reflection_extension_ptr->create_object = reflection_objects_new;
reflection_extension_ptr->default_object_handlers = &reflection_object_handlers;
reflection_zend_extension_ptr = register_class_ReflectionZendExtension(reflector_ptr);
reflection_zend_extension_ptr->create_object = reflection_objects_new;
reflection_zend_extension_ptr->default_object_handlers = &reflection_object_handlers;
reflection_reference_ptr = register_class_ReflectionReference();
reflection_reference_ptr->create_object = reflection_objects_new;
reflection_reference_ptr->default_object_handlers = &reflection_object_handlers;
reflection_attribute_ptr = register_class_ReflectionAttribute(reflector_ptr);
reflection_attribute_ptr->create_object = reflection_objects_new;
reflection_attribute_ptr->default_object_handlers = &reflection_object_handlers;
reflection_enum_ptr = register_class_ReflectionEnum(reflection_class_ptr);
reflection_enum_ptr->create_object = reflection_objects_new;
reflection_enum_ptr->default_object_handlers = &reflection_object_handlers;
reflection_enum_unit_case_ptr = register_class_ReflectionEnumUnitCase(reflection_class_constant_ptr);
reflection_enum_unit_case_ptr->create_object = reflection_objects_new;
reflection_enum_unit_case_ptr->default_object_handlers = &reflection_object_handlers;
reflection_enum_backed_case_ptr = register_class_ReflectionEnumBackedCase(reflection_enum_unit_case_ptr);
reflection_enum_backed_case_ptr->create_object = reflection_objects_new;
reflection_enum_backed_case_ptr->default_object_handlers = &reflection_object_handlers;
reflection_fiber_ptr = register_class_ReflectionFiber();
reflection_fiber_ptr->create_object = reflection_objects_new;
reflection_fiber_ptr->default_object_handlers = &reflection_object_handlers;
REFLECTION_G(key_initialized) = 0;