Rename interface macros

Renamed REGISTER_INTERFACE (formerly
REGISTER_ITERATOR_INTERFACE) to
REGISTER_MAGIC_INTERFACE and renamed
REGISTER_ITERATOR_IMPLEMENT to
REGISTER_MAGIC_IMPLEMENT. Both have now been
moved to zend_interfaces.h.
This commit is contained in:
Aaron Piotrowski 2015-06-17 13:46:27 -05:00
parent 47fda68b03
commit c5eb924e9e
3 changed files with 12 additions and 12 deletions

View file

@ -792,7 +792,7 @@ void zend_register_default_exception(void) /* {{{ */
zend_class_entry ce;
zend_property_info *prop;
REGISTER_INTERFACE(throwable, Throwable);
REGISTER_MAGIC_INTERFACE(throwable, Throwable);
memcpy(&default_exception_handlers, zend_get_std_object_handlers(), sizeof(zend_object_handlers));
default_exception_handlers.clone_obj = NULL;

View file

@ -551,23 +551,20 @@ const zend_function_entry zend_funcs_serializable[] = {
};
/* }}} */
#define REGISTER_ITERATOR_IMPLEMENT(class_name, interface_name) \
zend_class_implements(zend_ce_ ## class_name, 1, zend_ce_ ## interface_name)
/* {{{ zend_register_interfaces */
ZEND_API void zend_register_interfaces(void)
{
REGISTER_INTERFACE(traversable, Traversable);
REGISTER_MAGIC_INTERFACE(traversable, Traversable);
REGISTER_INTERFACE(aggregate, IteratorAggregate);
REGISTER_ITERATOR_IMPLEMENT(aggregate, traversable);
REGISTER_MAGIC_INTERFACE(aggregate, IteratorAggregate);
REGISTER_MAGIC_IMPLEMENT(aggregate, traversable);
REGISTER_INTERFACE(iterator, Iterator);
REGISTER_ITERATOR_IMPLEMENT(iterator, traversable);
REGISTER_MAGIC_INTERFACE(iterator, Iterator);
REGISTER_MAGIC_IMPLEMENT(iterator, traversable);
REGISTER_INTERFACE(arrayaccess, ArrayAccess);
REGISTER_MAGIC_INTERFACE(arrayaccess, ArrayAccess);
REGISTER_INTERFACE(serializable, Serializable);
REGISTER_MAGIC_INTERFACE(serializable, Serializable);
}
/* }}} */

View file

@ -49,7 +49,7 @@ ZEND_API zval* zend_call_method(zval *object_pp, zend_class_entry *obj_ce, zend_
#define zend_call_method_with_2_params(obj, obj_ce, fn_proxy, function_name, retval, arg1, arg2) \
zend_call_method(obj, obj_ce, fn_proxy, function_name, sizeof(function_name)-1, retval, 2, arg1, arg2)
#define REGISTER_INTERFACE(class_name, class_name_str) \
#define REGISTER_MAGIC_INTERFACE(class_name, class_name_str) \
{\
zend_class_entry ce;\
INIT_CLASS_ENTRY(ce, # class_name_str, zend_funcs_ ## class_name) \
@ -57,6 +57,9 @@ ZEND_API zval* zend_call_method(zval *object_pp, zend_class_entry *obj_ce, zend_
zend_ce_ ## class_name->interface_gets_implemented = zend_implement_ ## class_name;\
}
#define REGISTER_MAGIC_IMPLEMENT(class_name, interface_name) \
zend_class_implements(zend_ce_ ## class_name, 1, zend_ce_ ## interface_name)
ZEND_API void zend_user_it_rewind(zend_object_iterator *_iter);
ZEND_API int zend_user_it_valid(zend_object_iterator *_iter);
ZEND_API void zend_user_it_get_current_key(zend_object_iterator *_iter, zval *key);