1 /* This is a generated file, edit the .stub.php file instead.
2 * Stub hash: 1c6384894b21ff02bbc3d6088440de6616878a7d */
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_aliased arginfo_zend_test_void_return
24
25 #define arginfo_zend_test_deprecated_aliased arginfo_zend_test_void_return
26
27 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_zend_create_unterminated_string, 0, 1, IS_STRING, 0)
28 ZEND_ARG_TYPE_INFO(0, str, IS_STRING, 0)
29 ZEND_END_ARG_INFO()
30
31 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_zend_terminate_string, 0, 1, IS_VOID, 0)
32 ZEND_ARG_TYPE_INFO(1, str, IS_STRING, 0)
33 ZEND_END_ARG_INFO()
34
35 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_zend_leak_variable, 0, 1, IS_VOID, 0)
36 ZEND_ARG_TYPE_INFO(0, variable, IS_MIXED, 0)
37 ZEND_END_ARG_INFO()
38
39 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_zend_leak_bytes, 0, 0, IS_VOID, 0)
40 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, bytes, IS_LONG, 0, "3")
41 ZEND_END_ARG_INFO()
42
43 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_zend_string_or_object, 0, 1, MAY_BE_OBJECT|MAY_BE_STRING)
44 ZEND_ARG_TYPE_MASK(0, param, MAY_BE_OBJECT|MAY_BE_STRING, NULL)
45 ZEND_END_ARG_INFO()
46
47 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)
48 ZEND_ARG_TYPE_MASK(0, param, MAY_BE_OBJECT|MAY_BE_STRING|MAY_BE_NULL, NULL)
49 ZEND_END_ARG_INFO()
50
51 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_zend_string_or_stdclass, 0, 1, stdClass, MAY_BE_STRING)
52 ZEND_ARG_INFO(0, param)
53 ZEND_END_ARG_INFO()
54
55 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)
56 ZEND_ARG_INFO(0, param)
57 ZEND_END_ARG_INFO()
58
59 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_zend_iterable, 0, 1, IS_VOID, 0)
60 ZEND_ARG_OBJ_TYPE_MASK(0, arg1, Traversable, MAY_BE_ARRAY, NULL)
61 ZEND_ARG_OBJ_TYPE_MASK(0, arg2, Traversable, MAY_BE_ARRAY|MAY_BE_NULL, "null")
62 ZEND_END_ARG_INFO()
63
64 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_zend_weakmap_attach, 0, 2, _IS_BOOL, 0)
65 ZEND_ARG_TYPE_INFO(0, object, IS_OBJECT, 0)
66 ZEND_ARG_TYPE_INFO(0, value, IS_MIXED, 0)
67 ZEND_END_ARG_INFO()
68
69 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_zend_weakmap_remove, 0, 1, _IS_BOOL, 0)
70 ZEND_ARG_TYPE_INFO(0, object, IS_OBJECT, 0)
71 ZEND_END_ARG_INFO()
72
73 #define arginfo_zend_weakmap_dump arginfo_zend_test_array_return
74
75 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_zend_get_unit_enum, 0, 0, ZendTestUnitEnum, 0)
76 ZEND_END_ARG_INFO()
77
78 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_zend_test_parameter_with_attribute, 0, 1, IS_LONG, 0)
79 ZEND_ARG_TYPE_INFO(0, parameter, IS_STRING, 0)
80 ZEND_END_ARG_INFO()
81
82 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_zend_get_current_func_name, 0, 0, IS_STRING, 0)
83 ZEND_END_ARG_INFO()
84
85 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_zend_call_method, 0, 2, IS_MIXED, 0)
86 ZEND_ARG_TYPE_MASK(0, obj_or_class, MAY_BE_OBJECT|MAY_BE_STRING, NULL)
87 ZEND_ARG_TYPE_INFO(0, method, IS_STRING, 0)
88 ZEND_ARG_TYPE_INFO(0, arg1, IS_MIXED, 0)
89 ZEND_ARG_TYPE_INFO(0, arg2, IS_MIXED, 0)
90 ZEND_END_ARG_INFO()
91
92 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_zend_test_zend_ini_parse_quantity, 0, 1, IS_LONG, 0)
93 ZEND_ARG_TYPE_INFO(0, str, IS_STRING, 0)
94 ZEND_END_ARG_INFO()
95
96 #define arginfo_zend_test_zend_ini_parse_uquantity arginfo_zend_test_zend_ini_parse_quantity
97
98 #define arginfo_zend_test_zend_ini_str arginfo_zend_get_current_func_name
99
100 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_zend_get_map_ptr_last, 0, 0, IS_LONG, 0)
101 ZEND_END_ARG_INFO()
102
103 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_zend_test_crash, 0, 0, IS_VOID, 0)
104 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, message, IS_STRING, 1, "null")
105 ZEND_END_ARG_INFO()
106
107 #if defined(HAVE_LIBXML) && !defined(PHP_WIN32)
108 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_zend_test_override_libxml_global_state, 0, 0, IS_VOID, 0)
109 ZEND_END_ARG_INFO()
110 #endif
111
112 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_zend_test_is_pcre_bundled, 0, 0, _IS_BOOL, 0)
113 ZEND_END_ARG_INFO()
114
115 #if defined(PHP_WIN32)
116 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_zend_test_set_fmode, 0, 1, IS_VOID, 0)
117 ZEND_ARG_TYPE_INFO(0, binary, _IS_BOOL, 0)
118 ZEND_END_ARG_INFO()
119 #endif
120
121 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_zend_test_cast_fread, 0, 1, IS_VOID, 0)
122 ZEND_ARG_INFO(0, stream)
123 ZEND_END_ARG_INFO()
124
125 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_zend_test_is_zend_ptr, 0, 1, _IS_BOOL, 0)
126 ZEND_ARG_TYPE_INFO(0, addr, IS_LONG, 0)
127 ZEND_END_ARG_INFO()
128
129 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_zend_test_log_err_debug, 0, 1, IS_VOID, 0)
130 ZEND_ARG_TYPE_INFO(0, str, IS_STRING, 0)
131 ZEND_END_ARG_INFO()
132
133 #define arginfo_ZendTestNS2_namespaced_func arginfo_zend_test_is_pcre_bundled
134
135 #define arginfo_ZendTestNS2_namespaced_deprecated_func arginfo_zend_test_void_return
136
137 #define arginfo_ZendTestNS2_namespaced_aliased_func arginfo_zend_test_void_return
138
139 #define arginfo_ZendTestNS2_namespaced_deprecated_aliased_func arginfo_zend_test_void_return
140
141 #define arginfo_ZendTestNS2_ZendSubNS_namespaced_func arginfo_zend_test_is_pcre_bundled
142
143 #define arginfo_ZendTestNS2_ZendSubNS_namespaced_deprecated_func arginfo_zend_test_void_return
144
145 #define arginfo_ZendTestNS2_ZendSubNS_namespaced_aliased_func arginfo_zend_test_void_return
146
147 #define arginfo_ZendTestNS2_ZendSubNS_namespaced_deprecated_aliased_func arginfo_zend_test_void_return
148
149 #define arginfo_class__ZendTestClass_is_object arginfo_zend_get_map_ptr_last
150
151 #define arginfo_class__ZendTestClass___toString arginfo_zend_get_current_func_name
152
153 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class__ZendTestClass_returnsStatic, 0, 0, IS_STATIC, 0)
154 ZEND_END_ARG_INFO()
155
156 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_class__ZendTestClass_returnsThrowable, 0, 0, Throwable, 0)
157 ZEND_END_ARG_INFO()
158
159 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class__ZendTestClass_variadicTest, 0, 0, IS_STATIC, 0)
160 ZEND_ARG_VARIADIC_OBJ_TYPE_MASK(0, elements, Iterator, MAY_BE_STRING)
161 ZEND_END_ARG_INFO()
162
163 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class__ZendTestMagicCall___call, 0, 2, IS_MIXED, 0)
164 ZEND_ARG_TYPE_INFO(0, name, IS_STRING, 0)
165 ZEND_ARG_TYPE_INFO(0, args, IS_ARRAY, 0)
166 ZEND_END_ARG_INFO()
167
168 #define arginfo_class__ZendTestMagicCallForward___call arginfo_class__ZendTestMagicCall___call
169
170 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_class__ZendTestChildClass_returnsThrowable, 0, 0, Exception, 0)
171 ZEND_END_ARG_INFO()
172
173 #define arginfo_class__ZendTestTrait_testMethod arginfo_zend_test_is_pcre_bundled
174
175 ZEND_BEGIN_ARG_INFO_EX(arginfo_class_ZendTestParameterAttribute___construct, 0, 0, 1)
176 ZEND_ARG_TYPE_INFO(0, parameter, IS_STRING, 0)
177 ZEND_END_ARG_INFO()
178
179 #define arginfo_class_ZendTestPropertyAttribute___construct arginfo_class_ZendTestParameterAttribute___construct
180
181 #define arginfo_class_ZendTestClassWithMethodWithParameterAttribute_no_override arginfo_zend_test_parameter_with_attribute
182
183 #define arginfo_class_ZendTestClassWithMethodWithParameterAttribute_override arginfo_zend_test_parameter_with_attribute
184
185 #define arginfo_class_ZendTestChildClassWithMethodWithParameterAttribute_override arginfo_zend_test_parameter_with_attribute
186
187 #define arginfo_class_ZendTestForbidDynamicCall_call arginfo_zend_test_void_return
188
189 #define arginfo_class_ZendTestForbidDynamicCall_callStatic arginfo_zend_test_void_return
190
191 #if (PHP_VERSION_ID >= 80100)
192 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_ZendTestNS_Foo_method, 0, 0, IS_LONG, 0)
193 #else
194 ZEND_BEGIN_ARG_INFO_EX(arginfo_class_ZendTestNS_Foo_method, 0, 0, 0)
195 #endif
196 ZEND_END_ARG_INFO()
197
198 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_class_ZendTestNS_UnlikelyCompileError_method, 0, 0, ZendTestNS\\\125nlikelyCompileError, 1)
199 ZEND_END_ARG_INFO()
200
201 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_class_ZendTestNS_NotUnlikelyCompileError_method, 0, 0, ZendTestNS\\\116otUnlikelyCompileError, 1)
202 ZEND_END_ARG_INFO()
203
204 #define arginfo_class_ZendTestNS2_Foo_method arginfo_zend_test_void_return
205
206 #define arginfo_class_ZendTestNS2_ZendSubNS_Foo_method arginfo_zend_test_void_return
207
208
209 static ZEND_FUNCTION(zend_test_array_return);
210 static ZEND_FUNCTION(zend_test_nullable_array_return);
211 static ZEND_FUNCTION(zend_test_void_return);
212 static ZEND_FUNCTION(zend_test_compile_string);
213 static ZEND_FUNCTION(zend_test_deprecated);
214 static ZEND_FUNCTION(zend_create_unterminated_string);
215 static ZEND_FUNCTION(zend_terminate_string);
216 static ZEND_FUNCTION(zend_leak_variable);
217 static ZEND_FUNCTION(zend_leak_bytes);
218 static ZEND_FUNCTION(zend_string_or_object);
219 static ZEND_FUNCTION(zend_string_or_object_or_null);
220 static ZEND_FUNCTION(zend_string_or_stdclass);
221 static ZEND_FUNCTION(zend_string_or_stdclass_or_null);
222 static ZEND_FUNCTION(zend_iterable);
223 static ZEND_FUNCTION(zend_weakmap_attach);
224 static ZEND_FUNCTION(zend_weakmap_remove);
225 static ZEND_FUNCTION(zend_weakmap_dump);
226 static ZEND_FUNCTION(zend_get_unit_enum);
227 static ZEND_FUNCTION(zend_test_parameter_with_attribute);
228 static ZEND_FUNCTION(zend_get_current_func_name);
229 static ZEND_FUNCTION(zend_call_method);
230 static ZEND_FUNCTION(zend_test_zend_ini_parse_quantity);
231 static ZEND_FUNCTION(zend_test_zend_ini_parse_uquantity);
232 static ZEND_FUNCTION(zend_test_zend_ini_str);
233 static ZEND_FUNCTION(zend_get_map_ptr_last);
234 static ZEND_FUNCTION(zend_test_crash);
235 #if defined(HAVE_LIBXML) && !defined(PHP_WIN32)
236 static ZEND_FUNCTION(zend_test_override_libxml_global_state);
237 #endif
238 static ZEND_FUNCTION(zend_test_is_pcre_bundled);
239 #if defined(PHP_WIN32)
240 static ZEND_FUNCTION(zend_test_set_fmode);
241 #endif
242 static ZEND_FUNCTION(zend_test_cast_fread);
243 static ZEND_FUNCTION(zend_test_is_zend_ptr);
244 static ZEND_FUNCTION(zend_test_log_err_debug);
245 static ZEND_FUNCTION(ZendTestNS2_namespaced_func);
246 static ZEND_FUNCTION(ZendTestNS2_namespaced_deprecated_func);
247 static ZEND_FUNCTION(ZendTestNS2_ZendSubNS_namespaced_func);
248 static ZEND_FUNCTION(ZendTestNS2_ZendSubNS_namespaced_deprecated_func);
249 static ZEND_METHOD(_ZendTestClass, is_object);
250 static ZEND_METHOD(_ZendTestClass, __toString);
251 static ZEND_METHOD(_ZendTestClass, returnsStatic);
252 static ZEND_METHOD(_ZendTestClass, returnsThrowable);
253 static ZEND_METHOD(_ZendTestClass, variadicTest);
254 static ZEND_METHOD(_ZendTestMagicCall, __call);
255 static ZEND_METHOD(_ZendTestMagicCallForward, __call);
256 static ZEND_METHOD(_ZendTestChildClass, returnsThrowable);
257 static ZEND_METHOD(_ZendTestTrait, testMethod);
258 static ZEND_METHOD(ZendTestParameterAttribute, __construct);
259 static ZEND_METHOD(ZendTestPropertyAttribute, __construct);
260 static ZEND_METHOD(ZendTestClassWithMethodWithParameterAttribute, no_override);
261 static ZEND_METHOD(ZendTestClassWithMethodWithParameterAttribute, override);
262 static ZEND_METHOD(ZendTestChildClassWithMethodWithParameterAttribute, override);
263 static ZEND_METHOD(ZendTestForbidDynamicCall, call);
264 static ZEND_METHOD(ZendTestForbidDynamicCall, callStatic);
265 static ZEND_METHOD(ZendTestNS_Foo, method);
266 static ZEND_METHOD(ZendTestNS_UnlikelyCompileError, method);
267 static ZEND_METHOD(ZendTestNS_NotUnlikelyCompileError, method);
268 static ZEND_METHOD(ZendTestNS2_Foo, method);
269 static ZEND_METHOD(ZendTestNS2_ZendSubNS_Foo, method);
270
271
272 static const zend_function_entry ext_functions[] = {
273 ZEND_FE(zend_test_array_return, arginfo_zend_test_array_return)
274 ZEND_FE(zend_test_nullable_array_return, arginfo_zend_test_nullable_array_return)
275 ZEND_FE(zend_test_void_return, arginfo_zend_test_void_return)
276 ZEND_FE(zend_test_compile_string, arginfo_zend_test_compile_string)
277 ZEND_DEP_FE(zend_test_deprecated, arginfo_zend_test_deprecated)
278 ZEND_FALIAS(zend_test_aliased, zend_test_void_return, arginfo_zend_test_aliased)
279 ZEND_DEP_FALIAS(zend_test_deprecated_aliased, zend_test_void_return, arginfo_zend_test_deprecated_aliased)
280 ZEND_FE(zend_create_unterminated_string, arginfo_zend_create_unterminated_string)
281 ZEND_FE(zend_terminate_string, arginfo_zend_terminate_string)
282 ZEND_FE(zend_leak_variable, arginfo_zend_leak_variable)
283 ZEND_FE(zend_leak_bytes, arginfo_zend_leak_bytes)
284 ZEND_FE(zend_string_or_object, arginfo_zend_string_or_object)
285 ZEND_FE(zend_string_or_object_or_null, arginfo_zend_string_or_object_or_null)
286 ZEND_FE(zend_string_or_stdclass, arginfo_zend_string_or_stdclass)
287 ZEND_FE(zend_string_or_stdclass_or_null, arginfo_zend_string_or_stdclass_or_null)
288 ZEND_FE(zend_iterable, arginfo_zend_iterable)
289 ZEND_FE(zend_weakmap_attach, arginfo_zend_weakmap_attach)
290 ZEND_FE(zend_weakmap_remove, arginfo_zend_weakmap_remove)
291 ZEND_FE(zend_weakmap_dump, arginfo_zend_weakmap_dump)
292 ZEND_FE(zend_get_unit_enum, arginfo_zend_get_unit_enum)
293 ZEND_FE(zend_test_parameter_with_attribute, arginfo_zend_test_parameter_with_attribute)
294 ZEND_FE(zend_get_current_func_name, arginfo_zend_get_current_func_name)
295 ZEND_FE(zend_call_method, arginfo_zend_call_method)
296 ZEND_FE(zend_test_zend_ini_parse_quantity, arginfo_zend_test_zend_ini_parse_quantity)
297 ZEND_FE(zend_test_zend_ini_parse_uquantity, arginfo_zend_test_zend_ini_parse_uquantity)
298 ZEND_FE(zend_test_zend_ini_str, arginfo_zend_test_zend_ini_str)
299 ZEND_FE(zend_get_map_ptr_last, arginfo_zend_get_map_ptr_last)
300 ZEND_FE(zend_test_crash, arginfo_zend_test_crash)
301 #if defined(HAVE_LIBXML) && !defined(PHP_WIN32)
302 ZEND_FE(zend_test_override_libxml_global_state, arginfo_zend_test_override_libxml_global_state)
303 #endif
304 ZEND_FE(zend_test_is_pcre_bundled, arginfo_zend_test_is_pcre_bundled)
305 #if defined(PHP_WIN32)
306 ZEND_FE(zend_test_set_fmode, arginfo_zend_test_set_fmode)
307 #endif
308 ZEND_FE(zend_test_cast_fread, arginfo_zend_test_cast_fread)
309 ZEND_FE(zend_test_is_zend_ptr, arginfo_zend_test_is_zend_ptr)
310 ZEND_FE(zend_test_log_err_debug, arginfo_zend_test_log_err_debug)
311 ZEND_NS_FALIAS("ZendTestNS2", namespaced_func, ZendTestNS2_namespaced_func, arginfo_ZendTestNS2_namespaced_func)
312 ZEND_NS_DEP_FALIAS("ZendTestNS2", namespaced_deprecated_func, ZendTestNS2_namespaced_deprecated_func, arginfo_ZendTestNS2_namespaced_deprecated_func)
313 ZEND_NS_FALIAS("ZendTestNS2", namespaced_aliased_func, zend_test_void_return, arginfo_ZendTestNS2_namespaced_aliased_func)
314 ZEND_NS_DEP_FALIAS("ZendTestNS2", namespaced_deprecated_aliased_func, zend_test_void_return, arginfo_ZendTestNS2_namespaced_deprecated_aliased_func)
315 ZEND_NS_FALIAS("ZendTestNS2\\ZendSubNS", namespaced_func, ZendTestNS2_ZendSubNS_namespaced_func, arginfo_ZendTestNS2_ZendSubNS_namespaced_func)
316 ZEND_NS_DEP_FALIAS("ZendTestNS2\\ZendSubNS", namespaced_deprecated_func, ZendTestNS2_ZendSubNS_namespaced_deprecated_func, arginfo_ZendTestNS2_ZendSubNS_namespaced_deprecated_func)
317 ZEND_NS_FALIAS("ZendTestNS2\\ZendSubNS", namespaced_aliased_func, zend_test_void_return, arginfo_ZendTestNS2_ZendSubNS_namespaced_aliased_func)
318 ZEND_NS_DEP_FALIAS("ZendTestNS2\\ZendSubNS", namespaced_deprecated_aliased_func, zend_test_void_return, arginfo_ZendTestNS2_ZendSubNS_namespaced_deprecated_aliased_func)
319 ZEND_FE_END
320 };
321
322
323 static const zend_function_entry class__ZendTestInterface_methods[] = {
324 ZEND_FE_END
325 };
326
327
328 static const zend_function_entry class__ZendTestClass_methods[] = {
329 ZEND_ME(_ZendTestClass, is_object, arginfo_class__ZendTestClass_is_object, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC)
330 ZEND_ME(_ZendTestClass, __toString, arginfo_class__ZendTestClass___toString, ZEND_ACC_PUBLIC|ZEND_ACC_DEPRECATED)
331 ZEND_ME(_ZendTestClass, returnsStatic, arginfo_class__ZendTestClass_returnsStatic, ZEND_ACC_PUBLIC)
332 ZEND_ME(_ZendTestClass, returnsThrowable, arginfo_class__ZendTestClass_returnsThrowable, ZEND_ACC_PUBLIC)
333 ZEND_ME(_ZendTestClass, variadicTest, arginfo_class__ZendTestClass_variadicTest, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC)
334 ZEND_FE_END
335 };
336
337
338 static const zend_function_entry class__ZendTestMagicCall_methods[] = {
339 ZEND_ME(_ZendTestMagicCall, __call, arginfo_class__ZendTestMagicCall___call, ZEND_ACC_PUBLIC)
340 ZEND_FE_END
341 };
342
343
344 static const zend_function_entry class__ZendTestMagicCallForward_methods[] = {
345 ZEND_ME(_ZendTestMagicCallForward, __call, arginfo_class__ZendTestMagicCallForward___call, ZEND_ACC_PUBLIC)
346 ZEND_FE_END
347 };
348
349
350 static const zend_function_entry class__ZendTestChildClass_methods[] = {
351 ZEND_ME(_ZendTestChildClass, returnsThrowable, arginfo_class__ZendTestChildClass_returnsThrowable, ZEND_ACC_PUBLIC)
352 ZEND_FE_END
353 };
354
355
356 static const zend_function_entry class__ZendTestTrait_methods[] = {
357 ZEND_ME(_ZendTestTrait, testMethod, arginfo_class__ZendTestTrait_testMethod, ZEND_ACC_PUBLIC)
358 ZEND_FE_END
359 };
360
361
362 static const zend_function_entry class_ZendTestAttribute_methods[] = {
363 ZEND_FE_END
364 };
365
366
367 static const zend_function_entry class_ZendTestParameterAttribute_methods[] = {
368 ZEND_ME(ZendTestParameterAttribute, __construct, arginfo_class_ZendTestParameterAttribute___construct, ZEND_ACC_PUBLIC)
369 ZEND_FE_END
370 };
371
372
373 static const zend_function_entry class_ZendTestPropertyAttribute_methods[] = {
374 ZEND_ME(ZendTestPropertyAttribute, __construct, arginfo_class_ZendTestPropertyAttribute___construct, ZEND_ACC_PUBLIC)
375 ZEND_FE_END
376 };
377
378
379 static const zend_function_entry class_ZendTestClassWithMethodWithParameterAttribute_methods[] = {
380 ZEND_ME(ZendTestClassWithMethodWithParameterAttribute, no_override, arginfo_class_ZendTestClassWithMethodWithParameterAttribute_no_override, ZEND_ACC_PUBLIC|ZEND_ACC_FINAL)
381 ZEND_ME(ZendTestClassWithMethodWithParameterAttribute, override, arginfo_class_ZendTestClassWithMethodWithParameterAttribute_override, ZEND_ACC_PUBLIC)
382 ZEND_FE_END
383 };
384
385
386 static const zend_function_entry class_ZendTestChildClassWithMethodWithParameterAttribute_methods[] = {
387 ZEND_ME(ZendTestChildClassWithMethodWithParameterAttribute, override, arginfo_class_ZendTestChildClassWithMethodWithParameterAttribute_override, ZEND_ACC_PUBLIC)
388 ZEND_FE_END
389 };
390
391
392 static const zend_function_entry class_ZendTestForbidDynamicCall_methods[] = {
393 ZEND_ME(ZendTestForbidDynamicCall, call, arginfo_class_ZendTestForbidDynamicCall_call, ZEND_ACC_PUBLIC)
394 ZEND_ME(ZendTestForbidDynamicCall, callStatic, arginfo_class_ZendTestForbidDynamicCall_callStatic, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC)
395 ZEND_FE_END
396 };
397
398
399 static const zend_function_entry class_ZendTestUnitEnum_methods[] = {
400 ZEND_FE_END
401 };
402
403
404 static const zend_function_entry class_ZendTestStringEnum_methods[] = {
405 ZEND_FE_END
406 };
407
408
409 static const zend_function_entry class_ZendTestIntEnum_methods[] = {
410 ZEND_FE_END
411 };
412
413
414 static const zend_function_entry class_ZendTestNS_Foo_methods[] = {
415 ZEND_ME(ZendTestNS_Foo, method, arginfo_class_ZendTestNS_Foo_method, ZEND_ACC_PUBLIC)
416 ZEND_FE_END
417 };
418
419
420 static const zend_function_entry class_ZendTestNS_UnlikelyCompileError_methods[] = {
421 ZEND_ME(ZendTestNS_UnlikelyCompileError, method, arginfo_class_ZendTestNS_UnlikelyCompileError_method, ZEND_ACC_PUBLIC)
422 ZEND_FE_END
423 };
424
425
426 static const zend_function_entry class_ZendTestNS_NotUnlikelyCompileError_methods[] = {
427 ZEND_ME(ZendTestNS_NotUnlikelyCompileError, method, arginfo_class_ZendTestNS_NotUnlikelyCompileError_method, ZEND_ACC_PUBLIC)
428 ZEND_FE_END
429 };
430
431
432 static const zend_function_entry class_ZendTestNS2_Foo_methods[] = {
433 ZEND_ME(ZendTestNS2_Foo, method, arginfo_class_ZendTestNS2_Foo_method, ZEND_ACC_PUBLIC)
434 ZEND_FE_END
435 };
436
437
438 static const zend_function_entry class_ZendTestNS2_ZendSubNS_Foo_methods[] = {
439 ZEND_ME(ZendTestNS2_ZendSubNS_Foo, method, arginfo_class_ZendTestNS2_ZendSubNS_Foo_method, ZEND_ACC_PUBLIC)
440 ZEND_FE_END
441 };
442
register_test_symbols(int module_number)443 static void register_test_symbols(int module_number)
444 {
445 REGISTER_LONG_CONSTANT("ZEND_TEST_DEPRECATED", 42, CONST_PERSISTENT | CONST_DEPRECATED);
446 REGISTER_STRING_CONSTANT("ZEND_CONSTANT_A", "global", CONST_PERSISTENT);
447 REGISTER_STRING_CONSTANT("ZendTestNS2\\ZEND_CONSTANT_A", ZEND_TEST_NS_CONSTANT_A, CONST_PERSISTENT);
448 REGISTER_STRING_CONSTANT("ZendTestNS2\\ZendSubNS\\ZEND_CONSTANT_A", ZEND_TEST_NS_CONSTANT_A, CONST_PERSISTENT);
449 }
450
register_class__ZendTestInterface(void)451 static zend_class_entry *register_class__ZendTestInterface(void)
452 {
453 zend_class_entry ce, *class_entry;
454
455 INIT_CLASS_ENTRY(ce, "_ZendTestInterface", class__ZendTestInterface_methods);
456 class_entry = zend_register_internal_interface(&ce);
457
458 zval const_DUMMY_value;
459 ZVAL_LONG(&const_DUMMY_value, 0);
460 zend_string *const_DUMMY_name = zend_string_init_interned("DUMMY", sizeof("DUMMY") - 1, 1);
461 zend_declare_class_constant_ex(class_entry, const_DUMMY_name, &const_DUMMY_value, ZEND_ACC_PUBLIC, NULL);
462 zend_string_release(const_DUMMY_name);
463
464 return class_entry;
465 }
466
register_class__ZendTestClass(zend_class_entry * class_entry__ZendTestInterface)467 static zend_class_entry *register_class__ZendTestClass(zend_class_entry *class_entry__ZendTestInterface)
468 {
469 zend_class_entry ce, *class_entry;
470
471 INIT_CLASS_ENTRY(ce, "_ZendTestClass", class__ZendTestClass_methods);
472 class_entry = zend_register_internal_class_ex(&ce, NULL);
473 zend_class_implements(class_entry, 1, class_entry__ZendTestInterface);
474 zend_register_class_alias("_ZendTestClassAlias", class_entry);
475
476 zval property__StaticProp_default_value;
477 ZVAL_NULL(&property__StaticProp_default_value);
478 zend_string *property__StaticProp_name = zend_string_init("_StaticProp", sizeof("_StaticProp") - 1, 1);
479 zend_declare_property_ex(class_entry, property__StaticProp_name, &property__StaticProp_default_value, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC, NULL);
480 zend_string_release(property__StaticProp_name);
481
482 zval property_staticIntProp_default_value;
483 ZVAL_LONG(&property_staticIntProp_default_value, 123);
484 zend_string *property_staticIntProp_name = zend_string_init("staticIntProp", sizeof("staticIntProp") - 1, 1);
485 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));
486 zend_string_release(property_staticIntProp_name);
487
488 zval property_intProp_default_value;
489 ZVAL_LONG(&property_intProp_default_value, 123);
490 zend_string *property_intProp_name = zend_string_init("intProp", sizeof("intProp") - 1, 1);
491 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));
492 zend_string_release(property_intProp_name);
493
494 zend_string *property_classProp_class_stdClass = zend_string_init("stdClass", sizeof("stdClass")-1, 1);
495 zval property_classProp_default_value;
496 ZVAL_NULL(&property_classProp_default_value);
497 zend_string *property_classProp_name = zend_string_init("classProp", sizeof("classProp") - 1, 1);
498 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));
499 zend_string_release(property_classProp_name);
500
501 zend_string *property_classUnionProp_class_stdClass = zend_string_init("stdClass", sizeof("stdClass") - 1, 1);
502 zend_string *property_classUnionProp_class_Iterator = zend_string_init("Iterator", sizeof("Iterator") - 1, 1);
503 zend_type_list *property_classUnionProp_type_list = malloc(ZEND_TYPE_LIST_SIZE(2));
504 property_classUnionProp_type_list->num_types = 2;
505 property_classUnionProp_type_list->types[0] = (zend_type) ZEND_TYPE_INIT_CLASS(property_classUnionProp_class_stdClass, 0, 0);
506 property_classUnionProp_type_list->types[1] = (zend_type) ZEND_TYPE_INIT_CLASS(property_classUnionProp_class_Iterator, 0, 0);
507 zend_type property_classUnionProp_type = ZEND_TYPE_INIT_UNION(property_classUnionProp_type_list, MAY_BE_NULL);
508 zval property_classUnionProp_default_value;
509 ZVAL_NULL(&property_classUnionProp_default_value);
510 zend_string *property_classUnionProp_name = zend_string_init("classUnionProp", sizeof("classUnionProp") - 1, 1);
511 zend_declare_typed_property(class_entry, property_classUnionProp_name, &property_classUnionProp_default_value, ZEND_ACC_PUBLIC, NULL, property_classUnionProp_type);
512 zend_string_release(property_classUnionProp_name);
513
514 zend_string *property_classIntersectionProp_class_Traversable = zend_string_init("Traversable", sizeof("Traversable") - 1, 1);
515 zend_string *property_classIntersectionProp_class_Countable = zend_string_init("Countable", sizeof("Countable") - 1, 1);
516 zend_type_list *property_classIntersectionProp_type_list = malloc(ZEND_TYPE_LIST_SIZE(2));
517 property_classIntersectionProp_type_list->num_types = 2;
518 property_classIntersectionProp_type_list->types[0] = (zend_type) ZEND_TYPE_INIT_CLASS(property_classIntersectionProp_class_Traversable, 0, 0);
519 property_classIntersectionProp_type_list->types[1] = (zend_type) ZEND_TYPE_INIT_CLASS(property_classIntersectionProp_class_Countable, 0, 0);
520 zend_type property_classIntersectionProp_type = ZEND_TYPE_INIT_INTERSECTION(property_classIntersectionProp_type_list, 0);
521 zval property_classIntersectionProp_default_value;
522 ZVAL_UNDEF(&property_classIntersectionProp_default_value);
523 zend_string *property_classIntersectionProp_name = zend_string_init("classIntersectionProp", sizeof("classIntersectionProp") - 1, 1);
524 zend_declare_typed_property(class_entry, property_classIntersectionProp_name, &property_classIntersectionProp_default_value, ZEND_ACC_PUBLIC, NULL, property_classIntersectionProp_type);
525 zend_string_release(property_classIntersectionProp_name);
526
527 zval property_readonlyProp_default_value;
528 ZVAL_UNDEF(&property_readonlyProp_default_value);
529 zend_string *property_readonlyProp_name = zend_string_init("readonlyProp", sizeof("readonlyProp") - 1, 1);
530 #if (PHP_VERSION_ID >= 80100)
531 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));
532 #elif (PHP_VERSION_ID >= 80000)
533 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));
534 #endif
535 zend_string_release(property_readonlyProp_name);
536
537 return class_entry;
538 }
539
register_class__ZendTestMagicCall(void)540 static zend_class_entry *register_class__ZendTestMagicCall(void)
541 {
542 zend_class_entry ce, *class_entry;
543
544 INIT_CLASS_ENTRY(ce, "_ZendTestMagicCall", class__ZendTestMagicCall_methods);
545 class_entry = zend_register_internal_class_ex(&ce, NULL);
546
547 return class_entry;
548 }
549
register_class__ZendTestMagicCallForward(void)550 static zend_class_entry *register_class__ZendTestMagicCallForward(void)
551 {
552 zend_class_entry ce, *class_entry;
553
554 INIT_CLASS_ENTRY(ce, "_ZendTestMagicCallForward", class__ZendTestMagicCallForward_methods);
555 class_entry = zend_register_internal_class_ex(&ce, NULL);
556
557 return class_entry;
558 }
559
register_class__ZendTestChildClass(zend_class_entry * class_entry__ZendTestClass)560 static zend_class_entry *register_class__ZendTestChildClass(zend_class_entry *class_entry__ZendTestClass)
561 {
562 zend_class_entry ce, *class_entry;
563
564 INIT_CLASS_ENTRY(ce, "_ZendTestChildClass", class__ZendTestChildClass_methods);
565 class_entry = zend_register_internal_class_ex(&ce, class_entry__ZendTestClass);
566
567 return class_entry;
568 }
569
register_class__ZendTestTrait(void)570 static zend_class_entry *register_class__ZendTestTrait(void)
571 {
572 zend_class_entry ce, *class_entry;
573
574 INIT_CLASS_ENTRY(ce, "_ZendTestTrait", class__ZendTestTrait_methods);
575 class_entry = zend_register_internal_class_ex(&ce, NULL);
576 class_entry->ce_flags |= ZEND_ACC_TRAIT;
577
578 zval property_testProp_default_value;
579 ZVAL_NULL(&property_testProp_default_value);
580 zend_string *property_testProp_name = zend_string_init("testProp", sizeof("testProp") - 1, 1);
581 zend_declare_property_ex(class_entry, property_testProp_name, &property_testProp_default_value, ZEND_ACC_PUBLIC, NULL);
582 zend_string_release(property_testProp_name);
583
584 zend_string *property_classUnionProp_class_Traversable = zend_string_init("Traversable", sizeof("Traversable") - 1, 1);
585 zend_string *property_classUnionProp_class_Countable = zend_string_init("Countable", sizeof("Countable") - 1, 1);
586 zend_type_list *property_classUnionProp_type_list = malloc(ZEND_TYPE_LIST_SIZE(2));
587 property_classUnionProp_type_list->num_types = 2;
588 property_classUnionProp_type_list->types[0] = (zend_type) ZEND_TYPE_INIT_CLASS(property_classUnionProp_class_Traversable, 0, 0);
589 property_classUnionProp_type_list->types[1] = (zend_type) ZEND_TYPE_INIT_CLASS(property_classUnionProp_class_Countable, 0, 0);
590 zend_type property_classUnionProp_type = ZEND_TYPE_INIT_UNION(property_classUnionProp_type_list, 0);
591 zval property_classUnionProp_default_value;
592 ZVAL_UNDEF(&property_classUnionProp_default_value);
593 zend_string *property_classUnionProp_name = zend_string_init("classUnionProp", sizeof("classUnionProp") - 1, 1);
594 zend_declare_typed_property(class_entry, property_classUnionProp_name, &property_classUnionProp_default_value, ZEND_ACC_PUBLIC, NULL, property_classUnionProp_type);
595 zend_string_release(property_classUnionProp_name);
596
597 return class_entry;
598 }
599
register_class_ZendTestAttribute(void)600 static zend_class_entry *register_class_ZendTestAttribute(void)
601 {
602 zend_class_entry ce, *class_entry;
603
604 INIT_CLASS_ENTRY(ce, "ZendTestAttribute", class_ZendTestAttribute_methods);
605 class_entry = zend_register_internal_class_ex(&ce, NULL);
606 class_entry->ce_flags |= ZEND_ACC_FINAL;
607
608 #if (PHP_VERSION_ID >= 80200)
609 zend_string *attribute_name_Attribute_class_ZendTestAttribute = zend_string_init_interned("Attribute", sizeof("Attribute") - 1, 1);
610 zend_attribute *attribute_Attribute_class_ZendTestAttribute = zend_add_class_attribute(class_entry, attribute_name_Attribute_class_ZendTestAttribute, 1);
611 zend_string_release(attribute_name_Attribute_class_ZendTestAttribute);
612 zval attribute_Attribute_class_ZendTestAttribute_arg0;
613 ZVAL_LONG(&attribute_Attribute_class_ZendTestAttribute_arg0, ZEND_ATTRIBUTE_TARGET_ALL);
614 ZVAL_COPY_VALUE(&attribute_Attribute_class_ZendTestAttribute->args[0].value, &attribute_Attribute_class_ZendTestAttribute_arg0);
615 #endif
616
617 return class_entry;
618 }
619
register_class_ZendTestParameterAttribute(void)620 static zend_class_entry *register_class_ZendTestParameterAttribute(void)
621 {
622 zend_class_entry ce, *class_entry;
623
624 INIT_CLASS_ENTRY(ce, "ZendTestParameterAttribute", class_ZendTestParameterAttribute_methods);
625 class_entry = zend_register_internal_class_ex(&ce, NULL);
626 class_entry->ce_flags |= ZEND_ACC_FINAL;
627
628 zval property_parameter_default_value;
629 ZVAL_UNDEF(&property_parameter_default_value);
630 zend_string *property_parameter_name = zend_string_init("parameter", sizeof("parameter") - 1, 1);
631 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));
632 zend_string_release(property_parameter_name);
633
634 #if (PHP_VERSION_ID >= 80200)
635 zend_string *attribute_name_Attribute_class_ZendTestParameterAttribute = zend_string_init_interned("Attribute", sizeof("Attribute") - 1, 1);
636 zend_attribute *attribute_Attribute_class_ZendTestParameterAttribute = zend_add_class_attribute(class_entry, attribute_name_Attribute_class_ZendTestParameterAttribute, 1);
637 zend_string_release(attribute_name_Attribute_class_ZendTestParameterAttribute);
638 zval attribute_Attribute_class_ZendTestParameterAttribute_arg0;
639 ZVAL_LONG(&attribute_Attribute_class_ZendTestParameterAttribute_arg0, ZEND_ATTRIBUTE_TARGET_PARAMETER);
640 ZVAL_COPY_VALUE(&attribute_Attribute_class_ZendTestParameterAttribute->args[0].value, &attribute_Attribute_class_ZendTestParameterAttribute_arg0);
641 #endif
642
643 return class_entry;
644 }
645
register_class_ZendTestPropertyAttribute(void)646 static zend_class_entry *register_class_ZendTestPropertyAttribute(void)
647 {
648 zend_class_entry ce, *class_entry;
649
650 INIT_CLASS_ENTRY(ce, "ZendTestPropertyAttribute", class_ZendTestPropertyAttribute_methods);
651 class_entry = zend_register_internal_class_ex(&ce, NULL);
652 class_entry->ce_flags |= ZEND_ACC_FINAL;
653
654 zval property_parameter_default_value;
655 ZVAL_UNDEF(&property_parameter_default_value);
656 zend_string *property_parameter_name = zend_string_init("parameter", sizeof("parameter") - 1, 1);
657 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));
658 zend_string_release(property_parameter_name);
659
660 #if (PHP_VERSION_ID >= 80200)
661 zend_string *attribute_name_Attribute_class_ZendTestPropertyAttribute = zend_string_init_interned("Attribute", sizeof("Attribute") - 1, 1);
662 zend_attribute *attribute_Attribute_class_ZendTestPropertyAttribute = zend_add_class_attribute(class_entry, attribute_name_Attribute_class_ZendTestPropertyAttribute, 1);
663 zend_string_release(attribute_name_Attribute_class_ZendTestPropertyAttribute);
664 zval attribute_Attribute_class_ZendTestPropertyAttribute_arg0;
665 ZVAL_LONG(&attribute_Attribute_class_ZendTestPropertyAttribute_arg0, ZEND_ATTRIBUTE_TARGET_PROPERTY);
666 ZVAL_COPY_VALUE(&attribute_Attribute_class_ZendTestPropertyAttribute->args[0].value, &attribute_Attribute_class_ZendTestPropertyAttribute_arg0);
667 #endif
668
669 return class_entry;
670 }
671
register_class_ZendTestClassWithMethodWithParameterAttribute(void)672 static zend_class_entry *register_class_ZendTestClassWithMethodWithParameterAttribute(void)
673 {
674 zend_class_entry ce, *class_entry;
675
676 INIT_CLASS_ENTRY(ce, "ZendTestClassWithMethodWithParameterAttribute", class_ZendTestClassWithMethodWithParameterAttribute_methods);
677 class_entry = zend_register_internal_class_ex(&ce, NULL);
678
679 return class_entry;
680 }
681
register_class_ZendTestChildClassWithMethodWithParameterAttribute(zend_class_entry * class_entry_ZendTestClassWithMethodWithParameterAttribute)682 static zend_class_entry *register_class_ZendTestChildClassWithMethodWithParameterAttribute(zend_class_entry *class_entry_ZendTestClassWithMethodWithParameterAttribute)
683 {
684 zend_class_entry ce, *class_entry;
685
686 INIT_CLASS_ENTRY(ce, "ZendTestChildClassWithMethodWithParameterAttribute", class_ZendTestChildClassWithMethodWithParameterAttribute_methods);
687 class_entry = zend_register_internal_class_ex(&ce, class_entry_ZendTestClassWithMethodWithParameterAttribute);
688
689 return class_entry;
690 }
691
register_class_ZendTestForbidDynamicCall(void)692 static zend_class_entry *register_class_ZendTestForbidDynamicCall(void)
693 {
694 zend_class_entry ce, *class_entry;
695
696 INIT_CLASS_ENTRY(ce, "ZendTestForbidDynamicCall", class_ZendTestForbidDynamicCall_methods);
697 class_entry = zend_register_internal_class_ex(&ce, NULL);
698 class_entry->ce_flags |= ZEND_ACC_FINAL;
699
700 return class_entry;
701 }
702
703 #if (PHP_VERSION_ID >= 80100)
register_class_ZendTestUnitEnum(void)704 static zend_class_entry *register_class_ZendTestUnitEnum(void)
705 {
706 zend_class_entry *class_entry = zend_register_internal_enum("ZendTestUnitEnum", IS_UNDEF, class_ZendTestUnitEnum_methods);
707
708 zend_enum_add_case_cstr(class_entry, "Foo", NULL);
709
710 zend_enum_add_case_cstr(class_entry, "Bar", NULL);
711
712 return class_entry;
713 }
714 #endif
715
716 #if (PHP_VERSION_ID >= 80100)
register_class_ZendTestStringEnum(void)717 static zend_class_entry *register_class_ZendTestStringEnum(void)
718 {
719 zend_class_entry *class_entry = zend_register_internal_enum("ZendTestStringEnum", IS_STRING, class_ZendTestStringEnum_methods);
720
721 zval enum_case_Foo_value;
722 zend_string *enum_case_Foo_value_str = zend_string_init("Test1", strlen("Test1"), 1);
723 ZVAL_STR(&enum_case_Foo_value, enum_case_Foo_value_str);
724 zend_enum_add_case_cstr(class_entry, "Foo", &enum_case_Foo_value);
725
726 zval enum_case_Bar_value;
727 zend_string *enum_case_Bar_value_str = zend_string_init("Test2", strlen("Test2"), 1);
728 ZVAL_STR(&enum_case_Bar_value, enum_case_Bar_value_str);
729 zend_enum_add_case_cstr(class_entry, "Bar", &enum_case_Bar_value);
730
731 zval enum_case_Baz_value;
732 zend_string *enum_case_Baz_value_str = zend_string_init("Test2\\a", strlen("Test2\\a"), 1);
733 ZVAL_STR(&enum_case_Baz_value, enum_case_Baz_value_str);
734 zend_enum_add_case_cstr(class_entry, "Baz", &enum_case_Baz_value);
735
736 zval enum_case_FortyTwo_value;
737 zend_string *enum_case_FortyTwo_value_str = zend_string_init("42", strlen("42"), 1);
738 ZVAL_STR(&enum_case_FortyTwo_value, enum_case_FortyTwo_value_str);
739 zend_enum_add_case_cstr(class_entry, "FortyTwo", &enum_case_FortyTwo_value);
740
741 return class_entry;
742 }
743 #endif
744
745 #if (PHP_VERSION_ID >= 80100)
register_class_ZendTestIntEnum(void)746 static zend_class_entry *register_class_ZendTestIntEnum(void)
747 {
748 zend_class_entry *class_entry = zend_register_internal_enum("ZendTestIntEnum", IS_LONG, class_ZendTestIntEnum_methods);
749
750 zval enum_case_Foo_value;
751 ZVAL_LONG(&enum_case_Foo_value, 1);
752 zend_enum_add_case_cstr(class_entry, "Foo", &enum_case_Foo_value);
753
754 zval enum_case_Bar_value;
755 ZVAL_LONG(&enum_case_Bar_value, 3);
756 zend_enum_add_case_cstr(class_entry, "Bar", &enum_case_Bar_value);
757
758 zval enum_case_Baz_value;
759 ZVAL_LONG(&enum_case_Baz_value, -1);
760 zend_enum_add_case_cstr(class_entry, "Baz", &enum_case_Baz_value);
761
762 return class_entry;
763 }
764 #endif
765
register_class_ZendTestNS_Foo(void)766 static zend_class_entry *register_class_ZendTestNS_Foo(void)
767 {
768 zend_class_entry ce, *class_entry;
769
770 INIT_NS_CLASS_ENTRY(ce, "ZendTestNS", "Foo", class_ZendTestNS_Foo_methods);
771 class_entry = zend_register_internal_class_ex(&ce, NULL);
772
773 return class_entry;
774 }
775
register_class_ZendTestNS_UnlikelyCompileError(void)776 static zend_class_entry *register_class_ZendTestNS_UnlikelyCompileError(void)
777 {
778 zend_class_entry ce, *class_entry;
779
780 INIT_NS_CLASS_ENTRY(ce, "ZendTestNS", "UnlikelyCompileError", class_ZendTestNS_UnlikelyCompileError_methods);
781 class_entry = zend_register_internal_class_ex(&ce, NULL);
782
783 return class_entry;
784 }
785
register_class_ZendTestNS_NotUnlikelyCompileError(void)786 static zend_class_entry *register_class_ZendTestNS_NotUnlikelyCompileError(void)
787 {
788 zend_class_entry ce, *class_entry;
789
790 INIT_NS_CLASS_ENTRY(ce, "ZendTestNS", "NotUnlikelyCompileError", class_ZendTestNS_NotUnlikelyCompileError_methods);
791 class_entry = zend_register_internal_class_ex(&ce, NULL);
792
793 return class_entry;
794 }
795
register_class_ZendTestNS2_Foo(void)796 static zend_class_entry *register_class_ZendTestNS2_Foo(void)
797 {
798 zend_class_entry ce, *class_entry;
799
800 INIT_NS_CLASS_ENTRY(ce, "ZendTestNS2", "Foo", class_ZendTestNS2_Foo_methods);
801 class_entry = zend_register_internal_class_ex(&ce, NULL);
802
803 zend_string *property_foo_class_ZendTestNS2_ZendSubNS_Foo = zend_string_init("ZendTestNS2\\ZendSubNS\\Foo", sizeof("ZendTestNS2\\ZendSubNS\\Foo")-1, 1);
804 zval property_foo_default_value;
805 ZVAL_UNDEF(&property_foo_default_value);
806 zend_string *property_foo_name = zend_string_init("foo", sizeof("foo") - 1, 1);
807 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));
808 zend_string_release(property_foo_name);
809
810 return class_entry;
811 }
812
register_class_ZendTestNS2_ZendSubNS_Foo(void)813 static zend_class_entry *register_class_ZendTestNS2_ZendSubNS_Foo(void)
814 {
815 zend_class_entry ce, *class_entry;
816
817 INIT_NS_CLASS_ENTRY(ce, "ZendTestNS2\\ZendSubNS", "Foo", class_ZendTestNS2_ZendSubNS_Foo_methods);
818 class_entry = zend_register_internal_class_ex(&ce, NULL);
819
820 return class_entry;
821 }
822