summaryrefslogtreecommitdiff
path: root/Zend/zend_interfaces.h
diff options
context:
space:
mode:
authorAaron Piotrowski <aaron@trowski.com>2015-06-15 18:07:27 -0500
committerAaron Piotrowski <aaron@trowski.com>2015-06-15 18:07:27 -0500
commit47d838a7ca2f71d1222798917025b5d677acf083 (patch)
tree35711a3bcc42afe389fe97eda7bb77b19ff4520e /Zend/zend_interfaces.h
parent0265cf5aeb99b48e07ffa4d5a2a340d4545952a1 (diff)
downloadphp-git-47d838a7ca2f71d1222798917025b5d677acf083.tar.gz
Move definition of Throwable to zend_exceptions.h/c
Also moved REGISTER_ITERATOR_INTERFACE macro to zend_interfaces.h and renamed it to REGISTER_INTERFACE.
Diffstat (limited to 'Zend/zend_interfaces.h')
-rw-r--r--Zend/zend_interfaces.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/Zend/zend_interfaces.h b/Zend/zend_interfaces.h
index daf0aae5dc..d7b7645e16 100644
--- a/Zend/zend_interfaces.h
+++ b/Zend/zend_interfaces.h
@@ -31,7 +31,6 @@ extern ZEND_API zend_class_entry *zend_ce_aggregate;
extern ZEND_API zend_class_entry *zend_ce_iterator;
extern ZEND_API zend_class_entry *zend_ce_arrayaccess;
extern ZEND_API zend_class_entry *zend_ce_serializable;
-extern ZEND_API zend_class_entry *zend_ce_throwable;
typedef struct _zend_user_iterator {
zend_object_iterator it;
@@ -50,6 +49,14 @@ 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) \
+ {\
+ zend_class_entry ce;\
+ INIT_CLASS_ENTRY(ce, # class_name_str, zend_funcs_ ## class_name) \
+ zend_ce_ ## class_name = zend_register_internal_interface(&ce);\
+ zend_ce_ ## class_name->interface_gets_implemented = zend_implement_ ## class_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);