@@ -117,25 +117,31 @@ typedef struct _zend_fcall_info_cache {
117117 { #name, ZEND_TYPE_INIT_NONE(_ZEND_ARG_INFO_FLAGS(pass_by_ref, 0, 0)), default_value },
118118#define ZEND_ARG_VARIADIC_INFO (pass_by_ref , name ) \
119119 { #name, ZEND_TYPE_INIT_NONE(_ZEND_ARG_INFO_FLAGS(pass_by_ref, 1, 0)), NULL },
120+
120121/* Arginfo structures with simple type information */
121122#define ZEND_ARG_TYPE_INFO (pass_by_ref , name , type_hint , allow_null ) \
122123 { #name, ZEND_TYPE_INIT_CODE(type_hint, allow_null, _ZEND_ARG_INFO_FLAGS(pass_by_ref, 0, 0)), NULL },
123124#define ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE (pass_by_ref , name , type_hint , allow_null , default_value ) \
124125 { #name, ZEND_TYPE_INIT_CODE(type_hint, allow_null, _ZEND_ARG_INFO_FLAGS(pass_by_ref, 0, 0)), default_value },
125126#define ZEND_ARG_VARIADIC_TYPE_INFO (pass_by_ref , name , type_hint , allow_null ) \
126127 { #name, ZEND_TYPE_INIT_CODE(type_hint, allow_null, _ZEND_ARG_INFO_FLAGS(pass_by_ref, 1, 0)), NULL },
128+
127129/* Arginfo structures with complex type information */
128130#define ZEND_ARG_TYPE_MASK (pass_by_ref , name , type_mask , default_value ) \
129131 { #name, ZEND_TYPE_INIT_MASK(type_mask | _ZEND_ARG_INFO_FLAGS(pass_by_ref, 0, 0)), default_value },
130132#define ZEND_ARG_OBJ_TYPE_MASK (pass_by_ref , name , class_name , type_mask , default_value ) \
131133 { #name, ZEND_TYPE_INIT_CLASS_CONST_MASK(#class_name, type_mask | _ZEND_ARG_INFO_FLAGS(pass_by_ref, 0, 0)), default_value },
134+ #define ZEND_ARG_VARIADIC_OBJ_TYPE_MASK (pass_by_ref , name , class_name , type_mask , default_value ) \
135+ { #name, ZEND_TYPE_INIT_CLASS_CONST_MASK(#class_name, type_mask | _ZEND_ARG_INFO_FLAGS(pass_by_ref, 1, 0)), default_value },
136+
132137/* Arginfo structures with object type information */
133- #define ZEND_ARG_OBJ_INFO (pass_by_ref , name , classname , allow_null ) \
134- { #name, ZEND_TYPE_INIT_CLASS_CONST(#classname, allow_null, _ZEND_ARG_INFO_FLAGS(pass_by_ref, 0, 0)), NULL },
135- #define ZEND_ARG_OBJ_INFO_WITH_DEFAULT_VALUE (pass_by_ref , name , classname , allow_null , default_value ) \
136- { #name, ZEND_TYPE_INIT_CLASS_CONST(#classname, allow_null, _ZEND_ARG_INFO_FLAGS(pass_by_ref, 0, 0)), default_value },
137- #define ZEND_ARG_VARIADIC_OBJ_INFO (pass_by_ref , name , classname , allow_null ) \
138- { #name, ZEND_TYPE_INIT_CLASS_CONST(#classname, allow_null, _ZEND_ARG_INFO_FLAGS(pass_by_ref, 1, 0)), NULL },
138+ #define ZEND_ARG_OBJ_INFO (pass_by_ref , name , class_name , allow_null ) \
139+ { #name, ZEND_TYPE_INIT_CLASS_CONST(#class_name, allow_null, _ZEND_ARG_INFO_FLAGS(pass_by_ref, 0, 0)), NULL },
140+ #define ZEND_ARG_OBJ_INFO_WITH_DEFAULT_VALUE (pass_by_ref , name , class_name , allow_null , default_value ) \
141+ { #name, ZEND_TYPE_INIT_CLASS_CONST(#class_name, allow_null, _ZEND_ARG_INFO_FLAGS(pass_by_ref, 0, 0)), default_value },
142+ #define ZEND_ARG_VARIADIC_OBJ_INFO (pass_by_ref , name , class_name , allow_null ) \
143+ { #name, ZEND_TYPE_INIT_CLASS_CONST(#class_name, allow_null, _ZEND_ARG_INFO_FLAGS(pass_by_ref, 1, 0)), NULL },
144+
139145/* Legacy arginfo structures */
140146#define ZEND_ARG_ARRAY_INFO (pass_by_ref , name , allow_null ) \
141147 { #name, ZEND_TYPE_INIT_CODE(IS_ARRAY, allow_null, _ZEND_ARG_INFO_FLAGS(pass_by_ref, 0, 0)), NULL },
0 commit comments