summaryrefslogtreecommitdiff
path: root/Zend/zend_API.h
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@zend.com>2015-02-05 11:01:07 +0300
committerDmitry Stogov <dmitry@zend.com>2015-02-05 11:01:07 +0300
commitf5a9cfc33ab86e343b5cbf0d0a39a62037c32975 (patch)
tree05433d4070b6396fdaa3d65117fa61c29d16d348 /Zend/zend_API.h
parent067902daee9b293eec5b319c466d3f12fa643a27 (diff)
parent601fcc31af502fcf7aa36b8de53dfd4004fda613 (diff)
downloadphp-git-f5a9cfc33ab86e343b5cbf0d0a39a62037c32975.tar.gz
Merge branch 'internal-function-return-types' of github.com:reeze/php-src into test
* 'internal-function-return-types' of github.com:reeze/php-src: Add load time return type checking to match user land logic Add test function arguments Implemented internal function return types
Diffstat (limited to 'Zend/zend_API.h')
-rw-r--r--Zend/zend_API.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/Zend/zend_API.h b/Zend/zend_API.h
index e3be8d7138..746021e367 100644
--- a/Zend/zend_API.h
+++ b/Zend/zend_API.h
@@ -105,6 +105,13 @@ typedef struct _zend_fcall_info_cache {
#define ZEND_ARG_TYPE_INFO(pass_by_ref, name, type_hint, allow_null) { #name, NULL, type_hint, pass_by_ref, allow_null, 0 },
#define ZEND_ARG_VARIADIC_INFO(pass_by_ref, name) { #name, NULL, 0, pass_by_ref, 0, 1 },
+
+#define ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(name, return_reference, required_num_args, type, class_name, allow_null) \
+ static const zend_internal_arg_info name[] = { \
+ { (const char*)(zend_uintptr_t)(required_num_args), class_name, type, return_reference, allow_null, 0 },
+#define ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO(name, type, class_name, allow_null) \
+ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(name, 0, -1, type, class_name, allow_null)
+
#define ZEND_BEGIN_ARG_INFO_EX(name, _unused, return_reference, required_num_args) \
static const zend_internal_arg_info name[] = { \
{ (const char*)(zend_uintptr_t)(required_num_args), NULL, 0, return_reference, 0, 0 },