xref: /PHP-8.3/ext/json/json_arginfo.h (revision 2e8699f6)
1 /* This is a generated file, edit the .stub.php file instead.
2  * Stub hash: 0ceb50047401c4b9e878c09cc518eacc274f7fff */
3 
4 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_json_encode, 0, 1, MAY_BE_STRING|MAY_BE_FALSE)
5 	ZEND_ARG_TYPE_INFO(0, value, IS_MIXED, 0)
6 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, flags, IS_LONG, 0, "0")
7 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, depth, IS_LONG, 0, "512")
8 ZEND_END_ARG_INFO()
9 
10 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_json_decode, 0, 1, IS_MIXED, 0)
11 	ZEND_ARG_TYPE_INFO(0, json, IS_STRING, 0)
12 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, associative, _IS_BOOL, 1, "null")
13 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, depth, IS_LONG, 0, "512")
14 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, flags, IS_LONG, 0, "0")
15 ZEND_END_ARG_INFO()
16 
17 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_json_validate, 0, 1, _IS_BOOL, 0)
18 	ZEND_ARG_TYPE_INFO(0, json, IS_STRING, 0)
19 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, depth, IS_LONG, 0, "512")
20 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, flags, IS_LONG, 0, "0")
21 ZEND_END_ARG_INFO()
22 
23 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_json_last_error, 0, 0, IS_LONG, 0)
24 ZEND_END_ARG_INFO()
25 
26 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_json_last_error_msg, 0, 0, IS_STRING, 0)
27 ZEND_END_ARG_INFO()
28 
29 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_JsonSerializable_jsonSerialize, 0, 0, IS_MIXED, 0)
30 ZEND_END_ARG_INFO()
31 
32 
33 ZEND_FUNCTION(json_encode);
34 ZEND_FUNCTION(json_decode);
35 ZEND_FUNCTION(json_validate);
36 ZEND_FUNCTION(json_last_error);
37 ZEND_FUNCTION(json_last_error_msg);
38 
39 
40 static const zend_function_entry ext_functions[] = {
41 	ZEND_FE(json_encode, arginfo_json_encode)
42 	ZEND_FE(json_decode, arginfo_json_decode)
43 	ZEND_FE(json_validate, arginfo_json_validate)
44 	ZEND_FE(json_last_error, arginfo_json_last_error)
45 	ZEND_FE(json_last_error_msg, arginfo_json_last_error_msg)
46 	ZEND_FE_END
47 };
48 
49 
50 static const zend_function_entry class_JsonSerializable_methods[] = {
51 	ZEND_ABSTRACT_ME_WITH_FLAGS(JsonSerializable, jsonSerialize, arginfo_class_JsonSerializable_jsonSerialize, ZEND_ACC_PUBLIC|ZEND_ACC_ABSTRACT)
52 	ZEND_FE_END
53 };
54 
55 
56 static const zend_function_entry class_JsonException_methods[] = {
57 	ZEND_FE_END
58 };
59 
register_json_symbols(int module_number)60 static void register_json_symbols(int module_number)
61 {
62 	REGISTER_LONG_CONSTANT("JSON_HEX_TAG", PHP_JSON_HEX_TAG, CONST_PERSISTENT);
63 	REGISTER_LONG_CONSTANT("JSON_HEX_AMP", PHP_JSON_HEX_AMP, CONST_PERSISTENT);
64 	REGISTER_LONG_CONSTANT("JSON_HEX_APOS", PHP_JSON_HEX_APOS, CONST_PERSISTENT);
65 	REGISTER_LONG_CONSTANT("JSON_HEX_QUOT", PHP_JSON_HEX_QUOT, CONST_PERSISTENT);
66 	REGISTER_LONG_CONSTANT("JSON_FORCE_OBJECT", PHP_JSON_FORCE_OBJECT, CONST_PERSISTENT);
67 	REGISTER_LONG_CONSTANT("JSON_NUMERIC_CHECK", PHP_JSON_NUMERIC_CHECK, CONST_PERSISTENT);
68 	REGISTER_LONG_CONSTANT("JSON_UNESCAPED_SLASHES", PHP_JSON_UNESCAPED_SLASHES, CONST_PERSISTENT);
69 	REGISTER_LONG_CONSTANT("JSON_PRETTY_PRINT", PHP_JSON_PRETTY_PRINT, CONST_PERSISTENT);
70 	REGISTER_LONG_CONSTANT("JSON_UNESCAPED_UNICODE", PHP_JSON_UNESCAPED_UNICODE, CONST_PERSISTENT);
71 	REGISTER_LONG_CONSTANT("JSON_PARTIAL_OUTPUT_ON_ERROR", PHP_JSON_PARTIAL_OUTPUT_ON_ERROR, CONST_PERSISTENT);
72 	REGISTER_LONG_CONSTANT("JSON_PRESERVE_ZERO_FRACTION", PHP_JSON_PRESERVE_ZERO_FRACTION, CONST_PERSISTENT);
73 	REGISTER_LONG_CONSTANT("JSON_UNESCAPED_LINE_TERMINATORS", PHP_JSON_UNESCAPED_LINE_TERMINATORS, CONST_PERSISTENT);
74 	REGISTER_LONG_CONSTANT("JSON_OBJECT_AS_ARRAY", PHP_JSON_OBJECT_AS_ARRAY, CONST_PERSISTENT);
75 	REGISTER_LONG_CONSTANT("JSON_BIGINT_AS_STRING", PHP_JSON_BIGINT_AS_STRING, CONST_PERSISTENT);
76 	REGISTER_LONG_CONSTANT("JSON_INVALID_UTF8_IGNORE", PHP_JSON_INVALID_UTF8_IGNORE, CONST_PERSISTENT);
77 	REGISTER_LONG_CONSTANT("JSON_INVALID_UTF8_SUBSTITUTE", PHP_JSON_INVALID_UTF8_SUBSTITUTE, CONST_PERSISTENT);
78 	REGISTER_LONG_CONSTANT("JSON_THROW_ON_ERROR", PHP_JSON_THROW_ON_ERROR, CONST_PERSISTENT);
79 	REGISTER_LONG_CONSTANT("JSON_ERROR_NONE", PHP_JSON_ERROR_NONE, CONST_PERSISTENT);
80 	REGISTER_LONG_CONSTANT("JSON_ERROR_DEPTH", PHP_JSON_ERROR_DEPTH, CONST_PERSISTENT);
81 	REGISTER_LONG_CONSTANT("JSON_ERROR_STATE_MISMATCH", PHP_JSON_ERROR_STATE_MISMATCH, CONST_PERSISTENT);
82 	REGISTER_LONG_CONSTANT("JSON_ERROR_CTRL_CHAR", PHP_JSON_ERROR_CTRL_CHAR, CONST_PERSISTENT);
83 	REGISTER_LONG_CONSTANT("JSON_ERROR_SYNTAX", PHP_JSON_ERROR_SYNTAX, CONST_PERSISTENT);
84 	REGISTER_LONG_CONSTANT("JSON_ERROR_UTF8", PHP_JSON_ERROR_UTF8, CONST_PERSISTENT);
85 	REGISTER_LONG_CONSTANT("JSON_ERROR_RECURSION", PHP_JSON_ERROR_RECURSION, CONST_PERSISTENT);
86 	REGISTER_LONG_CONSTANT("JSON_ERROR_INF_OR_NAN", PHP_JSON_ERROR_INF_OR_NAN, CONST_PERSISTENT);
87 	REGISTER_LONG_CONSTANT("JSON_ERROR_UNSUPPORTED_TYPE", PHP_JSON_ERROR_UNSUPPORTED_TYPE, CONST_PERSISTENT);
88 	REGISTER_LONG_CONSTANT("JSON_ERROR_INVALID_PROPERTY_NAME", PHP_JSON_ERROR_INVALID_PROPERTY_NAME, CONST_PERSISTENT);
89 	REGISTER_LONG_CONSTANT("JSON_ERROR_UTF16", PHP_JSON_ERROR_UTF16, CONST_PERSISTENT);
90 	REGISTER_LONG_CONSTANT("JSON_ERROR_NON_BACKED_ENUM", PHP_JSON_ERROR_NON_BACKED_ENUM, CONST_PERSISTENT);
91 }
92 
register_class_JsonSerializable(void)93 static zend_class_entry *register_class_JsonSerializable(void)
94 {
95 	zend_class_entry ce, *class_entry;
96 
97 	INIT_CLASS_ENTRY(ce, "JsonSerializable", class_JsonSerializable_methods);
98 	class_entry = zend_register_internal_interface(&ce);
99 
100 	return class_entry;
101 }
102 
register_class_JsonException(zend_class_entry * class_entry_Exception)103 static zend_class_entry *register_class_JsonException(zend_class_entry *class_entry_Exception)
104 {
105 	zend_class_entry ce, *class_entry;
106 
107 	INIT_CLASS_ENTRY(ce, "JsonException", class_JsonException_methods);
108 	class_entry = zend_register_internal_class_ex(&ce, class_entry_Exception);
109 
110 	return class_entry;
111 }
112