Zend/zend_collection.c


void zend_collection_add_interfaces(zend_class_entry *ce)
{
       uint32_t num_interfaces_before = ce->num_interfaces;

       ce->num_interfaces++;

       ZEND_ASSERT(!(ce->ce_flags & ZEND_ACC_RESOLVED_INTERFACES));

       ce->interface_names = erealloc(ce->interface_names, sizeof(zend_class_name) * ce->num_interfaces);

       ce->interface_names[num_interfaces_before].name = zend_string_copy(zend_ce_collection->name);
       ce->interface_names[num_interfaces_before].lc_name = ZSTR_INIT_LITERAL("collection", 0);

       ce->default_object_handlers = &zend_collection_object_handlers;
}