Zend/zend_collection.c


#include "zend.h"
#include "zend_API.h"

void zend_collection_register_handlers(zend_class_entry *ce)
{
       memcpy(&zend_collection_object_handlers, &std_object_handlers, sizeof(zend_object_handlers));
       zend_collection_object_handlers.clone_obj = NULL;
       zend_collection_object_handlers.compare = zend_objects_not_comparable;
       ce->default_object_handlers = &zend_collection_object_handlers;
}

void zend_collection_register_props(zend_class_entry *ce)
{
       zval name_default_value;
       ZVAL_UNDEF(&name_default_value);
       zend_type name_type = ZEND_TYPE_INIT_CODE(IS_ARRAY, 0, 0);
       zend_declare_typed_property(ce, ZSTR_KNOWN(ZEND_STR_VALUE), &name_default_value, ZEND_ACC_PUBLIC | ZEND_ACC_R
       ce->ce_flags |= ZEND_ACC_NO_DYNAMIC_PROPERTIES;
}