@@ -28,6 +28,7 @@ ZEND_API zend_class_entry *zend_ce_aggregate;
2828ZEND_API zend_class_entry * zend_ce_iterator ;
2929ZEND_API zend_class_entry * zend_ce_arrayaccess ;
3030ZEND_API zend_class_entry * zend_ce_serializable ;
31+ ZEND_API zend_class_entry * zend_ce_countable ;
3132
3233/* {{{ zend_call_method
3334 Only returns the returned zval if retval_ptr != NULL */
@@ -470,6 +471,13 @@ static int zend_implement_serializable(zend_class_entry *interface, zend_class_e
470471}
471472/* }}}*/
472473
474+ /* {{{ zend_implement_countable */
475+ static int zend_implement_countable (zend_class_entry * interface , zend_class_entry * class_type )
476+ {
477+ return SUCCESS ;
478+ }
479+ /* }}}*/
480+
473481/* {{{ function tables */
474482const zend_function_entry zend_funcs_aggregate [] = {
475483 ZEND_ABSTRACT_ME (iterator , getIterator , NULL )
@@ -517,6 +525,14 @@ const zend_function_entry zend_funcs_serializable[] = {
517525 ZEND_FENTRY (unserialize , NULL , arginfo_serializable_serialize , ZEND_ACC_PUBLIC |ZEND_ACC_ABSTRACT |ZEND_ACC_CTOR )
518526 ZEND_FE_END
519527};
528+
529+ ZEND_BEGIN_ARG_INFO (arginfo_countable_count , 0 )
530+ ZEND_END_ARG_INFO ()
531+
532+ const zend_function_entry zend_funcs_countable [] = {
533+ ZEND_ABSTRACT_ME (Countable , count , arginfo_countable_count )
534+ ZEND_FE_END
535+ };
520536/* }}} */
521537
522538/* {{{ zend_register_interfaces */
@@ -533,6 +549,8 @@ ZEND_API void zend_register_interfaces(void)
533549 REGISTER_MAGIC_INTERFACE (arrayaccess , ArrayAccess );
534550
535551 REGISTER_MAGIC_INTERFACE (serializable , Serializable );
552+
553+ REGISTER_MAGIC_INTERFACE (countable , Countable );
536554}
537555/* }}} */
538556
0 commit comments