mirror of
https://github.com/php/php-src.git
synced 2025-08-15 21:48:51 +02:00
Merge zend_class_entry.create_object and zend_class_entry.interface_gets_implemented into the same memory lacation. The first used only by classes, the second only by magic interfaces.
This commit is contained in:
parent
432c4e77a8
commit
5e8977bd62
3 changed files with 4 additions and 4 deletions
|
@ -143,9 +143,11 @@ struct _zend_class_entry {
|
|||
zend_class_iterator_funcs *iterator_funcs_ptr;
|
||||
|
||||
/* handlers */
|
||||
zend_object* (*create_object)(zend_class_entry *class_type);
|
||||
union {
|
||||
zend_object* (*create_object)(zend_class_entry *class_type);
|
||||
int (*interface_gets_implemented)(zend_class_entry *iface, zend_class_entry *class_type); /* a class implements this interface */
|
||||
};
|
||||
zend_object_iterator *(*get_iterator)(zend_class_entry *ce, zval *object, int by_ref);
|
||||
int (*interface_gets_implemented)(zend_class_entry *iface, zend_class_entry *class_type); /* a class implements this interface */
|
||||
union _zend_function *(*get_static_method)(zend_class_entry *ce, zend_string* method);
|
||||
|
||||
/* serializer callbacks */
|
||||
|
|
|
@ -202,7 +202,6 @@ typedef struct _zend_fcall_info_cache {
|
|||
class_container.serialize = NULL; \
|
||||
class_container.unserialize = NULL; \
|
||||
class_container.create_object = NULL; \
|
||||
class_container.interface_gets_implemented = NULL; \
|
||||
class_container.get_static_method = NULL; \
|
||||
class_container.__call = NULL; \
|
||||
class_container.__callstatic = NULL; \
|
||||
|
|
|
@ -1751,7 +1751,6 @@ ZEND_API void zend_initialize_class_data(zend_class_entry *ce, zend_bool nullify
|
|||
ce->create_object = NULL;
|
||||
ce->get_iterator = NULL;
|
||||
ce->iterator_funcs_ptr = NULL;
|
||||
ce->interface_gets_implemented = NULL;
|
||||
ce->get_static_method = NULL;
|
||||
ce->parent = NULL;
|
||||
ce->num_interfaces = 0;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue