1 /* This is a generated file, edit the .stub.php file instead.
2  * Stub hash: 0af85c5349efaff6f19e003712d9ba929adc9ce1 */
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_deprecated, 0, 0, IS_VOID, 0)
14 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, arg, IS_MIXED, 0, "null")
15 ZEND_END_ARG_INFO()
16 
17 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_zend_create_unterminated_string, 0, 1, IS_STRING, 0)
18 	ZEND_ARG_TYPE_INFO(0, str, IS_STRING, 0)
19 ZEND_END_ARG_INFO()
20 
21 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_zend_terminate_string, 0, 1, IS_VOID, 0)
22 	ZEND_ARG_TYPE_INFO(1, str, IS_STRING, 0)
23 ZEND_END_ARG_INFO()
24 
25 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_zend_leak_variable, 0, 1, IS_VOID, 0)
26 	ZEND_ARG_TYPE_INFO(0, variable, IS_MIXED, 0)
27 ZEND_END_ARG_INFO()
28 
29 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_zend_leak_bytes, 0, 0, IS_VOID, 0)
30 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, bytes, IS_LONG, 0, "3")
31 ZEND_END_ARG_INFO()
32 
33 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_zend_string_or_object, 0, 1, MAY_BE_OBJECT|MAY_BE_STRING)
34 	ZEND_ARG_TYPE_MASK(0, param, MAY_BE_OBJECT|MAY_BE_STRING, NULL)
35 ZEND_END_ARG_INFO()
36 
37 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)
38 	ZEND_ARG_TYPE_MASK(0, param, MAY_BE_OBJECT|MAY_BE_STRING|MAY_BE_NULL, NULL)
39 ZEND_END_ARG_INFO()
40 
41 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_zend_string_or_stdclass, 0, 1, stdClass, MAY_BE_STRING)
42 	ZEND_ARG_INFO(0, param)
43 ZEND_END_ARG_INFO()
44 
45 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)
46 	ZEND_ARG_INFO(0, param)
47 ZEND_END_ARG_INFO()
48 
49 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_zend_iterable, 0, 1, IS_VOID, 0)
50 	ZEND_ARG_TYPE_INFO(0, arg1, IS_ITERABLE, 0)
51 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, arg2, IS_ITERABLE, 1, "null")
52 ZEND_END_ARG_INFO()
53 
54 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_zend_weakmap_attach, 0, 2, _IS_BOOL, 0)
55 	ZEND_ARG_TYPE_INFO(0, object, IS_OBJECT, 0)
56 	ZEND_ARG_TYPE_INFO(0, value, IS_MIXED, 0)
57 ZEND_END_ARG_INFO()
58 
59 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_zend_weakmap_remove, 0, 1, _IS_BOOL, 0)
60 	ZEND_ARG_TYPE_INFO(0, object, IS_OBJECT, 0)
61 ZEND_END_ARG_INFO()
62 
63 #define arginfo_zend_weakmap_dump arginfo_zend_test_array_return
64 
65 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_zend_get_unit_enum, 0, 0, ZendTestUnitEnum, 0)
66 ZEND_END_ARG_INFO()
67 
68 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ZendTestNS2_ZendSubNS_namespaced_func, 0, 0, _IS_BOOL, 0)
69 ZEND_END_ARG_INFO()
70 
71 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class__ZendTestClass_is_object, 0, 0, IS_LONG, 0)
72 ZEND_END_ARG_INFO()
73 
74 ZEND_BEGIN_ARG_INFO_EX(arginfo_class__ZendTestClass___toString, 0, 0, 0)
75 ZEND_END_ARG_INFO()
76 
77 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class__ZendTestClass_returnsStatic, 0, 0, IS_STATIC, 0)
78 ZEND_END_ARG_INFO()
79 
80 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_class__ZendTestClass_returnsThrowable, 0, 0, Throwable, 0)
81 ZEND_END_ARG_INFO()
82 
83 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_class__ZendTestChildClass_returnsThrowable, 0, 0, Exception, 0)
84 ZEND_END_ARG_INFO()
85 
86 #define arginfo_class__ZendTestTrait_testMethod arginfo_ZendTestNS2_ZendSubNS_namespaced_func
87 
88 #define arginfo_class_ZendTestNS_Foo_method arginfo_zend_test_void_return
89 
90 #define arginfo_class_ZendTestNS2_Foo_method arginfo_zend_test_void_return
91 
92 #define arginfo_class_ZendTestNS2_ZendSubNS_Foo_method arginfo_zend_test_void_return
93 
94 
95 static ZEND_FUNCTION(zend_test_array_return);
96 static ZEND_FUNCTION(zend_test_nullable_array_return);
97 static ZEND_FUNCTION(zend_test_void_return);
98 static ZEND_FUNCTION(zend_test_deprecated);
99 static ZEND_FUNCTION(zend_create_unterminated_string);
100 static ZEND_FUNCTION(zend_terminate_string);
101 static ZEND_FUNCTION(zend_leak_variable);
102 static ZEND_FUNCTION(zend_leak_bytes);
103 static ZEND_FUNCTION(zend_string_or_object);
104 static ZEND_FUNCTION(zend_string_or_object_or_null);
105 static ZEND_FUNCTION(zend_string_or_stdclass);
106 static ZEND_FUNCTION(zend_string_or_stdclass_or_null);
107 static ZEND_FUNCTION(zend_iterable);
108 static ZEND_FUNCTION(zend_weakmap_attach);
109 static ZEND_FUNCTION(zend_weakmap_remove);
110 static ZEND_FUNCTION(zend_weakmap_dump);
111 static ZEND_FUNCTION(zend_get_unit_enum);
112 static ZEND_FUNCTION(namespaced_func);
113 static ZEND_METHOD(_ZendTestClass, is_object);
114 static ZEND_METHOD(_ZendTestClass, __toString);
115 static ZEND_METHOD(_ZendTestClass, returnsStatic);
116 static ZEND_METHOD(_ZendTestClass, returnsThrowable);
117 static ZEND_METHOD(_ZendTestChildClass, returnsThrowable);
118 static ZEND_METHOD(_ZendTestTrait, testMethod);
119 static ZEND_METHOD(ZendTestNS_Foo, method);
120 static ZEND_METHOD(ZendTestNS2_Foo, method);
121 static ZEND_METHOD(ZendTestNS2_ZendSubNS_Foo, method);
122 
123 
124 static const zend_function_entry ext_functions[] = {
125 	ZEND_FE(zend_test_array_return, arginfo_zend_test_array_return)
126 	ZEND_FE(zend_test_nullable_array_return, arginfo_zend_test_nullable_array_return)
127 	ZEND_FE(zend_test_void_return, arginfo_zend_test_void_return)
128 	ZEND_DEP_FE(zend_test_deprecated, arginfo_zend_test_deprecated)
129 	ZEND_FE(zend_create_unterminated_string, arginfo_zend_create_unterminated_string)
130 	ZEND_FE(zend_terminate_string, arginfo_zend_terminate_string)
131 	ZEND_FE(zend_leak_variable, arginfo_zend_leak_variable)
132 	ZEND_FE(zend_leak_bytes, arginfo_zend_leak_bytes)
133 	ZEND_FE(zend_string_or_object, arginfo_zend_string_or_object)
134 	ZEND_FE(zend_string_or_object_or_null, arginfo_zend_string_or_object_or_null)
135 	ZEND_FE(zend_string_or_stdclass, arginfo_zend_string_or_stdclass)
136 	ZEND_FE(zend_string_or_stdclass_or_null, arginfo_zend_string_or_stdclass_or_null)
137 	ZEND_FE(zend_iterable, arginfo_zend_iterable)
138 	ZEND_FE(zend_weakmap_attach, arginfo_zend_weakmap_attach)
139 	ZEND_FE(zend_weakmap_remove, arginfo_zend_weakmap_remove)
140 	ZEND_FE(zend_weakmap_dump, arginfo_zend_weakmap_dump)
141 	ZEND_FE(zend_get_unit_enum, arginfo_zend_get_unit_enum)
142 	ZEND_NS_FE("ZendTestNS2\\ZendSubNS", namespaced_func, arginfo_ZendTestNS2_ZendSubNS_namespaced_func)
143 	ZEND_FE_END
144 };
145 
146 
147 static const zend_function_entry class__ZendTestInterface_methods[] = {
148 	ZEND_FE_END
149 };
150 
151 
152 static const zend_function_entry class__ZendTestClass_methods[] = {
153 	ZEND_ME(_ZendTestClass, is_object, arginfo_class__ZendTestClass_is_object, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC)
154 	ZEND_ME(_ZendTestClass, __toString, arginfo_class__ZendTestClass___toString, ZEND_ACC_PUBLIC|ZEND_ACC_DEPRECATED)
155 	ZEND_ME(_ZendTestClass, returnsStatic, arginfo_class__ZendTestClass_returnsStatic, ZEND_ACC_PUBLIC)
156 	ZEND_ME(_ZendTestClass, returnsThrowable, arginfo_class__ZendTestClass_returnsThrowable, ZEND_ACC_PUBLIC)
157 	ZEND_FE_END
158 };
159 
160 
161 static const zend_function_entry class__ZendTestChildClass_methods[] = {
162 	ZEND_ME(_ZendTestChildClass, returnsThrowable, arginfo_class__ZendTestChildClass_returnsThrowable, ZEND_ACC_PUBLIC)
163 	ZEND_FE_END
164 };
165 
166 
167 static const zend_function_entry class__ZendTestTrait_methods[] = {
168 	ZEND_ME(_ZendTestTrait, testMethod, arginfo_class__ZendTestTrait_testMethod, ZEND_ACC_PUBLIC)
169 	ZEND_FE_END
170 };
171 
172 
173 static const zend_function_entry class_ZendTestAttribute_methods[] = {
174 	ZEND_FE_END
175 };
176 
177 
178 static const zend_function_entry class_ZendTestUnitEnum_methods[] = {
179 	ZEND_FE_END
180 };
181 
182 
183 static const zend_function_entry class_ZendTestStringEnum_methods[] = {
184 	ZEND_FE_END
185 };
186 
187 
188 static const zend_function_entry class_ZendTestNS_Foo_methods[] = {
189 	ZEND_ME(ZendTestNS_Foo, method, arginfo_class_ZendTestNS_Foo_method, ZEND_ACC_PUBLIC)
190 	ZEND_FE_END
191 };
192 
193 
194 static const zend_function_entry class_ZendTestNS2_Foo_methods[] = {
195 	ZEND_ME(ZendTestNS2_Foo, method, arginfo_class_ZendTestNS2_Foo_method, ZEND_ACC_PUBLIC)
196 	ZEND_FE_END
197 };
198 
199 
200 static const zend_function_entry class_ZendTestNS2_ZendSubNS_Foo_methods[] = {
201 	ZEND_ME(ZendTestNS2_ZendSubNS_Foo, method, arginfo_class_ZendTestNS2_ZendSubNS_Foo_method, ZEND_ACC_PUBLIC)
202 	ZEND_FE_END
203 };
204 
register_class__ZendTestInterface(void)205 static zend_class_entry *register_class__ZendTestInterface(void)
206 {
207 	zend_class_entry ce, *class_entry;
208 
209 	INIT_CLASS_ENTRY(ce, "_ZendTestInterface", class__ZendTestInterface_methods);
210 	class_entry = zend_register_internal_interface(&ce);
211 
212 	return class_entry;
213 }
214 
register_class__ZendTestClass(zend_class_entry * class_entry__ZendTestInterface)215 static zend_class_entry *register_class__ZendTestClass(zend_class_entry *class_entry__ZendTestInterface)
216 {
217 	zend_class_entry ce, *class_entry;
218 
219 	INIT_CLASS_ENTRY(ce, "_ZendTestClass", class__ZendTestClass_methods);
220 	class_entry = zend_register_internal_class_ex(&ce, NULL);
221 	zend_class_implements(class_entry, 1, class_entry__ZendTestInterface);
222 	zend_register_class_alias("_ZendTestClassAlias", class_entry);
223 
224 	zval property__StaticProp_default_value;
225 	ZVAL_NULL(&property__StaticProp_default_value);
226 	zend_string *property__StaticProp_name = zend_string_init("_StaticProp", sizeof("_StaticProp") - 1, 1);
227 	zend_declare_property_ex(class_entry, property__StaticProp_name, &property__StaticProp_default_value, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC, NULL);
228 	zend_string_release(property__StaticProp_name);
229 
230 	zval property_staticIntProp_default_value;
231 	ZVAL_LONG(&property_staticIntProp_default_value, 123);
232 	zend_string *property_staticIntProp_name = zend_string_init("staticIntProp", sizeof("staticIntProp") - 1, 1);
233 	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));
234 	zend_string_release(property_staticIntProp_name);
235 
236 	zval property_intProp_default_value;
237 	ZVAL_LONG(&property_intProp_default_value, 123);
238 	zend_string *property_intProp_name = zend_string_init("intProp", sizeof("intProp") - 1, 1);
239 	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));
240 	zend_string_release(property_intProp_name);
241 
242 	zend_string *property_classProp_class_stdClass = zend_string_init("stdClass", sizeof("stdClass")-1, 1);
243 	zval property_classProp_default_value;
244 	ZVAL_NULL(&property_classProp_default_value);
245 	zend_string *property_classProp_name = zend_string_init("classProp", sizeof("classProp") - 1, 1);
246 	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));
247 	zend_string_release(property_classProp_name);
248 
249 	zend_string *property_classUnionProp_class_stdClass = zend_string_init("stdClass", sizeof("stdClass") - 1, 1);
250 	zend_string *property_classUnionProp_class_Iterator = zend_string_init("Iterator", sizeof("Iterator") - 1, 1);
251 	zend_type_list *property_classUnionProp_type_list = malloc(ZEND_TYPE_LIST_SIZE(2));
252 	property_classUnionProp_type_list->num_types = 2;
253 	property_classUnionProp_type_list->types[0] = (zend_type) ZEND_TYPE_INIT_CLASS(property_classUnionProp_class_stdClass, 0, 0);
254 	property_classUnionProp_type_list->types[1] = (zend_type) ZEND_TYPE_INIT_CLASS(property_classUnionProp_class_Iterator, 0, 0);
255 	zend_type property_classUnionProp_type = ZEND_TYPE_INIT_UNION(property_classUnionProp_type_list, MAY_BE_NULL);
256 	zval property_classUnionProp_default_value;
257 	ZVAL_NULL(&property_classUnionProp_default_value);
258 	zend_string *property_classUnionProp_name = zend_string_init("classUnionProp", sizeof("classUnionProp") - 1, 1);
259 	zend_declare_typed_property(class_entry, property_classUnionProp_name, &property_classUnionProp_default_value, ZEND_ACC_PUBLIC, NULL, property_classUnionProp_type);
260 	zend_string_release(property_classUnionProp_name);
261 
262 	zval property_readonlyProp_default_value;
263 	ZVAL_UNDEF(&property_readonlyProp_default_value);
264 	zend_string *property_readonlyProp_name = zend_string_init("readonlyProp", sizeof("readonlyProp") - 1, 1);
265 	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));
266 	zend_string_release(property_readonlyProp_name);
267 
268 	return class_entry;
269 }
270 
register_class__ZendTestChildClass(zend_class_entry * class_entry__ZendTestClass)271 static zend_class_entry *register_class__ZendTestChildClass(zend_class_entry *class_entry__ZendTestClass)
272 {
273 	zend_class_entry ce, *class_entry;
274 
275 	INIT_CLASS_ENTRY(ce, "_ZendTestChildClass", class__ZendTestChildClass_methods);
276 	class_entry = zend_register_internal_class_ex(&ce, class_entry__ZendTestClass);
277 
278 	return class_entry;
279 }
280 
register_class__ZendTestTrait(void)281 static zend_class_entry *register_class__ZendTestTrait(void)
282 {
283 	zend_class_entry ce, *class_entry;
284 
285 	INIT_CLASS_ENTRY(ce, "_ZendTestTrait", class__ZendTestTrait_methods);
286 	class_entry = zend_register_internal_class_ex(&ce, NULL);
287 	class_entry->ce_flags |= ZEND_ACC_TRAIT;
288 
289 	zval property_testProp_default_value;
290 	ZVAL_NULL(&property_testProp_default_value);
291 	zend_string *property_testProp_name = zend_string_init("testProp", sizeof("testProp") - 1, 1);
292 	zend_declare_property_ex(class_entry, property_testProp_name, &property_testProp_default_value, ZEND_ACC_PUBLIC, NULL);
293 	zend_string_release(property_testProp_name);
294 
295 	return class_entry;
296 }
297 
register_class_ZendTestAttribute(void)298 static zend_class_entry *register_class_ZendTestAttribute(void)
299 {
300 	zend_class_entry ce, *class_entry;
301 
302 	INIT_CLASS_ENTRY(ce, "ZendTestAttribute", class_ZendTestAttribute_methods);
303 	class_entry = zend_register_internal_class_ex(&ce, NULL);
304 	class_entry->ce_flags |= ZEND_ACC_FINAL;
305 
306 	return class_entry;
307 }
308 
register_class_ZendTestUnitEnum(void)309 static zend_class_entry *register_class_ZendTestUnitEnum(void)
310 {
311 	zend_class_entry *class_entry = zend_register_internal_enum("ZendTestUnitEnum", IS_UNDEF, class_ZendTestUnitEnum_methods);
312 
313 	zend_enum_add_case_cstr(class_entry, "Foo", NULL);
314 
315 	zend_enum_add_case_cstr(class_entry, "Bar", NULL);
316 
317 	return class_entry;
318 }
319 
register_class_ZendTestStringEnum(void)320 static zend_class_entry *register_class_ZendTestStringEnum(void)
321 {
322 	zend_class_entry *class_entry = zend_register_internal_enum("ZendTestStringEnum", IS_STRING, class_ZendTestStringEnum_methods);
323 
324 	zval enum_case_Foo_value;
325 	zend_string *enum_case_Foo_value_str = zend_string_init("Test1", sizeof("Test1") - 1, 1);
326 	ZVAL_STR(&enum_case_Foo_value, enum_case_Foo_value_str);
327 	zend_enum_add_case_cstr(class_entry, "Foo", &enum_case_Foo_value);
328 
329 	zval enum_case_Bar_value;
330 	zend_string *enum_case_Bar_value_str = zend_string_init("Test2", sizeof("Test2") - 1, 1);
331 	ZVAL_STR(&enum_case_Bar_value, enum_case_Bar_value_str);
332 	zend_enum_add_case_cstr(class_entry, "Bar", &enum_case_Bar_value);
333 
334 	zval enum_case_Baz_value;
335 	zend_string *enum_case_Baz_value_str = zend_string_init("Test2\\a", sizeof("Test2\\a") - 1, 1);
336 	ZVAL_STR(&enum_case_Baz_value, enum_case_Baz_value_str);
337 	zend_enum_add_case_cstr(class_entry, "Baz", &enum_case_Baz_value);
338 
339 	return class_entry;
340 }
341 
register_class_ZendTestNS_Foo(void)342 static zend_class_entry *register_class_ZendTestNS_Foo(void)
343 {
344 	zend_class_entry ce, *class_entry;
345 
346 	INIT_NS_CLASS_ENTRY(ce, "ZendTestNS", "Foo", class_ZendTestNS_Foo_methods);
347 	class_entry = zend_register_internal_class_ex(&ce, NULL);
348 
349 	return class_entry;
350 }
351 
register_class_ZendTestNS2_Foo(void)352 static zend_class_entry *register_class_ZendTestNS2_Foo(void)
353 {
354 	zend_class_entry ce, *class_entry;
355 
356 	INIT_NS_CLASS_ENTRY(ce, "ZendTestNS2", "Foo", class_ZendTestNS2_Foo_methods);
357 	class_entry = zend_register_internal_class_ex(&ce, NULL);
358 
359 	zend_string *property_foo_class_ZendTestNS2_ZendSubNS_Foo = zend_string_init("ZendTestNS2\\ZendSubNS\\Foo", sizeof("ZendTestNS2\\ZendSubNS\\Foo")-1, 1);
360 	zval property_foo_default_value;
361 	ZVAL_UNDEF(&property_foo_default_value);
362 	zend_string *property_foo_name = zend_string_init("foo", sizeof("foo") - 1, 1);
363 	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));
364 	zend_string_release(property_foo_name);
365 
366 	return class_entry;
367 }
368 
register_class_ZendTestNS2_ZendSubNS_Foo(void)369 static zend_class_entry *register_class_ZendTestNS2_ZendSubNS_Foo(void)
370 {
371 	zend_class_entry ce, *class_entry;
372 
373 	INIT_NS_CLASS_ENTRY(ce, "ZendTestNS2\\ZendSubNS", "Foo", class_ZendTestNS2_ZendSubNS_Foo_methods);
374 	class_entry = zend_register_internal_class_ex(&ce, NULL);
375 
376 	return class_entry;
377 }
378