]> granicus.if.org Git - php/commitdiff
Merge zend_class_entry.create_object and zend_class_entry.interface_gets_implemented...
authorDmitry Stogov <dmitry@zend.com>
Thu, 12 Jul 2018 14:09:40 +0000 (17:09 +0300)
committerDmitry Stogov <dmitry@zend.com>
Thu, 12 Jul 2018 14:09:40 +0000 (17:09 +0300)
Zend/zend.h
Zend/zend_API.h
Zend/zend_compile.c

index 4f33dd89cca25f91207c1bd1be71ca50d3d56772..0d19331bd188af722d17b0bf35ef6b3a4ea06cb2 100644 (file)
@@ -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 */
index d450c4dd21a744c3b15251dcec88f446e2960413..3bd2471dda20baf665e02142bd535a825256fca8 100644 (file)
@@ -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;                                    \
index e0a7acf12a714a500be00310e7fc173fec0c1521..16b8fe9288eb7af3f2c0fff2fe022e07fae1e26e 100644 (file)
@@ -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;