@@ -596,31 +596,25 @@ ZEND_METHOD(InternalIterator, rewind) {
596596/* {{{ zend_register_interfaces */
597597ZEND_API void zend_register_interfaces (void )
598598{
599- zend_class_entry ce ;
599+ zend_ce_traversable = register_class_Traversable ();
600+ zend_ce_traversable -> interface_gets_implemented = zend_implement_traversable ;
600601
601- REGISTER_MAGIC_INTERFACE (traversable , Traversable );
602+ zend_ce_aggregate = register_class_IteratorAggregate (zend_ce_traversable );
603+ zend_ce_aggregate -> interface_gets_implemented = zend_implement_aggregate ;
602604
603- REGISTER_MAGIC_INTERFACE ( aggregate , IteratorAggregate );
604- REGISTER_MAGIC_IMPLEMENT ( aggregate , traversable ) ;
605+ zend_ce_iterator = register_class_Iterator ( zend_ce_traversable );
606+ zend_ce_iterator -> interface_gets_implemented = zend_implement_iterator ;
605607
606- REGISTER_MAGIC_INTERFACE ( iterator , Iterator );
607- REGISTER_MAGIC_IMPLEMENT ( iterator , traversable ) ;
608+ zend_ce_serializable = register_class_Serializable ( );
609+ zend_ce_serializable -> interface_gets_implemented = zend_implement_serializable ;
608610
609- REGISTER_MAGIC_INTERFACE ( serializable , Serializable );
611+ zend_ce_arrayaccess = register_class_ArrayAccess ( );
610612
611- INIT_CLASS_ENTRY (ce , "ArrayAccess" , class_ArrayAccess_methods );
612- zend_ce_arrayaccess = zend_register_internal_interface (& ce );
613+ zend_ce_countable = register_class_Countable ();
613614
614- INIT_CLASS_ENTRY (ce , "Countable" , class_Countable_methods );
615- zend_ce_countable = zend_register_internal_interface (& ce );
615+ zend_ce_stringable = register_class_Stringable ();
616616
617- INIT_CLASS_ENTRY (ce , "Stringable" , class_Stringable_methods );
618- zend_ce_stringable = zend_register_internal_interface (& ce );
619-
620- INIT_CLASS_ENTRY (ce , "InternalIterator" , class_InternalIterator_methods );
621- zend_ce_internal_iterator = zend_register_internal_class (& ce );
622- zend_class_implements (zend_ce_internal_iterator , 1 , zend_ce_iterator );
623- zend_ce_internal_iterator -> ce_flags |= ZEND_ACC_FINAL ;
617+ zend_ce_internal_iterator = register_class_InternalIterator (zend_ce_iterator );
624618 zend_ce_internal_iterator -> create_object = zend_internal_iterator_create ;
625619 zend_ce_internal_iterator -> serialize = zend_class_serialize_deny ;
626620 zend_ce_internal_iterator -> unserialize = zend_class_unserialize_deny ;
0 commit comments