summaryrefslogtreecommitdiff
path: root/Zend/zend_API.h
diff options
context:
space:
mode:
Diffstat (limited to 'Zend/zend_API.h')
-rw-r--r--Zend/zend_API.h27
1 files changed, 17 insertions, 10 deletions
diff --git a/Zend/zend_API.h b/Zend/zend_API.h
index 2f1b58eb75..9fd656b276 100644
--- a/Zend/zend_API.h
+++ b/Zend/zend_API.h
@@ -1124,17 +1124,19 @@ static zend_always_inline zval *zend_try_array_init(zval *zv)
#define FAST_ZPP 1
#define Z_EXPECTED_TYPES(_) \
- _(Z_EXPECTED_LONG, "int") \
- _(Z_EXPECTED_BOOL, "bool") \
- _(Z_EXPECTED_STRING, "string") \
- _(Z_EXPECTED_ARRAY, "array") \
- _(Z_EXPECTED_FUNC, "valid callback") \
- _(Z_EXPECTED_RESOURCE, "resource") \
+ _(Z_EXPECTED_LONG, "of type int") \
+ _(Z_EXPECTED_BOOL, "of type bool") \
+ _(Z_EXPECTED_STRING, "of type string") \
+ _(Z_EXPECTED_ARRAY, "of type array") \
+ _(Z_EXPECTED_FUNC, "a valid callback") \
+ _(Z_EXPECTED_RESOURCE, "of type resource") \
_(Z_EXPECTED_PATH, "a valid path") \
- _(Z_EXPECTED_OBJECT, "object") \
- _(Z_EXPECTED_DOUBLE, "float") \
- _(Z_EXPECTED_NUMBER, "int or float") \
- _(Z_EXPECTED_STRING_OR_ARRAY, "string or array") \
+ _(Z_EXPECTED_OBJECT, "of type object") \
+ _(Z_EXPECTED_DOUBLE, "of type float") \
+ _(Z_EXPECTED_NUMBER, "of type int|float") \
+ _(Z_EXPECTED_STRING_OR_ARRAY, "of type string|array") \
+
+#define Z_EXPECTED_TYPE
#define Z_EXPECTED_TYPE_ENUM(id, str) id,
#define Z_EXPECTED_TYPE_STR(id, str) str,
@@ -1149,6 +1151,11 @@ ZEND_API ZEND_COLD void ZEND_FASTCALL zend_wrong_parameters_count_error(int min_
ZEND_API ZEND_COLD void ZEND_FASTCALL zend_wrong_parameter_type_error(int num, zend_expected_type expected_type, zval *arg);
ZEND_API ZEND_COLD void ZEND_FASTCALL zend_wrong_parameter_class_error(int num, const char *name, zval *arg);
ZEND_API ZEND_COLD void ZEND_FASTCALL zend_wrong_callback_error(int num, char *error);
+ZEND_API ZEND_COLD void ZEND_FASTCALL zend_argument_error(zend_class_entry *error_ce, uint32_t arg_num, const char *format, ...);
+#define zend_argument_type_error(arg_num, ...) \
+ zend_argument_error(zend_ce_type_error, arg_num, __VA_ARGS__)
+#define zend_argument_value_error(arg_num, ...) \
+ zend_argument_error(zend_ce_value_error, arg_num, __VA_ARGS__)
#define ZPP_ERROR_OK 0
#define ZPP_ERROR_FAILURE 1