xref: /php-src/ext/zend_test/test_arginfo.h (revision e715dd0a)
1 /* This is a generated file, edit the .stub.php file instead.
2  * Stub hash: 5ba6aceffff4e81330182eb84014928630fc9cdd */
3 
4 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_zend_test_array_return, 0, 0, IS_ARRAY, 0)
5 ZEND_END_ARG_INFO()
6 
7 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_zend_test_nullable_array_return, 0, 0, IS_ARRAY, 1)
8 ZEND_END_ARG_INFO()
9 
10 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_zend_test_void_return, 0, 0, IS_VOID, 0)
11 ZEND_END_ARG_INFO()
12 
13 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_zend_test_compile_string, 0, 3, IS_VOID, 0)
14 	ZEND_ARG_TYPE_INFO(0, source_string, IS_STRING, 0)
15 	ZEND_ARG_TYPE_INFO(0, filename, IS_STRING, 0)
16 	ZEND_ARG_TYPE_INFO(0, position, IS_LONG, 0)
17 ZEND_END_ARG_INFO()
18 
19 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_zend_test_deprecated, 0, 0, IS_VOID, 0)
20 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, arg, IS_MIXED, 0, "null")
21 ZEND_END_ARG_INFO()
22 
23 #define arginfo_zend_test_deprecated_attr arginfo_zend_test_void_return
24 
25 #define arginfo_zend_test_aliased arginfo_zend_test_void_return
26 
27 #define arginfo_zend_test_deprecated_aliased arginfo_zend_test_void_return
28 
29 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_zend_create_unterminated_string, 0, 1, IS_STRING, 0)
30 	ZEND_ARG_TYPE_INFO(0, str, IS_STRING, 0)
31 ZEND_END_ARG_INFO()
32 
33 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_zend_terminate_string, 0, 1, IS_VOID, 0)
34 	ZEND_ARG_TYPE_INFO(1, str, IS_STRING, 0)
35 ZEND_END_ARG_INFO()
36 
37 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_zend_leak_variable, 0, 1, IS_VOID, 0)
38 	ZEND_ARG_TYPE_INFO(0, variable, IS_MIXED, 0)
39 ZEND_END_ARG_INFO()
40 
41 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_zend_leak_bytes, 0, 0, IS_VOID, 0)
42 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, bytes, IS_LONG, 0, "3")
43 ZEND_END_ARG_INFO()
44 
45 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_zend_string_or_object, 0, 1, MAY_BE_OBJECT|MAY_BE_STRING)
46 	ZEND_ARG_TYPE_MASK(0, param, MAY_BE_OBJECT|MAY_BE_STRING, NULL)
47 ZEND_END_ARG_INFO()
48 
49 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_zend_string_or_object_or_null, 0, 1, MAY_BE_OBJECT|MAY_BE_STRING|MAY_BE_NULL)
50 	ZEND_ARG_TYPE_MASK(0, param, MAY_BE_OBJECT|MAY_BE_STRING|MAY_BE_NULL, NULL)
51 ZEND_END_ARG_INFO()
52 
53 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_zend_string_or_stdclass, 0, 1, stdClass, MAY_BE_STRING)
54 	ZEND_ARG_INFO(0, param)
55 ZEND_END_ARG_INFO()
56 
57 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_zend_string_or_stdclass_or_null, 0, 1, stdClass, MAY_BE_STRING|MAY_BE_NULL)
58 	ZEND_ARG_INFO(0, param)
59 ZEND_END_ARG_INFO()
60 
61 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_zend_number_or_string, 0, 1, MAY_BE_STRING|MAY_BE_LONG|MAY_BE_DOUBLE)
62 	ZEND_ARG_TYPE_MASK(0, param, MAY_BE_STRING|MAY_BE_LONG|MAY_BE_DOUBLE, NULL)
63 ZEND_END_ARG_INFO()
64 
65 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_zend_number_or_string_or_null, 0, 1, MAY_BE_STRING|MAY_BE_LONG|MAY_BE_DOUBLE|MAY_BE_NULL)
66 	ZEND_ARG_TYPE_MASK(0, param, MAY_BE_STRING|MAY_BE_LONG|MAY_BE_DOUBLE|MAY_BE_NULL, NULL)
67 ZEND_END_ARG_INFO()
68 
69 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_zend_iterable, 0, 1, IS_VOID, 0)
70 	ZEND_ARG_OBJ_TYPE_MASK(0, arg1, Traversable, MAY_BE_ARRAY, NULL)
71 	ZEND_ARG_OBJ_TYPE_MASK(0, arg2, Traversable, MAY_BE_ARRAY|MAY_BE_NULL, "null")
72 ZEND_END_ARG_INFO()
73 
74 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_zend_weakmap_attach, 0, 2, _IS_BOOL, 0)
75 	ZEND_ARG_TYPE_INFO(0, object, IS_OBJECT, 0)
76 	ZEND_ARG_TYPE_INFO(0, value, IS_MIXED, 0)
77 ZEND_END_ARG_INFO()
78 
79 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_zend_weakmap_remove, 0, 1, _IS_BOOL, 0)
80 	ZEND_ARG_TYPE_INFO(0, object, IS_OBJECT, 0)
81 ZEND_END_ARG_INFO()
82 
83 #define arginfo_zend_weakmap_dump arginfo_zend_test_array_return
84 
85 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_zend_get_unit_enum, 0, 0, ZendTestUnitEnum, 0)
86 ZEND_END_ARG_INFO()
87 
88 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_zend_test_parameter_with_attribute, 0, 1, IS_LONG, 0)
89 	ZEND_ARG_TYPE_INFO(0, parameter, IS_STRING, 0)
90 ZEND_END_ARG_INFO()
91 
92 #define arginfo_zend_test_attribute_with_named_argument arginfo_zend_test_void_return
93 
94 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_zend_get_current_func_name, 0, 0, IS_STRING, 0)
95 ZEND_END_ARG_INFO()
96 
97 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_zend_call_method, 0, 2, IS_MIXED, 0)
98 	ZEND_ARG_TYPE_MASK(0, obj_or_class, MAY_BE_OBJECT|MAY_BE_STRING, NULL)
99 	ZEND_ARG_TYPE_INFO(0, method, IS_STRING, 0)
100 	ZEND_ARG_TYPE_INFO(0, arg1, IS_MIXED, 0)
101 	ZEND_ARG_TYPE_INFO(0, arg2, IS_MIXED, 0)
102 ZEND_END_ARG_INFO()
103 
104 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_zend_object_init_with_constructor, 0, 1, IS_MIXED, 0)
105 	ZEND_ARG_TYPE_INFO(0, class, IS_STRING, 0)
106 	ZEND_ARG_VARIADIC_TYPE_INFO(0, args, IS_MIXED, 0)
107 ZEND_END_ARG_INFO()
108 
109 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_zend_test_zend_ini_parse_quantity, 0, 1, IS_LONG, 0)
110 	ZEND_ARG_TYPE_INFO(0, str, IS_STRING, 0)
111 ZEND_END_ARG_INFO()
112 
113 #define arginfo_zend_test_zend_ini_parse_uquantity arginfo_zend_test_zend_ini_parse_quantity
114 
115 #define arginfo_zend_test_zend_ini_str arginfo_zend_get_current_func_name
116 
117 #if defined(ZEND_CHECK_STACK_LIMIT)
118 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_zend_test_zend_call_stack_get, 0, 0, IS_ARRAY, 1)
119 ZEND_END_ARG_INFO()
120 
121 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_zend_test_zend_call_stack_use_all, 0, 0, IS_LONG, 0)
122 ZEND_END_ARG_INFO()
123 #endif
124 
125 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_zend_test_is_string_marked_as_valid_utf8, 0, 1, _IS_BOOL, 0)
126 	ZEND_ARG_TYPE_INFO(0, string, IS_STRING, 0)
127 ZEND_END_ARG_INFO()
128 
129 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_zend_get_map_ptr_last, 0, 0, IS_LONG, 0)
130 ZEND_END_ARG_INFO()
131 
132 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_zend_test_crash, 0, 0, IS_VOID, 0)
133 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, message, IS_STRING, 1, "null")
134 ZEND_END_ARG_INFO()
135 
136 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_zend_test_fill_packed_array, 0, 1, IS_VOID, 0)
137 	ZEND_ARG_TYPE_INFO(1, array, IS_ARRAY, 0)
138 ZEND_END_ARG_INFO()
139 
140 ZEND_BEGIN_ARG_INFO_EX(arginfo_zend_test_create_throwing_resource, 0, 0, 0)
141 ZEND_END_ARG_INFO()
142 
143 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_get_open_basedir, 0, 0, IS_STRING, 1)
144 ZEND_END_ARG_INFO()
145 
146 #if defined(HAVE_LIBXML) && !defined(PHP_WIN32)
147 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_zend_test_override_libxml_global_state, 0, 0, IS_VOID, 0)
148 ZEND_END_ARG_INFO()
149 #endif
150 
151 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_zend_test_is_pcre_bundled, 0, 0, _IS_BOOL, 0)
152 ZEND_END_ARG_INFO()
153 
154 #if defined(PHP_WIN32)
155 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_zend_test_set_fmode, 0, 1, IS_VOID, 0)
156 	ZEND_ARG_TYPE_INFO(0, binary, _IS_BOOL, 0)
157 ZEND_END_ARG_INFO()
158 #endif
159 
160 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_zend_test_cast_fread, 0, 1, IS_VOID, 0)
161 	ZEND_ARG_INFO(0, stream)
162 ZEND_END_ARG_INFO()
163 
164 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_zend_test_is_zend_ptr, 0, 1, _IS_BOOL, 0)
165 	ZEND_ARG_TYPE_INFO(0, addr, IS_LONG, 0)
166 ZEND_END_ARG_INFO()
167 
168 #define arginfo_ZendTestNS2_namespaced_func arginfo_zend_test_is_pcre_bundled
169 
170 #define arginfo_ZendTestNS2_namespaced_deprecated_func arginfo_zend_test_void_return
171 
172 #define arginfo_ZendTestNS2_namespaced_aliased_func arginfo_zend_test_void_return
173 
174 #define arginfo_ZendTestNS2_namespaced_deprecated_aliased_func arginfo_zend_test_void_return
175 
176 #define arginfo_ZendTestNS2_ZendSubNS_namespaced_func arginfo_zend_test_is_pcre_bundled
177 
178 #define arginfo_ZendTestNS2_ZendSubNS_namespaced_deprecated_func arginfo_zend_test_void_return
179 
180 #define arginfo_ZendTestNS2_ZendSubNS_namespaced_aliased_func arginfo_zend_test_void_return
181 
182 #define arginfo_ZendTestNS2_ZendSubNS_namespaced_deprecated_aliased_func arginfo_zend_test_void_return
183 
184 #define arginfo_class__ZendTestClass_is_object arginfo_zend_get_map_ptr_last
185 
186 #define arginfo_class__ZendTestClass___toString arginfo_zend_get_current_func_name
187 
188 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class__ZendTestClass_returnsStatic, 0, 0, IS_STATIC, 0)
189 ZEND_END_ARG_INFO()
190 
191 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_class__ZendTestClass_returnsThrowable, 0, 0, Throwable, 0)
192 ZEND_END_ARG_INFO()
193 
194 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class__ZendTestClass_variadicTest, 0, 0, IS_STATIC, 0)
195 	ZEND_ARG_VARIADIC_OBJ_TYPE_MASK(0, elements, Iterator, MAY_BE_STRING)
196 ZEND_END_ARG_INFO()
197 
198 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class__ZendTestClass_takesUnionType, 0, 1, IS_VOID, 0)
199 	ZEND_ARG_OBJ_TYPE_MASK(0, arg, stdclass|Iterator, 0, NULL)
200 ZEND_END_ARG_INFO()
201 
202 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class__ZendTestMagicCall___call, 0, 2, IS_MIXED, 0)
203 	ZEND_ARG_TYPE_INFO(0, name, IS_STRING, 0)
204 	ZEND_ARG_TYPE_INFO(0, args, IS_ARRAY, 0)
205 ZEND_END_ARG_INFO()
206 
207 #define arginfo_class__ZendTestMagicCallForward___call arginfo_class__ZendTestMagicCall___call
208 
209 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_class__ZendTestChildClass_returnsThrowable, 0, 0, Exception, 0)
210 ZEND_END_ARG_INFO()
211 
212 #define arginfo_class_ZendAttributeTest_testMethod arginfo_zend_test_is_pcre_bundled
213 
214 #define arginfo_class__ZendTestTrait_testMethod arginfo_zend_test_is_pcre_bundled
215 
216 ZEND_BEGIN_ARG_INFO_EX(arginfo_class_ZendTestAttributeWithArguments___construct, 0, 0, 1)
217 	ZEND_ARG_TYPE_INFO(0, arg, IS_MIXED, 0)
218 ZEND_END_ARG_INFO()
219 
220 ZEND_BEGIN_ARG_INFO_EX(arginfo_class_ZendTestParameterAttribute___construct, 0, 0, 1)
221 	ZEND_ARG_TYPE_INFO(0, parameter, IS_STRING, 0)
222 ZEND_END_ARG_INFO()
223 
224 #define arginfo_class_ZendTestPropertyAttribute___construct arginfo_class_ZendTestParameterAttribute___construct
225 
226 #define arginfo_class_ZendTestClassWithMethodWithParameterAttribute_no_override arginfo_zend_test_parameter_with_attribute
227 
228 #define arginfo_class_ZendTestClassWithMethodWithParameterAttribute_override arginfo_zend_test_parameter_with_attribute
229 
230 #define arginfo_class_ZendTestChildClassWithMethodWithParameterAttribute_override arginfo_zend_test_parameter_with_attribute
231 
232 #define arginfo_class_ZendTestForbidDynamicCall_call arginfo_zend_test_void_return
233 
234 #define arginfo_class_ZendTestForbidDynamicCall_callStatic arginfo_zend_test_void_return
235 
236 #if (PHP_VERSION_ID >= 80100)
237 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_ZendTestNS_Foo_method, 0, 0, IS_LONG, 0)
238 #else
239 ZEND_BEGIN_ARG_INFO_EX(arginfo_class_ZendTestNS_Foo_method, 0, 0, 0)
240 #endif
241 ZEND_END_ARG_INFO()
242 
243 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_class_ZendTestNS_UnlikelyCompileError_method, 0, 0, ZendTestNS\\\125nlikelyCompileError, 1)
244 ZEND_END_ARG_INFO()
245 
246 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_class_ZendTestNS_NotUnlikelyCompileError_method, 0, 0, ZendTestNS\\\116otUnlikelyCompileError, 1)
247 ZEND_END_ARG_INFO()
248 
249 #define arginfo_class_ZendTestNS2_Foo_method arginfo_zend_test_void_return
250 
251 #define arginfo_class_ZendTestNS2_ZendSubNS_Foo_method arginfo_zend_test_void_return
252 
253 static ZEND_FUNCTION(zend_test_array_return);
254 static ZEND_FUNCTION(zend_test_nullable_array_return);
255 static ZEND_FUNCTION(zend_test_void_return);
256 static ZEND_FUNCTION(zend_test_compile_string);
257 static ZEND_FUNCTION(zend_test_deprecated);
258 static ZEND_FUNCTION(zend_test_deprecated_attr);
259 static ZEND_FUNCTION(zend_create_unterminated_string);
260 static ZEND_FUNCTION(zend_terminate_string);
261 static ZEND_FUNCTION(zend_leak_variable);
262 static ZEND_FUNCTION(zend_leak_bytes);
263 static ZEND_FUNCTION(zend_string_or_object);
264 static ZEND_FUNCTION(zend_string_or_object_or_null);
265 static ZEND_FUNCTION(zend_string_or_stdclass);
266 static ZEND_FUNCTION(zend_string_or_stdclass_or_null);
267 static ZEND_FUNCTION(zend_number_or_string);
268 static ZEND_FUNCTION(zend_number_or_string_or_null);
269 static ZEND_FUNCTION(zend_iterable);
270 static ZEND_FUNCTION(zend_weakmap_attach);
271 static ZEND_FUNCTION(zend_weakmap_remove);
272 static ZEND_FUNCTION(zend_weakmap_dump);
273 static ZEND_FUNCTION(zend_get_unit_enum);
274 static ZEND_FUNCTION(zend_test_parameter_with_attribute);
275 static ZEND_FUNCTION(zend_test_attribute_with_named_argument);
276 static ZEND_FUNCTION(zend_get_current_func_name);
277 static ZEND_FUNCTION(zend_call_method);
278 static ZEND_FUNCTION(zend_object_init_with_constructor);
279 static ZEND_FUNCTION(zend_test_zend_ini_parse_quantity);
280 static ZEND_FUNCTION(zend_test_zend_ini_parse_uquantity);
281 static ZEND_FUNCTION(zend_test_zend_ini_str);
282 #if defined(ZEND_CHECK_STACK_LIMIT)
283 static ZEND_FUNCTION(zend_test_zend_call_stack_get);
284 static ZEND_FUNCTION(zend_test_zend_call_stack_use_all);
285 #endif
286 static ZEND_FUNCTION(zend_test_is_string_marked_as_valid_utf8);
287 static ZEND_FUNCTION(zend_get_map_ptr_last);
288 static ZEND_FUNCTION(zend_test_crash);
289 static ZEND_FUNCTION(zend_test_fill_packed_array);
290 static ZEND_FUNCTION(zend_test_create_throwing_resource);
291 static ZEND_FUNCTION(get_open_basedir);
292 #if defined(HAVE_LIBXML) && !defined(PHP_WIN32)
293 static ZEND_FUNCTION(zend_test_override_libxml_global_state);
294 #endif
295 static ZEND_FUNCTION(zend_test_is_pcre_bundled);
296 #if defined(PHP_WIN32)
297 static ZEND_FUNCTION(zend_test_set_fmode);
298 #endif
299 static ZEND_FUNCTION(zend_test_cast_fread);
300 static ZEND_FUNCTION(zend_test_is_zend_ptr);
301 static ZEND_FUNCTION(ZendTestNS2_namespaced_func);
302 static ZEND_FUNCTION(ZendTestNS2_namespaced_deprecated_func);
303 static ZEND_FUNCTION(ZendTestNS2_ZendSubNS_namespaced_func);
304 static ZEND_FUNCTION(ZendTestNS2_ZendSubNS_namespaced_deprecated_func);
305 static ZEND_METHOD(_ZendTestClass, is_object);
306 static ZEND_METHOD(_ZendTestClass, __toString);
307 static ZEND_METHOD(_ZendTestClass, returnsStatic);
308 static ZEND_METHOD(_ZendTestClass, returnsThrowable);
309 static ZEND_METHOD(_ZendTestClass, variadicTest);
310 static ZEND_METHOD(_ZendTestClass, takesUnionType);
311 static ZEND_METHOD(_ZendTestMagicCall, __call);
312 static ZEND_METHOD(_ZendTestMagicCallForward, __call);
313 static ZEND_METHOD(_ZendTestChildClass, returnsThrowable);
314 static ZEND_METHOD(ZendAttributeTest, testMethod);
315 static ZEND_METHOD(_ZendTestTrait, testMethod);
316 static ZEND_METHOD(ZendTestAttributeWithArguments, __construct);
317 static ZEND_METHOD(ZendTestParameterAttribute, __construct);
318 static ZEND_METHOD(ZendTestPropertyAttribute, __construct);
319 static ZEND_METHOD(ZendTestClassWithMethodWithParameterAttribute, no_override);
320 static ZEND_METHOD(ZendTestClassWithMethodWithParameterAttribute, override);
321 static ZEND_METHOD(ZendTestChildClassWithMethodWithParameterAttribute, override);
322 static ZEND_METHOD(ZendTestForbidDynamicCall, call);
323 static ZEND_METHOD(ZendTestForbidDynamicCall, callStatic);
324 static ZEND_METHOD(ZendTestNS_Foo, method);
325 static ZEND_METHOD(ZendTestNS_UnlikelyCompileError, method);
326 static ZEND_METHOD(ZendTestNS_NotUnlikelyCompileError, method);
327 static ZEND_METHOD(ZendTestNS2_Foo, method);
328 static ZEND_METHOD(ZendTestNS2_ZendSubNS_Foo, method);
329 
330 static const zend_function_entry ext_functions[] = {
331 	ZEND_FE(zend_test_array_return, arginfo_zend_test_array_return)
332 #if (PHP_VERSION_ID >= 80400)
333 	ZEND_RAW_FENTRY("zend_test_nullable_array_return", zif_zend_test_nullable_array_return, arginfo_zend_test_nullable_array_return, ZEND_ACC_COMPILE_TIME_EVAL, NULL, "/**\n     * \"Lorem ipsum\"\n     * @see https://www.php.net\n     * @since 8.3\n     */")
334 #else
335 #if (PHP_VERSION_ID >= 80200)
336 	ZEND_RAW_FENTRY("zend_test_nullable_array_return", zif_zend_test_nullable_array_return, arginfo_zend_test_nullable_array_return, ZEND_ACC_COMPILE_TIME_EVAL)
337 #elif (PHP_VERSION_ID >= 80000)
338 	ZEND_RAW_FENTRY("zend_test_nullable_array_return", zif_zend_test_nullable_array_return, arginfo_zend_test_nullable_array_return, 0)
339 #endif
340 #endif
341 	ZEND_FE(zend_test_void_return, arginfo_zend_test_void_return)
342 	ZEND_FE(zend_test_compile_string, arginfo_zend_test_compile_string)
343 #if (PHP_VERSION_ID >= 80400)
344 	ZEND_RAW_FENTRY("zend_test_deprecated", zif_zend_test_deprecated, arginfo_zend_test_deprecated, ZEND_ACC_DEPRECATED, NULL, NULL)
345 #else
346 	ZEND_RAW_FENTRY("zend_test_deprecated", zif_zend_test_deprecated, arginfo_zend_test_deprecated, ZEND_ACC_DEPRECATED)
347 #endif
348 #if (PHP_VERSION_ID >= 80400)
349 	ZEND_RAW_FENTRY("zend_test_deprecated_attr", zif_zend_test_deprecated_attr, arginfo_zend_test_deprecated_attr, ZEND_ACC_DEPRECATED, NULL, NULL)
350 #else
351 	ZEND_RAW_FENTRY("zend_test_deprecated_attr", zif_zend_test_deprecated_attr, arginfo_zend_test_deprecated_attr, ZEND_ACC_DEPRECATED)
352 #endif
353 #if (PHP_VERSION_ID >= 80400)
354 	ZEND_RAW_FENTRY("zend_test_aliased", zif_zend_test_void_return, arginfo_zend_test_aliased, 0, NULL, NULL)
355 #else
356 	ZEND_RAW_FENTRY("zend_test_aliased", zif_zend_test_void_return, arginfo_zend_test_aliased, 0)
357 #endif
358 #if (PHP_VERSION_ID >= 80400)
359 	ZEND_RAW_FENTRY("zend_test_deprecated_aliased", zif_zend_test_void_return, arginfo_zend_test_deprecated_aliased, ZEND_ACC_DEPRECATED, NULL, NULL)
360 #else
361 	ZEND_RAW_FENTRY("zend_test_deprecated_aliased", zif_zend_test_void_return, arginfo_zend_test_deprecated_aliased, ZEND_ACC_DEPRECATED)
362 #endif
363 	ZEND_FE(zend_create_unterminated_string, arginfo_zend_create_unterminated_string)
364 	ZEND_FE(zend_terminate_string, arginfo_zend_terminate_string)
365 	ZEND_FE(zend_leak_variable, arginfo_zend_leak_variable)
366 	ZEND_FE(zend_leak_bytes, arginfo_zend_leak_bytes)
367 	ZEND_FE(zend_string_or_object, arginfo_zend_string_or_object)
368 	ZEND_FE(zend_string_or_object_or_null, arginfo_zend_string_or_object_or_null)
369 	ZEND_FE(zend_string_or_stdclass, arginfo_zend_string_or_stdclass)
370 	ZEND_FE(zend_string_or_stdclass_or_null, arginfo_zend_string_or_stdclass_or_null)
371 	ZEND_FE(zend_number_or_string, arginfo_zend_number_or_string)
372 	ZEND_FE(zend_number_or_string_or_null, arginfo_zend_number_or_string_or_null)
373 	ZEND_FE(zend_iterable, arginfo_zend_iterable)
374 	ZEND_FE(zend_weakmap_attach, arginfo_zend_weakmap_attach)
375 	ZEND_FE(zend_weakmap_remove, arginfo_zend_weakmap_remove)
376 	ZEND_FE(zend_weakmap_dump, arginfo_zend_weakmap_dump)
377 	ZEND_FE(zend_get_unit_enum, arginfo_zend_get_unit_enum)
378 	ZEND_FE(zend_test_parameter_with_attribute, arginfo_zend_test_parameter_with_attribute)
379 	ZEND_FE(zend_test_attribute_with_named_argument, arginfo_zend_test_attribute_with_named_argument)
380 	ZEND_FE(zend_get_current_func_name, arginfo_zend_get_current_func_name)
381 	ZEND_FE(zend_call_method, arginfo_zend_call_method)
382 	ZEND_FE(zend_object_init_with_constructor, arginfo_zend_object_init_with_constructor)
383 	ZEND_FE(zend_test_zend_ini_parse_quantity, arginfo_zend_test_zend_ini_parse_quantity)
384 	ZEND_FE(zend_test_zend_ini_parse_uquantity, arginfo_zend_test_zend_ini_parse_uquantity)
385 	ZEND_FE(zend_test_zend_ini_str, arginfo_zend_test_zend_ini_str)
386 #if defined(ZEND_CHECK_STACK_LIMIT)
387 	ZEND_FE(zend_test_zend_call_stack_get, arginfo_zend_test_zend_call_stack_get)
388 	ZEND_FE(zend_test_zend_call_stack_use_all, arginfo_zend_test_zend_call_stack_use_all)
389 #endif
390 	ZEND_FE(zend_test_is_string_marked_as_valid_utf8, arginfo_zend_test_is_string_marked_as_valid_utf8)
391 	ZEND_FE(zend_get_map_ptr_last, arginfo_zend_get_map_ptr_last)
392 	ZEND_FE(zend_test_crash, arginfo_zend_test_crash)
393 	ZEND_FE(zend_test_fill_packed_array, arginfo_zend_test_fill_packed_array)
394 	ZEND_FE(zend_test_create_throwing_resource, arginfo_zend_test_create_throwing_resource)
395 	ZEND_FE(get_open_basedir, arginfo_get_open_basedir)
396 #if defined(HAVE_LIBXML) && !defined(PHP_WIN32)
397 	ZEND_FE(zend_test_override_libxml_global_state, arginfo_zend_test_override_libxml_global_state)
398 #endif
399 	ZEND_FE(zend_test_is_pcre_bundled, arginfo_zend_test_is_pcre_bundled)
400 #if defined(PHP_WIN32)
401 	ZEND_FE(zend_test_set_fmode, arginfo_zend_test_set_fmode)
402 #endif
403 	ZEND_FE(zend_test_cast_fread, arginfo_zend_test_cast_fread)
404 	ZEND_FE(zend_test_is_zend_ptr, arginfo_zend_test_is_zend_ptr)
405 #if (PHP_VERSION_ID >= 80400)
406 	ZEND_RAW_FENTRY(ZEND_NS_NAME("ZendTestNS2", "namespaced_func"), zif_ZendTestNS2_namespaced_func, arginfo_ZendTestNS2_namespaced_func, 0, NULL, NULL)
407 #else
408 	ZEND_RAW_FENTRY(ZEND_NS_NAME("ZendTestNS2", "namespaced_func"), zif_ZendTestNS2_namespaced_func, arginfo_ZendTestNS2_namespaced_func, 0)
409 #endif
410 #if (PHP_VERSION_ID >= 80400)
411 	ZEND_RAW_FENTRY(ZEND_NS_NAME("ZendTestNS2", "namespaced_deprecated_func"), zif_ZendTestNS2_namespaced_deprecated_func, arginfo_ZendTestNS2_namespaced_deprecated_func, ZEND_ACC_DEPRECATED, NULL, NULL)
412 #else
413 	ZEND_RAW_FENTRY(ZEND_NS_NAME("ZendTestNS2", "namespaced_deprecated_func"), zif_ZendTestNS2_namespaced_deprecated_func, arginfo_ZendTestNS2_namespaced_deprecated_func, ZEND_ACC_DEPRECATED)
414 #endif
415 #if (PHP_VERSION_ID >= 80400)
416 	ZEND_RAW_FENTRY(ZEND_NS_NAME("ZendTestNS2", "namespaced_aliased_func"), zif_zend_test_void_return, arginfo_ZendTestNS2_namespaced_aliased_func, 0, NULL, NULL)
417 #else
418 	ZEND_RAW_FENTRY(ZEND_NS_NAME("ZendTestNS2", "namespaced_aliased_func"), zif_zend_test_void_return, arginfo_ZendTestNS2_namespaced_aliased_func, 0)
419 #endif
420 #if (PHP_VERSION_ID >= 80400)
421 	ZEND_RAW_FENTRY(ZEND_NS_NAME("ZendTestNS2", "namespaced_deprecated_aliased_func"), zif_zend_test_void_return, arginfo_ZendTestNS2_namespaced_deprecated_aliased_func, ZEND_ACC_DEPRECATED, NULL, NULL)
422 #else
423 	ZEND_RAW_FENTRY(ZEND_NS_NAME("ZendTestNS2", "namespaced_deprecated_aliased_func"), zif_zend_test_void_return, arginfo_ZendTestNS2_namespaced_deprecated_aliased_func, ZEND_ACC_DEPRECATED)
424 #endif
425 #if (PHP_VERSION_ID >= 80400)
426 	ZEND_RAW_FENTRY(ZEND_NS_NAME("ZendTestNS2\\ZendSubNS", "namespaced_func"), zif_ZendTestNS2_ZendSubNS_namespaced_func, arginfo_ZendTestNS2_ZendSubNS_namespaced_func, 0, NULL, NULL)
427 #else
428 	ZEND_RAW_FENTRY(ZEND_NS_NAME("ZendTestNS2\\ZendSubNS", "namespaced_func"), zif_ZendTestNS2_ZendSubNS_namespaced_func, arginfo_ZendTestNS2_ZendSubNS_namespaced_func, 0)
429 #endif
430 #if (PHP_VERSION_ID >= 80400)
431 	ZEND_RAW_FENTRY(ZEND_NS_NAME("ZendTestNS2\\ZendSubNS", "namespaced_deprecated_func"), zif_ZendTestNS2_ZendSubNS_namespaced_deprecated_func, arginfo_ZendTestNS2_ZendSubNS_namespaced_deprecated_func, ZEND_ACC_DEPRECATED, NULL, NULL)
432 #else
433 	ZEND_RAW_FENTRY(ZEND_NS_NAME("ZendTestNS2\\ZendSubNS", "namespaced_deprecated_func"), zif_ZendTestNS2_ZendSubNS_namespaced_deprecated_func, arginfo_ZendTestNS2_ZendSubNS_namespaced_deprecated_func, ZEND_ACC_DEPRECATED)
434 #endif
435 #if (PHP_VERSION_ID >= 80400)
436 	ZEND_RAW_FENTRY(ZEND_NS_NAME("ZendTestNS2\\ZendSubNS", "namespaced_aliased_func"), zif_zend_test_void_return, arginfo_ZendTestNS2_ZendSubNS_namespaced_aliased_func, 0, NULL, NULL)
437 #else
438 	ZEND_RAW_FENTRY(ZEND_NS_NAME("ZendTestNS2\\ZendSubNS", "namespaced_aliased_func"), zif_zend_test_void_return, arginfo_ZendTestNS2_ZendSubNS_namespaced_aliased_func, 0)
439 #endif
440 #if (PHP_VERSION_ID >= 80400)
441 	ZEND_RAW_FENTRY(ZEND_NS_NAME("ZendTestNS2\\ZendSubNS", "namespaced_deprecated_aliased_func"), zif_zend_test_void_return, arginfo_ZendTestNS2_ZendSubNS_namespaced_deprecated_aliased_func, ZEND_ACC_DEPRECATED, NULL, NULL)
442 #else
443 	ZEND_RAW_FENTRY(ZEND_NS_NAME("ZendTestNS2\\ZendSubNS", "namespaced_deprecated_aliased_func"), zif_zend_test_void_return, arginfo_ZendTestNS2_ZendSubNS_namespaced_deprecated_aliased_func, ZEND_ACC_DEPRECATED)
444 #endif
445 	ZEND_FE_END
446 };
447 
448 static const zend_function_entry class__ZendTestClass_methods[] = {
449 	ZEND_ME(_ZendTestClass, is_object, arginfo_class__ZendTestClass_is_object, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC)
450 	ZEND_ME(_ZendTestClass, __toString, arginfo_class__ZendTestClass___toString, ZEND_ACC_PUBLIC|ZEND_ACC_DEPRECATED)
451 	ZEND_ME(_ZendTestClass, returnsStatic, arginfo_class__ZendTestClass_returnsStatic, ZEND_ACC_PUBLIC)
452 	ZEND_ME(_ZendTestClass, returnsThrowable, arginfo_class__ZendTestClass_returnsThrowable, ZEND_ACC_PUBLIC)
453 	ZEND_ME(_ZendTestClass, variadicTest, arginfo_class__ZendTestClass_variadicTest, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC)
454 	ZEND_ME(_ZendTestClass, takesUnionType, arginfo_class__ZendTestClass_takesUnionType, ZEND_ACC_PUBLIC)
455 	ZEND_FE_END
456 };
457 
458 static const zend_function_entry class__ZendTestMagicCall_methods[] = {
459 	ZEND_ME(_ZendTestMagicCall, __call, arginfo_class__ZendTestMagicCall___call, ZEND_ACC_PUBLIC)
460 	ZEND_FE_END
461 };
462 
463 static const zend_function_entry class__ZendTestMagicCallForward_methods[] = {
464 	ZEND_ME(_ZendTestMagicCallForward, __call, arginfo_class__ZendTestMagicCallForward___call, ZEND_ACC_PUBLIC)
465 	ZEND_FE_END
466 };
467 
468 static const zend_function_entry class__ZendTestChildClass_methods[] = {
469 	ZEND_ME(_ZendTestChildClass, returnsThrowable, arginfo_class__ZendTestChildClass_returnsThrowable, ZEND_ACC_PUBLIC)
470 	ZEND_FE_END
471 };
472 
473 static const zend_function_entry class_ZendAttributeTest_methods[] = {
474 	ZEND_ME(ZendAttributeTest, testMethod, arginfo_class_ZendAttributeTest_testMethod, ZEND_ACC_PUBLIC)
475 	ZEND_FE_END
476 };
477 
478 static const zend_function_entry class__ZendTestTrait_methods[] = {
479 	ZEND_ME(_ZendTestTrait, testMethod, arginfo_class__ZendTestTrait_testMethod, ZEND_ACC_PUBLIC)
480 	ZEND_FE_END
481 };
482 
483 static const zend_function_entry class_ZendTestAttributeWithArguments_methods[] = {
484 	ZEND_ME(ZendTestAttributeWithArguments, __construct, arginfo_class_ZendTestAttributeWithArguments___construct, ZEND_ACC_PUBLIC)
485 	ZEND_FE_END
486 };
487 
488 static const zend_function_entry class_ZendTestParameterAttribute_methods[] = {
489 	ZEND_ME(ZendTestParameterAttribute, __construct, arginfo_class_ZendTestParameterAttribute___construct, ZEND_ACC_PUBLIC)
490 	ZEND_FE_END
491 };
492 
493 static const zend_function_entry class_ZendTestPropertyAttribute_methods[] = {
494 	ZEND_ME(ZendTestPropertyAttribute, __construct, arginfo_class_ZendTestPropertyAttribute___construct, ZEND_ACC_PUBLIC)
495 	ZEND_FE_END
496 };
497 
498 static const zend_function_entry class_ZendTestClassWithMethodWithParameterAttribute_methods[] = {
499 	ZEND_ME(ZendTestClassWithMethodWithParameterAttribute, no_override, arginfo_class_ZendTestClassWithMethodWithParameterAttribute_no_override, ZEND_ACC_PUBLIC|ZEND_ACC_FINAL)
500 	ZEND_ME(ZendTestClassWithMethodWithParameterAttribute, override, arginfo_class_ZendTestClassWithMethodWithParameterAttribute_override, ZEND_ACC_PUBLIC)
501 	ZEND_FE_END
502 };
503 
504 static const zend_function_entry class_ZendTestChildClassWithMethodWithParameterAttribute_methods[] = {
505 	ZEND_ME(ZendTestChildClassWithMethodWithParameterAttribute, override, arginfo_class_ZendTestChildClassWithMethodWithParameterAttribute_override, ZEND_ACC_PUBLIC)
506 	ZEND_FE_END
507 };
508 
509 static const zend_function_entry class_ZendTestForbidDynamicCall_methods[] = {
510 	ZEND_ME(ZendTestForbidDynamicCall, call, arginfo_class_ZendTestForbidDynamicCall_call, ZEND_ACC_PUBLIC)
511 	ZEND_ME(ZendTestForbidDynamicCall, callStatic, arginfo_class_ZendTestForbidDynamicCall_callStatic, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC)
512 	ZEND_FE_END
513 };
514 
515 static const zend_function_entry class_ZendTestNS_Foo_methods[] = {
516 	ZEND_ME(ZendTestNS_Foo, method, arginfo_class_ZendTestNS_Foo_method, ZEND_ACC_PUBLIC)
517 	ZEND_FE_END
518 };
519 
520 static const zend_function_entry class_ZendTestNS_UnlikelyCompileError_methods[] = {
521 	ZEND_ME(ZendTestNS_UnlikelyCompileError, method, arginfo_class_ZendTestNS_UnlikelyCompileError_method, ZEND_ACC_PUBLIC)
522 	ZEND_FE_END
523 };
524 
525 static const zend_function_entry class_ZendTestNS_NotUnlikelyCompileError_methods[] = {
526 	ZEND_ME(ZendTestNS_NotUnlikelyCompileError, method, arginfo_class_ZendTestNS_NotUnlikelyCompileError_method, ZEND_ACC_PUBLIC)
527 	ZEND_FE_END
528 };
529 
530 static const zend_function_entry class_ZendTestNS2_Foo_methods[] = {
531 	ZEND_ME(ZendTestNS2_Foo, method, arginfo_class_ZendTestNS2_Foo_method, ZEND_ACC_PUBLIC)
532 	ZEND_FE_END
533 };
534 
535 static const zend_function_entry class_ZendTestNS2_ZendSubNS_Foo_methods[] = {
536 	ZEND_ME(ZendTestNS2_ZendSubNS_Foo, method, arginfo_class_ZendTestNS2_ZendSubNS_Foo_method, ZEND_ACC_PUBLIC)
537 	ZEND_FE_END
538 };
539 
register_test_symbols(int module_number)540 static void register_test_symbols(int module_number)
541 {
542 	REGISTER_LONG_CONSTANT("ZEND_TEST_DEPRECATED", 42, CONST_PERSISTENT | CONST_DEPRECATED);
543 	REGISTER_STRING_CONSTANT("ZEND_CONSTANT_A", "global", CONST_PERSISTENT);
544 	REGISTER_STRING_CONSTANT("ZendTestNS2\\ZEND_CONSTANT_A", "namespaced", CONST_PERSISTENT);
545 	REGISTER_STRING_CONSTANT("ZendTestNS2\\ZendSubNS\\ZEND_CONSTANT_A", "namespaced", CONST_PERSISTENT);
546 
547 
548 	zend_string *attribute_name_Deprecated_func_zend_test_deprecated_attr_0 = zend_string_init_interned("Deprecated", sizeof("Deprecated") - 1, 1);
549 	zend_attribute *attribute_Deprecated_func_zend_test_deprecated_attr_0 = zend_add_function_attribute(zend_hash_str_find_ptr(CG(function_table), "zend_test_deprecated_attr", sizeof("zend_test_deprecated_attr") - 1), attribute_name_Deprecated_func_zend_test_deprecated_attr_0, 1);
550 	zend_string_release(attribute_name_Deprecated_func_zend_test_deprecated_attr_0);
551 	zval attribute_Deprecated_func_zend_test_deprecated_attr_0_arg0;
552 	zend_string *attribute_Deprecated_func_zend_test_deprecated_attr_0_arg0_str = zend_string_init("custom message", strlen("custom message"), 1);
553 	ZVAL_STR(&attribute_Deprecated_func_zend_test_deprecated_attr_0_arg0, attribute_Deprecated_func_zend_test_deprecated_attr_0_arg0_str);
554 	ZVAL_COPY_VALUE(&attribute_Deprecated_func_zend_test_deprecated_attr_0->args[0].value, &attribute_Deprecated_func_zend_test_deprecated_attr_0_arg0);
555 	attribute_Deprecated_func_zend_test_deprecated_attr_0->args[0].name = ZSTR_KNOWN(ZEND_STR_MESSAGE);
556 
557 	zend_string *attribute_name_ZendTestParameterAttribute_func_zend_test_parameter_with_attribute_arg0_0 = zend_string_init_interned("ZendTestParameterAttribute", sizeof("ZendTestParameterAttribute") - 1, 1);
558 	zend_attribute *attribute_ZendTestParameterAttribute_func_zend_test_parameter_with_attribute_arg0_0 = zend_add_parameter_attribute(zend_hash_str_find_ptr(CG(function_table), "zend_test_parameter_with_attribute", sizeof("zend_test_parameter_with_attribute") - 1), 0, attribute_name_ZendTestParameterAttribute_func_zend_test_parameter_with_attribute_arg0_0, 1);
559 	zend_string_release(attribute_name_ZendTestParameterAttribute_func_zend_test_parameter_with_attribute_arg0_0);
560 	zval attribute_ZendTestParameterAttribute_func_zend_test_parameter_with_attribute_arg0_0_arg0;
561 	zend_string *attribute_ZendTestParameterAttribute_func_zend_test_parameter_with_attribute_arg0_0_arg0_str = zend_string_init("value1", strlen("value1"), 1);
562 	ZVAL_STR(&attribute_ZendTestParameterAttribute_func_zend_test_parameter_with_attribute_arg0_0_arg0, attribute_ZendTestParameterAttribute_func_zend_test_parameter_with_attribute_arg0_0_arg0_str);
563 	ZVAL_COPY_VALUE(&attribute_ZendTestParameterAttribute_func_zend_test_parameter_with_attribute_arg0_0->args[0].value, &attribute_ZendTestParameterAttribute_func_zend_test_parameter_with_attribute_arg0_0_arg0);
564 
565 	zend_string *attribute_name_ZendTestAttributeWithArguments_func_zend_test_attribute_with_named_argument_0 = zend_string_init_interned("ZendTestAttributeWithArguments", sizeof("ZendTestAttributeWithArguments") - 1, 1);
566 	zend_attribute *attribute_ZendTestAttributeWithArguments_func_zend_test_attribute_with_named_argument_0 = zend_add_function_attribute(zend_hash_str_find_ptr(CG(function_table), "zend_test_attribute_with_named_argument", sizeof("zend_test_attribute_with_named_argument") - 1), attribute_name_ZendTestAttributeWithArguments_func_zend_test_attribute_with_named_argument_0, 1);
567 	zend_string_release(attribute_name_ZendTestAttributeWithArguments_func_zend_test_attribute_with_named_argument_0);
568 	zval attribute_ZendTestAttributeWithArguments_func_zend_test_attribute_with_named_argument_0_arg0;
569 	zend_string *attribute_ZendTestAttributeWithArguments_func_zend_test_attribute_with_named_argument_0_arg0_str = zend_string_init("foo", strlen("foo"), 1);
570 	ZVAL_STR(&attribute_ZendTestAttributeWithArguments_func_zend_test_attribute_with_named_argument_0_arg0, attribute_ZendTestAttributeWithArguments_func_zend_test_attribute_with_named_argument_0_arg0_str);
571 	ZVAL_COPY_VALUE(&attribute_ZendTestAttributeWithArguments_func_zend_test_attribute_with_named_argument_0->args[0].value, &attribute_ZendTestAttributeWithArguments_func_zend_test_attribute_with_named_argument_0_arg0);
572 	attribute_ZendTestAttributeWithArguments_func_zend_test_attribute_with_named_argument_0->args[0].name = zend_string_init_interned("arg", sizeof("arg") - 1, 1);
573 }
574 
register_class__ZendTestInterface(void)575 static zend_class_entry *register_class__ZendTestInterface(void)
576 {
577 	zend_class_entry ce, *class_entry;
578 
579 	INIT_CLASS_ENTRY(ce, "_ZendTestInterface", NULL);
580 	class_entry = zend_register_internal_interface(&ce);
581 
582 	zval const_DUMMY_value;
583 	ZVAL_LONG(&const_DUMMY_value, 0);
584 	zend_string *const_DUMMY_name = zend_string_init_interned("DUMMY", sizeof("DUMMY") - 1, 1);
585 	zend_string *const_DUMMY_comment = zend_string_init_interned("/**\n         * \"Lorem ipsum\"\n         * @see https://www.php.net\n         * @since 8.2\n         */", 98, 1);
586 	zend_declare_class_constant_ex(class_entry, const_DUMMY_name, &const_DUMMY_value, ZEND_ACC_PUBLIC, const_DUMMY_comment);
587 	zend_string_release(const_DUMMY_name);
588 
589 	return class_entry;
590 }
591 
register_class__ZendTestClass(zend_class_entry * class_entry__ZendTestInterface)592 static zend_class_entry *register_class__ZendTestClass(zend_class_entry *class_entry__ZendTestInterface)
593 {
594 	zend_class_entry ce, *class_entry;
595 
596 	INIT_CLASS_ENTRY(ce, "_ZendTestClass", class__ZendTestClass_methods);
597 #if (PHP_VERSION_ID >= 80400)
598 	class_entry = zend_register_internal_class_with_flags(&ce, NULL, 0);
599 #else
600 	class_entry = zend_register_internal_class_ex(&ce, NULL);
601 #endif
602 	zend_class_implements(class_entry, 1, class_entry__ZendTestInterface);
603 	zend_register_class_alias("_ZendTestClassAlias", class_entry);
604 
605 	zval const_TYPED_CLASS_CONST1_value;
606 	ZVAL_EMPTY_ARRAY(&const_TYPED_CLASS_CONST1_value);
607 	zend_string *const_TYPED_CLASS_CONST1_name = zend_string_init_interned("TYPED_CLASS_CONST1", sizeof("TYPED_CLASS_CONST1") - 1, 1);
608 #if (PHP_VERSION_ID >= 80300)
609 	zend_declare_typed_class_constant(class_entry, const_TYPED_CLASS_CONST1_name, &const_TYPED_CLASS_CONST1_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_ANY));
610 #else
611 	zend_declare_class_constant_ex(class_entry, const_TYPED_CLASS_CONST1_name, &const_TYPED_CLASS_CONST1_value, ZEND_ACC_PUBLIC, NULL);
612 #endif
613 	zend_string_release(const_TYPED_CLASS_CONST1_name);
614 
615 	zval const_TYPED_CLASS_CONST2_value;
616 	ZVAL_LONG(&const_TYPED_CLASS_CONST2_value, 42);
617 	zend_string *const_TYPED_CLASS_CONST2_name = zend_string_init_interned("TYPED_CLASS_CONST2", sizeof("TYPED_CLASS_CONST2") - 1, 1);
618 #if (PHP_VERSION_ID >= 80300)
619 	zend_declare_typed_class_constant(class_entry, const_TYPED_CLASS_CONST2_name, &const_TYPED_CLASS_CONST2_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG|MAY_BE_ARRAY));
620 #else
621 	zend_declare_class_constant_ex(class_entry, const_TYPED_CLASS_CONST2_name, &const_TYPED_CLASS_CONST2_value, ZEND_ACC_PUBLIC, NULL);
622 #endif
623 	zend_string_release(const_TYPED_CLASS_CONST2_name);
624 
625 	zval const_TYPED_CLASS_CONST3_value;
626 	ZVAL_LONG(&const_TYPED_CLASS_CONST3_value, 1);
627 	zend_string *const_TYPED_CLASS_CONST3_name = zend_string_init_interned("TYPED_CLASS_CONST3", sizeof("TYPED_CLASS_CONST3") - 1, 1);
628 #if (PHP_VERSION_ID >= 80300)
629 	zend_declare_typed_class_constant(class_entry, const_TYPED_CLASS_CONST3_name, &const_TYPED_CLASS_CONST3_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG|MAY_BE_STRING));
630 #else
631 	zend_declare_class_constant_ex(class_entry, const_TYPED_CLASS_CONST3_name, &const_TYPED_CLASS_CONST3_value, ZEND_ACC_PUBLIC, NULL);
632 #endif
633 	zend_string_release(const_TYPED_CLASS_CONST3_name);
634 
635 	zval const_ZEND_TEST_DEPRECATED_value;
636 	ZVAL_LONG(&const_ZEND_TEST_DEPRECATED_value, 42);
637 	zend_string *const_ZEND_TEST_DEPRECATED_name = zend_string_init_interned("ZEND_TEST_DEPRECATED", sizeof("ZEND_TEST_DEPRECATED") - 1, 1);
638 #if (PHP_VERSION_ID >= 80300)
639 	zend_declare_typed_class_constant(class_entry, const_ZEND_TEST_DEPRECATED_name, &const_ZEND_TEST_DEPRECATED_value, ZEND_ACC_PUBLIC|ZEND_ACC_DEPRECATED, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG));
640 #else
641 	zend_declare_class_constant_ex(class_entry, const_ZEND_TEST_DEPRECATED_name, &const_ZEND_TEST_DEPRECATED_value, ZEND_ACC_PUBLIC|ZEND_ACC_DEPRECATED, NULL);
642 #endif
643 	zend_string_release(const_ZEND_TEST_DEPRECATED_name);
644 
645 	zval const_ZEND_TEST_DEPRECATED_ATTR_value;
646 	ZVAL_LONG(&const_ZEND_TEST_DEPRECATED_ATTR_value, 42);
647 	zend_string *const_ZEND_TEST_DEPRECATED_ATTR_name = zend_string_init_interned("ZEND_TEST_DEPRECATED_ATTR", sizeof("ZEND_TEST_DEPRECATED_ATTR") - 1, 1);
648 #if (PHP_VERSION_ID >= 80300)
649 	zend_class_constant *const_ZEND_TEST_DEPRECATED_ATTR = zend_declare_typed_class_constant(class_entry, const_ZEND_TEST_DEPRECATED_ATTR_name, &const_ZEND_TEST_DEPRECATED_ATTR_value, ZEND_ACC_PUBLIC|ZEND_ACC_DEPRECATED, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG));
650 #else
651 	zend_class_constant *const_ZEND_TEST_DEPRECATED_ATTR = zend_declare_class_constant_ex(class_entry, const_ZEND_TEST_DEPRECATED_ATTR_name, &const_ZEND_TEST_DEPRECATED_ATTR_value, ZEND_ACC_PUBLIC|ZEND_ACC_DEPRECATED, NULL);
652 #endif
653 	zend_string_release(const_ZEND_TEST_DEPRECATED_ATTR_name);
654 
655 	zval property__StaticProp_default_value;
656 	ZVAL_NULL(&property__StaticProp_default_value);
657 	zend_string *property__StaticProp_name = zend_string_init("_StaticProp", sizeof("_StaticProp") - 1, 1);
658 	zend_declare_typed_property(class_entry, property__StaticProp_name, &property__StaticProp_default_value, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC, NULL, (zend_type) ZEND_TYPE_INIT_NONE(0));
659 	zend_string_release(property__StaticProp_name);
660 
661 	zval property_staticIntProp_default_value;
662 	ZVAL_LONG(&property_staticIntProp_default_value, 123);
663 	zend_string *property_staticIntProp_name = zend_string_init("staticIntProp", sizeof("staticIntProp") - 1, 1);
664 	zend_declare_typed_property(class_entry, property_staticIntProp_name, &property_staticIntProp_default_value, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG));
665 	zend_string_release(property_staticIntProp_name);
666 
667 	zval property_intProp_default_value;
668 	ZVAL_LONG(&property_intProp_default_value, 123);
669 	zend_string *property_intProp_name = zend_string_init("intProp", sizeof("intProp") - 1, 1);
670 	zend_declare_typed_property(class_entry, property_intProp_name, &property_intProp_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG));
671 	zend_string_release(property_intProp_name);
672 
673 	zval property_classProp_default_value;
674 	ZVAL_NULL(&property_classProp_default_value);
675 	zend_string *property_classProp_name = zend_string_init("classProp", sizeof("classProp") - 1, 1);
676 	zend_string *property_classProp_class_stdClass = zend_string_init("stdClass", sizeof("stdClass")-1, 1);
677 	zend_declare_typed_property(class_entry, property_classProp_name, &property_classProp_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_CLASS(property_classProp_class_stdClass, 0, MAY_BE_NULL));
678 	zend_string_release(property_classProp_name);
679 
680 	zval property_classUnionProp_default_value;
681 	ZVAL_NULL(&property_classUnionProp_default_value);
682 	zend_string *property_classUnionProp_name = zend_string_init("classUnionProp", sizeof("classUnionProp") - 1, 1);
683 	zend_string *property_classUnionProp_class_stdClass = zend_string_init("stdClass", sizeof("stdClass") - 1, 1);
684 	zend_string *property_classUnionProp_class_Iterator = zend_string_init("Iterator", sizeof("Iterator") - 1, 1);
685 	zend_type_list *property_classUnionProp_type_list = malloc(ZEND_TYPE_LIST_SIZE(2));
686 	property_classUnionProp_type_list->num_types = 2;
687 	property_classUnionProp_type_list->types[0] = (zend_type) ZEND_TYPE_INIT_CLASS(property_classUnionProp_class_stdClass, 0, 0);
688 	property_classUnionProp_type_list->types[1] = (zend_type) ZEND_TYPE_INIT_CLASS(property_classUnionProp_class_Iterator, 0, 0);
689 	zend_type property_classUnionProp_type = ZEND_TYPE_INIT_UNION(property_classUnionProp_type_list, MAY_BE_NULL);
690 	zend_declare_typed_property(class_entry, property_classUnionProp_name, &property_classUnionProp_default_value, ZEND_ACC_PUBLIC, NULL, property_classUnionProp_type);
691 	zend_string_release(property_classUnionProp_name);
692 
693 	zval property_classIntersectionProp_default_value;
694 	ZVAL_UNDEF(&property_classIntersectionProp_default_value);
695 	zend_string *property_classIntersectionProp_name = zend_string_init("classIntersectionProp", sizeof("classIntersectionProp") - 1, 1);
696 	zend_string *property_classIntersectionProp_class_Traversable = zend_string_init("Traversable", sizeof("Traversable") - 1, 1);
697 	zend_string *property_classIntersectionProp_class_Countable = zend_string_init("Countable", sizeof("Countable") - 1, 1);
698 	zend_type_list *property_classIntersectionProp_type_list = malloc(ZEND_TYPE_LIST_SIZE(2));
699 	property_classIntersectionProp_type_list->num_types = 2;
700 	property_classIntersectionProp_type_list->types[0] = (zend_type) ZEND_TYPE_INIT_CLASS(property_classIntersectionProp_class_Traversable, 0, 0);
701 	property_classIntersectionProp_type_list->types[1] = (zend_type) ZEND_TYPE_INIT_CLASS(property_classIntersectionProp_class_Countable, 0, 0);
702 	zend_type property_classIntersectionProp_type = ZEND_TYPE_INIT_INTERSECTION(property_classIntersectionProp_type_list, 0);
703 	zend_declare_typed_property(class_entry, property_classIntersectionProp_name, &property_classIntersectionProp_default_value, ZEND_ACC_PUBLIC, NULL, property_classIntersectionProp_type);
704 	zend_string_release(property_classIntersectionProp_name);
705 
706 	zval property_readonlyProp_default_value;
707 	ZVAL_UNDEF(&property_readonlyProp_default_value);
708 	zend_string *property_readonlyProp_name = zend_string_init("readonlyProp", sizeof("readonlyProp") - 1, 1);
709 #if (PHP_VERSION_ID >= 80100)
710 	zend_declare_typed_property(class_entry, property_readonlyProp_name, &property_readonlyProp_default_value, ZEND_ACC_PUBLIC|ZEND_ACC_READONLY, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG));
711 #elif (PHP_VERSION_ID >= 80000)
712 	zend_declare_typed_property(class_entry, property_readonlyProp_name, &property_readonlyProp_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG));
713 #endif
714 	zend_string_release(property_readonlyProp_name);
715 
716 
717 	zend_string *attribute_name_Deprecated_const_ZEND_TEST_DEPRECATED_ATTR_0 = zend_string_init_interned("Deprecated", sizeof("Deprecated") - 1, 1);
718 	zend_attribute *attribute_Deprecated_const_ZEND_TEST_DEPRECATED_ATTR_0 = zend_add_class_constant_attribute(class_entry, const_ZEND_TEST_DEPRECATED_ATTR, attribute_name_Deprecated_const_ZEND_TEST_DEPRECATED_ATTR_0, 1);
719 	zend_string_release(attribute_name_Deprecated_const_ZEND_TEST_DEPRECATED_ATTR_0);
720 	zval attribute_Deprecated_const_ZEND_TEST_DEPRECATED_ATTR_0_arg0;
721 	zend_string *attribute_Deprecated_const_ZEND_TEST_DEPRECATED_ATTR_0_arg0_str = zend_string_init("custom message", strlen("custom message"), 1);
722 	ZVAL_STR(&attribute_Deprecated_const_ZEND_TEST_DEPRECATED_ATTR_0_arg0, attribute_Deprecated_const_ZEND_TEST_DEPRECATED_ATTR_0_arg0_str);
723 	ZVAL_COPY_VALUE(&attribute_Deprecated_const_ZEND_TEST_DEPRECATED_ATTR_0->args[0].value, &attribute_Deprecated_const_ZEND_TEST_DEPRECATED_ATTR_0_arg0);
724 	attribute_Deprecated_const_ZEND_TEST_DEPRECATED_ATTR_0->args[0].name = ZSTR_KNOWN(ZEND_STR_MESSAGE);
725 
726 	return class_entry;
727 }
728 
register_class__ZendTestMagicCall(void)729 static zend_class_entry *register_class__ZendTestMagicCall(void)
730 {
731 	zend_class_entry ce, *class_entry;
732 
733 	INIT_CLASS_ENTRY(ce, "_ZendTestMagicCall", class__ZendTestMagicCall_methods);
734 #if (PHP_VERSION_ID >= 80400)
735 	class_entry = zend_register_internal_class_with_flags(&ce, NULL, 0);
736 #else
737 	class_entry = zend_register_internal_class_ex(&ce, NULL);
738 #endif
739 
740 	return class_entry;
741 }
742 
register_class__ZendTestMagicCallForward(void)743 static zend_class_entry *register_class__ZendTestMagicCallForward(void)
744 {
745 	zend_class_entry ce, *class_entry;
746 
747 	INIT_CLASS_ENTRY(ce, "_ZendTestMagicCallForward", class__ZendTestMagicCallForward_methods);
748 #if (PHP_VERSION_ID >= 80400)
749 	class_entry = zend_register_internal_class_with_flags(&ce, NULL, 0);
750 #else
751 	class_entry = zend_register_internal_class_ex(&ce, NULL);
752 #endif
753 
754 	return class_entry;
755 }
756 
register_class__ZendTestChildClass(zend_class_entry * class_entry__ZendTestClass)757 static zend_class_entry *register_class__ZendTestChildClass(zend_class_entry *class_entry__ZendTestClass)
758 {
759 	zend_class_entry ce, *class_entry;
760 
761 	INIT_CLASS_ENTRY(ce, "_ZendTestChildClass", class__ZendTestChildClass_methods);
762 #if (PHP_VERSION_ID >= 80400)
763 	class_entry = zend_register_internal_class_with_flags(&ce, class_entry__ZendTestClass, 0);
764 #else
765 	class_entry = zend_register_internal_class_ex(&ce, class_entry__ZendTestClass);
766 #endif
767 
768 	return class_entry;
769 }
770 
register_class_ZendAttributeTest(void)771 static zend_class_entry *register_class_ZendAttributeTest(void)
772 {
773 	zend_class_entry ce, *class_entry;
774 
775 	INIT_CLASS_ENTRY(ce, "ZendAttributeTest", class_ZendAttributeTest_methods);
776 #if (PHP_VERSION_ID >= 80400)
777 	class_entry = zend_register_internal_class_with_flags(&ce, NULL, 0);
778 #else
779 	class_entry = zend_register_internal_class_ex(&ce, NULL);
780 #endif
781 
782 	zval const_TEST_CONST_value;
783 	ZVAL_LONG(&const_TEST_CONST_value, 1);
784 	zend_string *const_TEST_CONST_name = zend_string_init_interned("TEST_CONST", sizeof("TEST_CONST") - 1, 1);
785 	zend_class_constant *const_TEST_CONST = zend_declare_class_constant_ex(class_entry, const_TEST_CONST_name, &const_TEST_CONST_value, ZEND_ACC_PUBLIC, NULL);
786 	zend_string_release(const_TEST_CONST_name);
787 
788 	zval property_testProp_default_value;
789 	ZVAL_NULL(&property_testProp_default_value);
790 	zend_string *property_testProp_name = zend_string_init("testProp", sizeof("testProp") - 1, 1);
791 	zend_property_info *property_testProp = zend_declare_typed_property(class_entry, property_testProp_name, &property_testProp_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_NONE(0));
792 	zend_string_release(property_testProp_name);
793 
794 
795 	zend_string *attribute_name_ZendTestRepeatableAttribute_const_TEST_CONST_0 = zend_string_init_interned("ZendTestRepeatableAttribute", sizeof("ZendTestRepeatableAttribute") - 1, 1);
796 	zend_add_class_constant_attribute(class_entry, const_TEST_CONST, attribute_name_ZendTestRepeatableAttribute_const_TEST_CONST_0, 0);
797 	zend_string_release(attribute_name_ZendTestRepeatableAttribute_const_TEST_CONST_0);
798 
799 	zend_string *attribute_name_ZendTestRepeatableAttribute_const_TEST_CONST_1 = zend_string_init_interned("ZendTestRepeatableAttribute", sizeof("ZendTestRepeatableAttribute") - 1, 1);
800 	zend_add_class_constant_attribute(class_entry, const_TEST_CONST, attribute_name_ZendTestRepeatableAttribute_const_TEST_CONST_1, 0);
801 	zend_string_release(attribute_name_ZendTestRepeatableAttribute_const_TEST_CONST_1);
802 
803 
804 	zend_string *attribute_name_ZendTestRepeatableAttribute_property_testProp_0 = zend_string_init_interned("ZendTestRepeatableAttribute", sizeof("ZendTestRepeatableAttribute") - 1, 1);
805 	zend_add_property_attribute(class_entry, property_testProp, attribute_name_ZendTestRepeatableAttribute_property_testProp_0, 0);
806 	zend_string_release(attribute_name_ZendTestRepeatableAttribute_property_testProp_0);
807 
808 	zend_string *attribute_name_ZendTestPropertyAttribute_property_testProp_1 = zend_string_init_interned("ZendTestPropertyAttribute", sizeof("ZendTestPropertyAttribute") - 1, 1);
809 	zend_attribute *attribute_ZendTestPropertyAttribute_property_testProp_1 = zend_add_property_attribute(class_entry, property_testProp, attribute_name_ZendTestPropertyAttribute_property_testProp_1, 1);
810 	zend_string_release(attribute_name_ZendTestPropertyAttribute_property_testProp_1);
811 	zval attribute_ZendTestPropertyAttribute_property_testProp_1_arg0;
812 	zend_string *attribute_ZendTestPropertyAttribute_property_testProp_1_arg0_str = zend_string_init("testProp", strlen("testProp"), 1);
813 	ZVAL_STR(&attribute_ZendTestPropertyAttribute_property_testProp_1_arg0, attribute_ZendTestPropertyAttribute_property_testProp_1_arg0_str);
814 	ZVAL_COPY_VALUE(&attribute_ZendTestPropertyAttribute_property_testProp_1->args[0].value, &attribute_ZendTestPropertyAttribute_property_testProp_1_arg0);
815 
816 
817 	zend_string *attribute_name_ZendTestAttribute_func_testmethod_0 = zend_string_init_interned("ZendTestAttribute", sizeof("ZendTestAttribute") - 1, 1);
818 	zend_add_function_attribute(zend_hash_str_find_ptr(&class_entry->function_table, "testmethod", sizeof("testmethod") - 1), attribute_name_ZendTestAttribute_func_testmethod_0, 0);
819 	zend_string_release(attribute_name_ZendTestAttribute_func_testmethod_0);
820 
821 	return class_entry;
822 }
823 
register_class__ZendTestTrait(void)824 static zend_class_entry *register_class__ZendTestTrait(void)
825 {
826 	zend_class_entry ce, *class_entry;
827 
828 	INIT_CLASS_ENTRY(ce, "_ZendTestTrait", class__ZendTestTrait_methods);
829 #if (PHP_VERSION_ID >= 80400)
830 	class_entry = zend_register_internal_class_with_flags(&ce, NULL, ZEND_ACC_TRAIT);
831 #else
832 	class_entry = zend_register_internal_class_ex(&ce, NULL);
833 	class_entry->ce_flags |= ZEND_ACC_TRAIT;
834 #endif
835 
836 	zval property_testProp_default_value;
837 	ZVAL_NULL(&property_testProp_default_value);
838 	zend_string *property_testProp_name = zend_string_init("testProp", sizeof("testProp") - 1, 1);
839 	zend_declare_typed_property(class_entry, property_testProp_name, &property_testProp_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_NONE(0));
840 	zend_string_release(property_testProp_name);
841 
842 	zval property_classUnionProp_default_value;
843 	ZVAL_UNDEF(&property_classUnionProp_default_value);
844 	zend_string *property_classUnionProp_name = zend_string_init("classUnionProp", sizeof("classUnionProp") - 1, 1);
845 	zend_string *property_classUnionProp_class_Traversable = zend_string_init("Traversable", sizeof("Traversable") - 1, 1);
846 	zend_string *property_classUnionProp_class_Countable = zend_string_init("Countable", sizeof("Countable") - 1, 1);
847 	zend_type_list *property_classUnionProp_type_list = malloc(ZEND_TYPE_LIST_SIZE(2));
848 	property_classUnionProp_type_list->num_types = 2;
849 	property_classUnionProp_type_list->types[0] = (zend_type) ZEND_TYPE_INIT_CLASS(property_classUnionProp_class_Traversable, 0, 0);
850 	property_classUnionProp_type_list->types[1] = (zend_type) ZEND_TYPE_INIT_CLASS(property_classUnionProp_class_Countable, 0, 0);
851 	zend_type property_classUnionProp_type = ZEND_TYPE_INIT_UNION(property_classUnionProp_type_list, 0);
852 	zend_declare_typed_property(class_entry, property_classUnionProp_name, &property_classUnionProp_default_value, ZEND_ACC_PUBLIC, NULL, property_classUnionProp_type);
853 	zend_string_release(property_classUnionProp_name);
854 
855 	return class_entry;
856 }
857 
register_class_ZendTestAttribute(void)858 static zend_class_entry *register_class_ZendTestAttribute(void)
859 {
860 	zend_class_entry ce, *class_entry;
861 
862 	INIT_CLASS_ENTRY(ce, "ZendTestAttribute", NULL);
863 #if (PHP_VERSION_ID >= 80400)
864 	class_entry = zend_register_internal_class_with_flags(&ce, NULL, ZEND_ACC_FINAL);
865 #else
866 	class_entry = zend_register_internal_class_ex(&ce, NULL);
867 	class_entry->ce_flags |= ZEND_ACC_FINAL;
868 #endif
869 
870 	zend_string *attribute_name_Attribute_class_ZendTestAttribute_0 = zend_string_init_interned("Attribute", sizeof("Attribute") - 1, 1);
871 	zend_attribute *attribute_Attribute_class_ZendTestAttribute_0 = zend_add_class_attribute(class_entry, attribute_name_Attribute_class_ZendTestAttribute_0, 1);
872 	zend_string_release(attribute_name_Attribute_class_ZendTestAttribute_0);
873 	zval attribute_Attribute_class_ZendTestAttribute_0_arg0;
874 	ZVAL_LONG(&attribute_Attribute_class_ZendTestAttribute_0_arg0, ZEND_ATTRIBUTE_TARGET_ALL);
875 	ZVAL_COPY_VALUE(&attribute_Attribute_class_ZendTestAttribute_0->args[0].value, &attribute_Attribute_class_ZendTestAttribute_0_arg0);
876 
877 	return class_entry;
878 }
879 
register_class_ZendTestAttributeWithArguments(void)880 static zend_class_entry *register_class_ZendTestAttributeWithArguments(void)
881 {
882 	zend_class_entry ce, *class_entry;
883 
884 	INIT_CLASS_ENTRY(ce, "ZendTestAttributeWithArguments", class_ZendTestAttributeWithArguments_methods);
885 #if (PHP_VERSION_ID >= 80400)
886 	class_entry = zend_register_internal_class_with_flags(&ce, NULL, ZEND_ACC_FINAL);
887 #else
888 	class_entry = zend_register_internal_class_ex(&ce, NULL);
889 	class_entry->ce_flags |= ZEND_ACC_FINAL;
890 #endif
891 
892 	zval property_arg_default_value;
893 	ZVAL_UNDEF(&property_arg_default_value);
894 	zend_string *property_arg_name = zend_string_init("arg", sizeof("arg") - 1, 1);
895 #if (PHP_VERSION_ID >= 80100)
896 	zend_declare_typed_property(class_entry, property_arg_name, &property_arg_default_value, ZEND_ACC_PUBLIC|ZEND_ACC_READONLY, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_ANY));
897 #elif (PHP_VERSION_ID >= 80000)
898 	zend_declare_typed_property(class_entry, property_arg_name, &property_arg_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_ANY));
899 #endif
900 	zend_string_release(property_arg_name);
901 
902 	zend_string *attribute_name_Attribute_class_ZendTestAttributeWithArguments_0 = zend_string_init_interned("Attribute", sizeof("Attribute") - 1, 1);
903 	zend_attribute *attribute_Attribute_class_ZendTestAttributeWithArguments_0 = zend_add_class_attribute(class_entry, attribute_name_Attribute_class_ZendTestAttributeWithArguments_0, 1);
904 	zend_string_release(attribute_name_Attribute_class_ZendTestAttributeWithArguments_0);
905 	zval attribute_Attribute_class_ZendTestAttributeWithArguments_0_arg0;
906 	ZVAL_LONG(&attribute_Attribute_class_ZendTestAttributeWithArguments_0_arg0, ZEND_ATTRIBUTE_TARGET_ALL);
907 	ZVAL_COPY_VALUE(&attribute_Attribute_class_ZendTestAttributeWithArguments_0->args[0].value, &attribute_Attribute_class_ZendTestAttributeWithArguments_0_arg0);
908 
909 	return class_entry;
910 }
911 
register_class_ZendTestRepeatableAttribute(void)912 static zend_class_entry *register_class_ZendTestRepeatableAttribute(void)
913 {
914 	zend_class_entry ce, *class_entry;
915 
916 	INIT_CLASS_ENTRY(ce, "ZendTestRepeatableAttribute", NULL);
917 #if (PHP_VERSION_ID >= 80400)
918 	class_entry = zend_register_internal_class_with_flags(&ce, NULL, ZEND_ACC_FINAL);
919 #else
920 	class_entry = zend_register_internal_class_ex(&ce, NULL);
921 	class_entry->ce_flags |= ZEND_ACC_FINAL;
922 #endif
923 
924 	zend_string *attribute_name_Attribute_class_ZendTestRepeatableAttribute_0 = zend_string_init_interned("Attribute", sizeof("Attribute") - 1, 1);
925 	zend_attribute *attribute_Attribute_class_ZendTestRepeatableAttribute_0 = zend_add_class_attribute(class_entry, attribute_name_Attribute_class_ZendTestRepeatableAttribute_0, 1);
926 	zend_string_release(attribute_name_Attribute_class_ZendTestRepeatableAttribute_0);
927 	zval attribute_Attribute_class_ZendTestRepeatableAttribute_0_arg0;
928 	ZVAL_LONG(&attribute_Attribute_class_ZendTestRepeatableAttribute_0_arg0, ZEND_ATTRIBUTE_TARGET_ALL | ZEND_ATTRIBUTE_IS_REPEATABLE);
929 	ZVAL_COPY_VALUE(&attribute_Attribute_class_ZendTestRepeatableAttribute_0->args[0].value, &attribute_Attribute_class_ZendTestRepeatableAttribute_0_arg0);
930 
931 	return class_entry;
932 }
933 
register_class_ZendTestParameterAttribute(void)934 static zend_class_entry *register_class_ZendTestParameterAttribute(void)
935 {
936 	zend_class_entry ce, *class_entry;
937 
938 	INIT_CLASS_ENTRY(ce, "ZendTestParameterAttribute", class_ZendTestParameterAttribute_methods);
939 #if (PHP_VERSION_ID >= 80400)
940 	class_entry = zend_register_internal_class_with_flags(&ce, NULL, ZEND_ACC_FINAL);
941 #else
942 	class_entry = zend_register_internal_class_ex(&ce, NULL);
943 	class_entry->ce_flags |= ZEND_ACC_FINAL;
944 #endif
945 
946 	zval property_parameter_default_value;
947 	ZVAL_UNDEF(&property_parameter_default_value);
948 	zend_string *property_parameter_name = zend_string_init("parameter", sizeof("parameter") - 1, 1);
949 	zend_declare_typed_property(class_entry, property_parameter_name, &property_parameter_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_STRING));
950 	zend_string_release(property_parameter_name);
951 
952 	zend_string *attribute_name_Attribute_class_ZendTestParameterAttribute_0 = zend_string_init_interned("Attribute", sizeof("Attribute") - 1, 1);
953 	zend_attribute *attribute_Attribute_class_ZendTestParameterAttribute_0 = zend_add_class_attribute(class_entry, attribute_name_Attribute_class_ZendTestParameterAttribute_0, 1);
954 	zend_string_release(attribute_name_Attribute_class_ZendTestParameterAttribute_0);
955 	zval attribute_Attribute_class_ZendTestParameterAttribute_0_arg0;
956 	ZVAL_LONG(&attribute_Attribute_class_ZendTestParameterAttribute_0_arg0, ZEND_ATTRIBUTE_TARGET_PARAMETER);
957 	ZVAL_COPY_VALUE(&attribute_Attribute_class_ZendTestParameterAttribute_0->args[0].value, &attribute_Attribute_class_ZendTestParameterAttribute_0_arg0);
958 
959 	return class_entry;
960 }
961 
register_class_ZendTestPropertyAttribute(void)962 static zend_class_entry *register_class_ZendTestPropertyAttribute(void)
963 {
964 	zend_class_entry ce, *class_entry;
965 
966 	INIT_CLASS_ENTRY(ce, "ZendTestPropertyAttribute", class_ZendTestPropertyAttribute_methods);
967 #if (PHP_VERSION_ID >= 80400)
968 	class_entry = zend_register_internal_class_with_flags(&ce, NULL, ZEND_ACC_FINAL);
969 #else
970 	class_entry = zend_register_internal_class_ex(&ce, NULL);
971 	class_entry->ce_flags |= ZEND_ACC_FINAL;
972 #endif
973 #if (PHP_VERSION_ID >= 80400)
974 	class_entry->doc_comment = zend_string_init_interned("/**\n     * \"Lorem ipsum\"\n     * @see https://www.php.net\n     * @since 8.1\n     */", 82, 1);
975 #endif
976 
977 	zval property_parameter_default_value;
978 	ZVAL_UNDEF(&property_parameter_default_value);
979 	zend_string *property_parameter_name = zend_string_init("parameter", sizeof("parameter") - 1, 1);
980 	zend_string *property_parameter_comment = zend_string_init_interned("/**\n         * \"Lorem ipsum\"\n         * @see https://www.php.net\n         * @since 8.4\n         */", 98, 1);
981 	zend_declare_typed_property(class_entry, property_parameter_name, &property_parameter_default_value, ZEND_ACC_PUBLIC, property_parameter_comment, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_STRING));
982 	zend_string_release(property_parameter_name);
983 
984 	zend_string *attribute_name_Attribute_class_ZendTestPropertyAttribute_0 = zend_string_init_interned("Attribute", sizeof("Attribute") - 1, 1);
985 	zend_attribute *attribute_Attribute_class_ZendTestPropertyAttribute_0 = zend_add_class_attribute(class_entry, attribute_name_Attribute_class_ZendTestPropertyAttribute_0, 1);
986 	zend_string_release(attribute_name_Attribute_class_ZendTestPropertyAttribute_0);
987 	zval attribute_Attribute_class_ZendTestPropertyAttribute_0_arg0;
988 	ZVAL_LONG(&attribute_Attribute_class_ZendTestPropertyAttribute_0_arg0, ZEND_ATTRIBUTE_TARGET_PROPERTY);
989 	ZVAL_COPY_VALUE(&attribute_Attribute_class_ZendTestPropertyAttribute_0->args[0].value, &attribute_Attribute_class_ZendTestPropertyAttribute_0_arg0);
990 
991 	return class_entry;
992 }
993 
register_class_ZendTestClassWithMethodWithParameterAttribute(void)994 static zend_class_entry *register_class_ZendTestClassWithMethodWithParameterAttribute(void)
995 {
996 	zend_class_entry ce, *class_entry;
997 
998 	INIT_CLASS_ENTRY(ce, "ZendTestClassWithMethodWithParameterAttribute", class_ZendTestClassWithMethodWithParameterAttribute_methods);
999 #if (PHP_VERSION_ID >= 80400)
1000 	class_entry = zend_register_internal_class_with_flags(&ce, NULL, 0);
1001 #else
1002 	class_entry = zend_register_internal_class_ex(&ce, NULL);
1003 #endif
1004 
1005 
1006 	zend_string *attribute_name_ZendTestParameterAttribute_func_no_override_arg0_0 = zend_string_init_interned("ZendTestParameterAttribute", sizeof("ZendTestParameterAttribute") - 1, 1);
1007 	zend_attribute *attribute_ZendTestParameterAttribute_func_no_override_arg0_0 = zend_add_parameter_attribute(zend_hash_str_find_ptr(&class_entry->function_table, "no_override", sizeof("no_override") - 1), 0, attribute_name_ZendTestParameterAttribute_func_no_override_arg0_0, 1);
1008 	zend_string_release(attribute_name_ZendTestParameterAttribute_func_no_override_arg0_0);
1009 	zval attribute_ZendTestParameterAttribute_func_no_override_arg0_0_arg0;
1010 	zend_string *attribute_ZendTestParameterAttribute_func_no_override_arg0_0_arg0_str = zend_string_init("value2", strlen("value2"), 1);
1011 	ZVAL_STR(&attribute_ZendTestParameterAttribute_func_no_override_arg0_0_arg0, attribute_ZendTestParameterAttribute_func_no_override_arg0_0_arg0_str);
1012 	ZVAL_COPY_VALUE(&attribute_ZendTestParameterAttribute_func_no_override_arg0_0->args[0].value, &attribute_ZendTestParameterAttribute_func_no_override_arg0_0_arg0);
1013 
1014 	zend_string *attribute_name_ZendTestParameterAttribute_func_override_arg0_0 = zend_string_init_interned("ZendTestParameterAttribute", sizeof("ZendTestParameterAttribute") - 1, 1);
1015 	zend_attribute *attribute_ZendTestParameterAttribute_func_override_arg0_0 = zend_add_parameter_attribute(zend_hash_str_find_ptr(&class_entry->function_table, "override", sizeof("override") - 1), 0, attribute_name_ZendTestParameterAttribute_func_override_arg0_0, 1);
1016 	zend_string_release(attribute_name_ZendTestParameterAttribute_func_override_arg0_0);
1017 	zval attribute_ZendTestParameterAttribute_func_override_arg0_0_arg0;
1018 	zend_string *attribute_ZendTestParameterAttribute_func_override_arg0_0_arg0_str = zend_string_init("value3", strlen("value3"), 1);
1019 	ZVAL_STR(&attribute_ZendTestParameterAttribute_func_override_arg0_0_arg0, attribute_ZendTestParameterAttribute_func_override_arg0_0_arg0_str);
1020 	ZVAL_COPY_VALUE(&attribute_ZendTestParameterAttribute_func_override_arg0_0->args[0].value, &attribute_ZendTestParameterAttribute_func_override_arg0_0_arg0);
1021 
1022 	return class_entry;
1023 }
1024 
register_class_ZendTestChildClassWithMethodWithParameterAttribute(zend_class_entry * class_entry_ZendTestClassWithMethodWithParameterAttribute)1025 static zend_class_entry *register_class_ZendTestChildClassWithMethodWithParameterAttribute(zend_class_entry *class_entry_ZendTestClassWithMethodWithParameterAttribute)
1026 {
1027 	zend_class_entry ce, *class_entry;
1028 
1029 	INIT_CLASS_ENTRY(ce, "ZendTestChildClassWithMethodWithParameterAttribute", class_ZendTestChildClassWithMethodWithParameterAttribute_methods);
1030 #if (PHP_VERSION_ID >= 80400)
1031 	class_entry = zend_register_internal_class_with_flags(&ce, class_entry_ZendTestClassWithMethodWithParameterAttribute, 0);
1032 #else
1033 	class_entry = zend_register_internal_class_ex(&ce, class_entry_ZendTestClassWithMethodWithParameterAttribute);
1034 #endif
1035 
1036 
1037 	zend_string *attribute_name_ZendTestParameterAttribute_func_override_arg0_0 = zend_string_init_interned("ZendTestParameterAttribute", sizeof("ZendTestParameterAttribute") - 1, 1);
1038 	zend_attribute *attribute_ZendTestParameterAttribute_func_override_arg0_0 = zend_add_parameter_attribute(zend_hash_str_find_ptr(&class_entry->function_table, "override", sizeof("override") - 1), 0, attribute_name_ZendTestParameterAttribute_func_override_arg0_0, 1);
1039 	zend_string_release(attribute_name_ZendTestParameterAttribute_func_override_arg0_0);
1040 	zval attribute_ZendTestParameterAttribute_func_override_arg0_0_arg0;
1041 	zend_string *attribute_ZendTestParameterAttribute_func_override_arg0_0_arg0_str = zend_string_init("value4", strlen("value4"), 1);
1042 	ZVAL_STR(&attribute_ZendTestParameterAttribute_func_override_arg0_0_arg0, attribute_ZendTestParameterAttribute_func_override_arg0_0_arg0_str);
1043 	ZVAL_COPY_VALUE(&attribute_ZendTestParameterAttribute_func_override_arg0_0->args[0].value, &attribute_ZendTestParameterAttribute_func_override_arg0_0_arg0);
1044 
1045 	return class_entry;
1046 }
1047 
register_class_ZendTestClassWithPropertyAttribute(void)1048 static zend_class_entry *register_class_ZendTestClassWithPropertyAttribute(void)
1049 {
1050 	zend_class_entry ce, *class_entry;
1051 
1052 	INIT_CLASS_ENTRY(ce, "ZendTestClassWithPropertyAttribute", NULL);
1053 #if (PHP_VERSION_ID >= 80400)
1054 	class_entry = zend_register_internal_class_with_flags(&ce, NULL, 0);
1055 #else
1056 	class_entry = zend_register_internal_class_ex(&ce, NULL);
1057 #endif
1058 
1059 	zval property_attributed_default_value;
1060 	ZVAL_UNDEF(&property_attributed_default_value);
1061 	zend_string *property_attributed_name = zend_string_init("attributed", sizeof("attributed") - 1, 1);
1062 	zend_property_info *property_attributed = zend_declare_typed_property(class_entry, property_attributed_name, &property_attributed_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_STRING));
1063 	zend_string_release(property_attributed_name);
1064 
1065 
1066 	zend_string *attribute_name_ZendTestAttribute_property_attributed_0 = zend_string_init_interned("ZendTestAttribute", sizeof("ZendTestAttribute") - 1, 1);
1067 	zend_add_property_attribute(class_entry, property_attributed, attribute_name_ZendTestAttribute_property_attributed_0, 0);
1068 	zend_string_release(attribute_name_ZendTestAttribute_property_attributed_0);
1069 
1070 	return class_entry;
1071 }
1072 
register_class_ZendTestForbidDynamicCall(void)1073 static zend_class_entry *register_class_ZendTestForbidDynamicCall(void)
1074 {
1075 	zend_class_entry ce, *class_entry;
1076 
1077 	INIT_CLASS_ENTRY(ce, "ZendTestForbidDynamicCall", class_ZendTestForbidDynamicCall_methods);
1078 #if (PHP_VERSION_ID >= 80400)
1079 	class_entry = zend_register_internal_class_with_flags(&ce, NULL, ZEND_ACC_FINAL);
1080 #else
1081 	class_entry = zend_register_internal_class_ex(&ce, NULL);
1082 	class_entry->ce_flags |= ZEND_ACC_FINAL;
1083 #endif
1084 
1085 	return class_entry;
1086 }
1087 
1088 #if (PHP_VERSION_ID >= 80100)
register_class_ZendTestUnitEnum(void)1089 static zend_class_entry *register_class_ZendTestUnitEnum(void)
1090 {
1091 	zend_class_entry *class_entry = zend_register_internal_enum("ZendTestUnitEnum", IS_UNDEF, NULL);
1092 
1093 	zend_enum_add_case_cstr(class_entry, "Foo", NULL);
1094 
1095 	zend_enum_add_case_cstr(class_entry, "Bar", NULL);
1096 
1097 	return class_entry;
1098 }
1099 #endif
1100 
1101 #if (PHP_VERSION_ID >= 80100)
register_class_ZendTestStringEnum(void)1102 static zend_class_entry *register_class_ZendTestStringEnum(void)
1103 {
1104 	zend_class_entry *class_entry = zend_register_internal_enum("ZendTestStringEnum", IS_STRING, NULL);
1105 
1106 	zval enum_case_Foo_value;
1107 	zend_string *enum_case_Foo_value_str = zend_string_init("Test1", strlen("Test1"), 1);
1108 	ZVAL_STR(&enum_case_Foo_value, enum_case_Foo_value_str);
1109 	zend_enum_add_case_cstr(class_entry, "Foo", &enum_case_Foo_value);
1110 
1111 	zval enum_case_Bar_value;
1112 	zend_string *enum_case_Bar_value_str = zend_string_init("Test2", strlen("Test2"), 1);
1113 	ZVAL_STR(&enum_case_Bar_value, enum_case_Bar_value_str);
1114 	zend_enum_add_case_cstr(class_entry, "Bar", &enum_case_Bar_value);
1115 
1116 	zval enum_case_Baz_value;
1117 	zend_string *enum_case_Baz_value_str = zend_string_init("Test2\\a", strlen("Test2\\a"), 1);
1118 	ZVAL_STR(&enum_case_Baz_value, enum_case_Baz_value_str);
1119 	zend_enum_add_case_cstr(class_entry, "Baz", &enum_case_Baz_value);
1120 
1121 	zval enum_case_FortyTwo_value;
1122 	zend_string *enum_case_FortyTwo_value_str = zend_string_init("42", strlen("42"), 1);
1123 	ZVAL_STR(&enum_case_FortyTwo_value, enum_case_FortyTwo_value_str);
1124 	zend_enum_add_case_cstr(class_entry, "FortyTwo", &enum_case_FortyTwo_value);
1125 
1126 	return class_entry;
1127 }
1128 #endif
1129 
1130 #if (PHP_VERSION_ID >= 80100)
register_class_ZendTestIntEnum(void)1131 static zend_class_entry *register_class_ZendTestIntEnum(void)
1132 {
1133 	zend_class_entry *class_entry = zend_register_internal_enum("ZendTestIntEnum", IS_LONG, NULL);
1134 
1135 	zval enum_case_Foo_value;
1136 	ZVAL_LONG(&enum_case_Foo_value, 1);
1137 	zend_enum_add_case_cstr(class_entry, "Foo", &enum_case_Foo_value);
1138 
1139 	zval enum_case_Bar_value;
1140 	ZVAL_LONG(&enum_case_Bar_value, 3);
1141 	zend_enum_add_case_cstr(class_entry, "Bar", &enum_case_Bar_value);
1142 
1143 	zval enum_case_Baz_value;
1144 	ZVAL_LONG(&enum_case_Baz_value, -1);
1145 	zend_enum_add_case_cstr(class_entry, "Baz", &enum_case_Baz_value);
1146 
1147 	return class_entry;
1148 }
1149 #endif
1150 
register_class_ZendTestNS_Foo(void)1151 static zend_class_entry *register_class_ZendTestNS_Foo(void)
1152 {
1153 	zend_class_entry ce, *class_entry;
1154 
1155 	INIT_NS_CLASS_ENTRY(ce, "ZendTestNS", "Foo", class_ZendTestNS_Foo_methods);
1156 #if (PHP_VERSION_ID >= 80400)
1157 	class_entry = zend_register_internal_class_with_flags(&ce, NULL, 0);
1158 #else
1159 	class_entry = zend_register_internal_class_ex(&ce, NULL);
1160 #endif
1161 
1162 	return class_entry;
1163 }
1164 
register_class_ZendTestNS_UnlikelyCompileError(void)1165 static zend_class_entry *register_class_ZendTestNS_UnlikelyCompileError(void)
1166 {
1167 	zend_class_entry ce, *class_entry;
1168 
1169 	INIT_NS_CLASS_ENTRY(ce, "ZendTestNS", "UnlikelyCompileError", class_ZendTestNS_UnlikelyCompileError_methods);
1170 #if (PHP_VERSION_ID >= 80400)
1171 	class_entry = zend_register_internal_class_with_flags(&ce, NULL, 0);
1172 #else
1173 	class_entry = zend_register_internal_class_ex(&ce, NULL);
1174 #endif
1175 
1176 	return class_entry;
1177 }
1178 
register_class_ZendTestNS_NotUnlikelyCompileError(void)1179 static zend_class_entry *register_class_ZendTestNS_NotUnlikelyCompileError(void)
1180 {
1181 	zend_class_entry ce, *class_entry;
1182 
1183 	INIT_NS_CLASS_ENTRY(ce, "ZendTestNS", "NotUnlikelyCompileError", class_ZendTestNS_NotUnlikelyCompileError_methods);
1184 #if (PHP_VERSION_ID >= 80400)
1185 	class_entry = zend_register_internal_class_with_flags(&ce, NULL, 0);
1186 #else
1187 	class_entry = zend_register_internal_class_ex(&ce, NULL);
1188 #endif
1189 
1190 	return class_entry;
1191 }
1192 
register_class_ZendTestNS2_Foo(void)1193 static zend_class_entry *register_class_ZendTestNS2_Foo(void)
1194 {
1195 	zend_class_entry ce, *class_entry;
1196 
1197 	INIT_NS_CLASS_ENTRY(ce, "ZendTestNS2", "Foo", class_ZendTestNS2_Foo_methods);
1198 #if (PHP_VERSION_ID >= 80400)
1199 	class_entry = zend_register_internal_class_with_flags(&ce, NULL, 0);
1200 #else
1201 	class_entry = zend_register_internal_class_ex(&ce, NULL);
1202 #endif
1203 
1204 	zval property_foo_default_value;
1205 	ZVAL_UNDEF(&property_foo_default_value);
1206 	zend_string *property_foo_name = zend_string_init("foo", sizeof("foo") - 1, 1);
1207 	zend_string *property_foo_class_ZendTestNS2_ZendSubNS_Foo = zend_string_init("ZendTestNS2\\ZendSubNS\\Foo", sizeof("ZendTestNS2\\ZendSubNS\\Foo")-1, 1);
1208 	zend_declare_typed_property(class_entry, property_foo_name, &property_foo_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_CLASS(property_foo_class_ZendTestNS2_ZendSubNS_Foo, 0, 0));
1209 	zend_string_release(property_foo_name);
1210 
1211 	return class_entry;
1212 }
1213 
register_class_ZendTestNS2_ZendSubNS_Foo(void)1214 static zend_class_entry *register_class_ZendTestNS2_ZendSubNS_Foo(void)
1215 {
1216 	zend_class_entry ce, *class_entry;
1217 
1218 	INIT_NS_CLASS_ENTRY(ce, "ZendTestNS2\\ZendSubNS", "Foo", class_ZendTestNS2_ZendSubNS_Foo_methods);
1219 #if (PHP_VERSION_ID >= 80400)
1220 	class_entry = zend_register_internal_class_with_flags(&ce, NULL, 0);
1221 #else
1222 	class_entry = zend_register_internal_class_ex(&ce, NULL);
1223 #endif
1224 
1225 	return class_entry;
1226 }
1227