xref: /php-src/ext/date/php_date_arginfo.h (revision db545767)
1 /* This is a generated file, edit the .stub.php file instead.
2  * Stub hash: 41c7662745d19808dd4550b37cd1b9f2aa94d75b */
3 
4 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_strtotime, 0, 1, MAY_BE_LONG|MAY_BE_FALSE)
5 	ZEND_ARG_TYPE_INFO(0, datetime, IS_STRING, 0)
6 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, baseTimestamp, IS_LONG, 1, "null")
7 ZEND_END_ARG_INFO()
8 
9 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_date, 0, 1, IS_STRING, 0)
10 	ZEND_ARG_TYPE_INFO(0, format, IS_STRING, 0)
11 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, timestamp, IS_LONG, 1, "null")
12 ZEND_END_ARG_INFO()
13 
14 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_idate, 0, 1, MAY_BE_LONG|MAY_BE_FALSE)
15 	ZEND_ARG_TYPE_INFO(0, format, IS_STRING, 0)
16 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, timestamp, IS_LONG, 1, "null")
17 ZEND_END_ARG_INFO()
18 
19 #define arginfo_gmdate arginfo_date
20 
21 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_mktime, 0, 1, MAY_BE_LONG|MAY_BE_FALSE)
22 	ZEND_ARG_TYPE_INFO(0, hour, IS_LONG, 0)
23 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, minute, IS_LONG, 1, "null")
24 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, second, IS_LONG, 1, "null")
25 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, month, IS_LONG, 1, "null")
26 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, day, IS_LONG, 1, "null")
27 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, year, IS_LONG, 1, "null")
28 ZEND_END_ARG_INFO()
29 
30 #define arginfo_gmmktime arginfo_mktime
31 
32 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_checkdate, 0, 3, _IS_BOOL, 0)
33 	ZEND_ARG_TYPE_INFO(0, month, IS_LONG, 0)
34 	ZEND_ARG_TYPE_INFO(0, day, IS_LONG, 0)
35 	ZEND_ARG_TYPE_INFO(0, year, IS_LONG, 0)
36 ZEND_END_ARG_INFO()
37 
38 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_strftime, 0, 1, MAY_BE_STRING|MAY_BE_FALSE)
39 	ZEND_ARG_TYPE_INFO(0, format, IS_STRING, 0)
40 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, timestamp, IS_LONG, 1, "null")
41 ZEND_END_ARG_INFO()
42 
43 #define arginfo_gmstrftime arginfo_strftime
44 
45 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_time, 0, 0, IS_LONG, 0)
46 ZEND_END_ARG_INFO()
47 
48 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_localtime, 0, 0, IS_ARRAY, 0)
49 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, timestamp, IS_LONG, 1, "null")
50 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, associative, _IS_BOOL, 0, "false")
51 ZEND_END_ARG_INFO()
52 
53 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_getdate, 0, 0, IS_ARRAY, 0)
54 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, timestamp, IS_LONG, 1, "null")
55 ZEND_END_ARG_INFO()
56 
57 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_date_create, 0, 0, DateTime, MAY_BE_FALSE)
58 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, datetime, IS_STRING, 0, "\"now\"")
59 	ZEND_ARG_OBJ_INFO_WITH_DEFAULT_VALUE(0, timezone, DateTimeZone, 1, "null")
60 ZEND_END_ARG_INFO()
61 
62 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_date_create_immutable, 0, 0, DateTimeImmutable, MAY_BE_FALSE)
63 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, datetime, IS_STRING, 0, "\"now\"")
64 	ZEND_ARG_OBJ_INFO_WITH_DEFAULT_VALUE(0, timezone, DateTimeZone, 1, "null")
65 ZEND_END_ARG_INFO()
66 
67 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_date_create_from_format, 0, 2, DateTime, MAY_BE_FALSE)
68 	ZEND_ARG_TYPE_INFO(0, format, IS_STRING, 0)
69 	ZEND_ARG_TYPE_INFO(0, datetime, IS_STRING, 0)
70 	ZEND_ARG_OBJ_INFO_WITH_DEFAULT_VALUE(0, timezone, DateTimeZone, 1, "null")
71 ZEND_END_ARG_INFO()
72 
73 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_date_create_immutable_from_format, 0, 2, DateTimeImmutable, MAY_BE_FALSE)
74 	ZEND_ARG_TYPE_INFO(0, format, IS_STRING, 0)
75 	ZEND_ARG_TYPE_INFO(0, datetime, IS_STRING, 0)
76 	ZEND_ARG_OBJ_INFO_WITH_DEFAULT_VALUE(0, timezone, DateTimeZone, 1, "null")
77 ZEND_END_ARG_INFO()
78 
79 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_date_parse, 0, 1, IS_ARRAY, 0)
80 	ZEND_ARG_TYPE_INFO(0, datetime, IS_STRING, 0)
81 ZEND_END_ARG_INFO()
82 
83 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_date_parse_from_format, 0, 2, IS_ARRAY, 0)
84 	ZEND_ARG_TYPE_INFO(0, format, IS_STRING, 0)
85 	ZEND_ARG_TYPE_INFO(0, datetime, IS_STRING, 0)
86 ZEND_END_ARG_INFO()
87 
88 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_date_get_last_errors, 0, 0, MAY_BE_ARRAY|MAY_BE_FALSE)
89 ZEND_END_ARG_INFO()
90 
91 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_date_format, 0, 2, IS_STRING, 0)
92 	ZEND_ARG_OBJ_INFO(0, object, DateTimeInterface, 0)
93 	ZEND_ARG_TYPE_INFO(0, format, IS_STRING, 0)
94 ZEND_END_ARG_INFO()
95 
96 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_date_modify, 0, 2, DateTime, MAY_BE_FALSE)
97 	ZEND_ARG_OBJ_INFO(0, object, DateTime, 0)
98 	ZEND_ARG_TYPE_INFO(0, modifier, IS_STRING, 0)
99 ZEND_END_ARG_INFO()
100 
101 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_date_add, 0, 2, DateTime, 0)
102 	ZEND_ARG_OBJ_INFO(0, object, DateTime, 0)
103 	ZEND_ARG_OBJ_INFO(0, interval, DateInterval, 0)
104 ZEND_END_ARG_INFO()
105 
106 #define arginfo_date_sub arginfo_date_add
107 
108 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_date_timezone_get, 0, 1, DateTimeZone, MAY_BE_FALSE)
109 	ZEND_ARG_OBJ_INFO(0, object, DateTimeInterface, 0)
110 ZEND_END_ARG_INFO()
111 
112 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_date_timezone_set, 0, 2, DateTime, 0)
113 	ZEND_ARG_OBJ_INFO(0, object, DateTime, 0)
114 	ZEND_ARG_OBJ_INFO(0, timezone, DateTimeZone, 0)
115 ZEND_END_ARG_INFO()
116 
117 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_date_offset_get, 0, 1, IS_LONG, 0)
118 	ZEND_ARG_OBJ_INFO(0, object, DateTimeInterface, 0)
119 ZEND_END_ARG_INFO()
120 
121 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_date_diff, 0, 2, DateInterval, 0)
122 	ZEND_ARG_OBJ_INFO(0, baseObject, DateTimeInterface, 0)
123 	ZEND_ARG_OBJ_INFO(0, targetObject, DateTimeInterface, 0)
124 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, absolute, _IS_BOOL, 0, "false")
125 ZEND_END_ARG_INFO()
126 
127 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_date_time_set, 0, 3, DateTime, 0)
128 	ZEND_ARG_OBJ_INFO(0, object, DateTime, 0)
129 	ZEND_ARG_TYPE_INFO(0, hour, IS_LONG, 0)
130 	ZEND_ARG_TYPE_INFO(0, minute, IS_LONG, 0)
131 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, second, IS_LONG, 0, "0")
132 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, microsecond, IS_LONG, 0, "0")
133 ZEND_END_ARG_INFO()
134 
135 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_date_date_set, 0, 4, DateTime, 0)
136 	ZEND_ARG_OBJ_INFO(0, object, DateTime, 0)
137 	ZEND_ARG_TYPE_INFO(0, year, IS_LONG, 0)
138 	ZEND_ARG_TYPE_INFO(0, month, IS_LONG, 0)
139 	ZEND_ARG_TYPE_INFO(0, day, IS_LONG, 0)
140 ZEND_END_ARG_INFO()
141 
142 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_date_isodate_set, 0, 3, DateTime, 0)
143 	ZEND_ARG_OBJ_INFO(0, object, DateTime, 0)
144 	ZEND_ARG_TYPE_INFO(0, year, IS_LONG, 0)
145 	ZEND_ARG_TYPE_INFO(0, week, IS_LONG, 0)
146 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, dayOfWeek, IS_LONG, 0, "1")
147 ZEND_END_ARG_INFO()
148 
149 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_date_timestamp_set, 0, 2, DateTime, 0)
150 	ZEND_ARG_OBJ_INFO(0, object, DateTime, 0)
151 	ZEND_ARG_TYPE_INFO(0, timestamp, IS_LONG, 0)
152 ZEND_END_ARG_INFO()
153 
154 #define arginfo_date_timestamp_get arginfo_date_offset_get
155 
156 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_timezone_open, 0, 1, DateTimeZone, MAY_BE_FALSE)
157 	ZEND_ARG_TYPE_INFO(0, timezone, IS_STRING, 0)
158 ZEND_END_ARG_INFO()
159 
160 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_timezone_name_get, 0, 1, IS_STRING, 0)
161 	ZEND_ARG_OBJ_INFO(0, object, DateTimeZone, 0)
162 ZEND_END_ARG_INFO()
163 
164 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_timezone_name_from_abbr, 0, 1, MAY_BE_STRING|MAY_BE_FALSE)
165 	ZEND_ARG_TYPE_INFO(0, abbr, IS_STRING, 0)
166 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, utcOffset, IS_LONG, 0, "-1")
167 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, isDST, IS_LONG, 0, "-1")
168 ZEND_END_ARG_INFO()
169 
170 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_timezone_offset_get, 0, 2, IS_LONG, 0)
171 	ZEND_ARG_OBJ_INFO(0, object, DateTimeZone, 0)
172 	ZEND_ARG_OBJ_INFO(0, datetime, DateTimeInterface, 0)
173 ZEND_END_ARG_INFO()
174 
175 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_timezone_transitions_get, 0, 1, MAY_BE_ARRAY|MAY_BE_FALSE)
176 	ZEND_ARG_OBJ_INFO(0, object, DateTimeZone, 0)
177 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, timestampBegin, IS_LONG, 0, "PHP_INT_MIN")
178 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, timestampEnd, IS_LONG, 0, "PHP_INT_MAX")
179 ZEND_END_ARG_INFO()
180 
181 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_timezone_location_get, 0, 1, MAY_BE_ARRAY|MAY_BE_FALSE)
182 	ZEND_ARG_OBJ_INFO(0, object, DateTimeZone, 0)
183 ZEND_END_ARG_INFO()
184 
185 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_timezone_identifiers_list, 0, 0, IS_ARRAY, 0)
186 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, timezoneGroup, IS_LONG, 0, "DateTimeZone::ALL")
187 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, countryCode, IS_STRING, 1, "null")
188 ZEND_END_ARG_INFO()
189 
190 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_timezone_abbreviations_list, 0, 0, IS_ARRAY, 0)
191 ZEND_END_ARG_INFO()
192 
193 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_timezone_version_get, 0, 0, IS_STRING, 0)
194 ZEND_END_ARG_INFO()
195 
196 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_date_interval_create_from_date_string, 0, 1, DateInterval, MAY_BE_FALSE)
197 	ZEND_ARG_TYPE_INFO(0, datetime, IS_STRING, 0)
198 ZEND_END_ARG_INFO()
199 
200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_date_interval_format, 0, 2, IS_STRING, 0)
201 	ZEND_ARG_OBJ_INFO(0, object, DateInterval, 0)
202 	ZEND_ARG_TYPE_INFO(0, format, IS_STRING, 0)
203 ZEND_END_ARG_INFO()
204 
205 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_date_default_timezone_set, 0, 1, _IS_BOOL, 0)
206 	ZEND_ARG_TYPE_INFO(0, timezoneId, IS_STRING, 0)
207 ZEND_END_ARG_INFO()
208 
209 #define arginfo_date_default_timezone_get arginfo_timezone_version_get
210 
211 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_date_sunrise, 0, 1, MAY_BE_STRING|MAY_BE_LONG|MAY_BE_DOUBLE|MAY_BE_FALSE)
212 	ZEND_ARG_TYPE_INFO(0, timestamp, IS_LONG, 0)
213 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, returnFormat, IS_LONG, 0, "SUNFUNCS_RET_STRING")
214 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, latitude, IS_DOUBLE, 1, "null")
215 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, longitude, IS_DOUBLE, 1, "null")
216 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, zenith, IS_DOUBLE, 1, "null")
217 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, utcOffset, IS_DOUBLE, 1, "null")
218 ZEND_END_ARG_INFO()
219 
220 #define arginfo_date_sunset arginfo_date_sunrise
221 
222 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_date_sun_info, 0, 3, IS_ARRAY, 0)
223 	ZEND_ARG_TYPE_INFO(0, timestamp, IS_LONG, 0)
224 	ZEND_ARG_TYPE_INFO(0, latitude, IS_DOUBLE, 0)
225 	ZEND_ARG_TYPE_INFO(0, longitude, IS_DOUBLE, 0)
226 ZEND_END_ARG_INFO()
227 
228 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_DateTimeInterface_format, 0, 1, IS_STRING, 0)
229 	ZEND_ARG_TYPE_INFO(0, format, IS_STRING, 0)
230 ZEND_END_ARG_INFO()
231 
232 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_DateTimeInterface_getTimezone, 0, 0, DateTimeZone, MAY_BE_FALSE)
233 ZEND_END_ARG_INFO()
234 
235 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_DateTimeInterface_getOffset, 0, 0, IS_LONG, 0)
236 ZEND_END_ARG_INFO()
237 
238 #define arginfo_class_DateTimeInterface_getTimestamp arginfo_class_DateTimeInterface_getOffset
239 
240 #define arginfo_class_DateTimeInterface_getMicrosecond arginfo_time
241 
242 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_OBJ_INFO_EX(arginfo_class_DateTimeInterface_diff, 0, 1, DateInterval, 0)
243 	ZEND_ARG_OBJ_INFO(0, targetObject, DateTimeInterface, 0)
244 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, absolute, _IS_BOOL, 0, "false")
245 ZEND_END_ARG_INFO()
246 
247 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_DateTimeInterface___wakeup, 0, 0, IS_VOID, 0)
248 ZEND_END_ARG_INFO()
249 
250 #define arginfo_class_DateTimeInterface___serialize arginfo_timezone_abbreviations_list
251 
252 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_DateTimeInterface___unserialize, 0, 1, IS_VOID, 0)
253 	ZEND_ARG_TYPE_INFO(0, data, IS_ARRAY, 0)
254 ZEND_END_ARG_INFO()
255 
256 ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DateTime___construct, 0, 0, 0)
257 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, datetime, IS_STRING, 0, "\"now\"")
258 	ZEND_ARG_OBJ_INFO_WITH_DEFAULT_VALUE(0, timezone, DateTimeZone, 1, "null")
259 ZEND_END_ARG_INFO()
260 
261 #define arginfo_class_DateTime___serialize arginfo_timezone_abbreviations_list
262 
263 #define arginfo_class_DateTime___unserialize arginfo_class_DateTimeInterface___unserialize
264 
265 #define arginfo_class_DateTime___wakeup arginfo_class_DateTimeInterface___wakeup
266 
267 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_OBJ_INFO_EX(arginfo_class_DateTime___set_state, 0, 1, DateTime, 0)
268 	ZEND_ARG_TYPE_INFO(0, array, IS_ARRAY, 0)
269 ZEND_END_ARG_INFO()
270 
271 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_DateTime_createFromImmutable, 0, 1, IS_STATIC, 0)
272 	ZEND_ARG_OBJ_INFO(0, object, DateTimeImmutable, 0)
273 ZEND_END_ARG_INFO()
274 
275 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_class_DateTime_createFromInterface, 0, 1, DateTime, 0)
276 	ZEND_ARG_OBJ_INFO(0, object, DateTimeInterface, 0)
277 ZEND_END_ARG_INFO()
278 
279 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_DateTime_createFromFormat, 0, 2, DateTime, MAY_BE_FALSE)
280 	ZEND_ARG_TYPE_INFO(0, format, IS_STRING, 0)
281 	ZEND_ARG_TYPE_INFO(0, datetime, IS_STRING, 0)
282 	ZEND_ARG_OBJ_INFO_WITH_DEFAULT_VALUE(0, timezone, DateTimeZone, 1, "null")
283 ZEND_END_ARG_INFO()
284 
285 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_DateTime_createFromTimestamp, 0, 1, IS_STATIC, 0)
286 	ZEND_ARG_TYPE_MASK(0, timestamp, MAY_BE_LONG|MAY_BE_DOUBLE, NULL)
287 ZEND_END_ARG_INFO()
288 
289 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_MASK_EX(arginfo_class_DateTime_getLastErrors, 0, 0, MAY_BE_ARRAY|MAY_BE_FALSE)
290 ZEND_END_ARG_INFO()
291 
292 #define arginfo_class_DateTime_format arginfo_class_DateTimeInterface_format
293 
294 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_OBJ_INFO_EX(arginfo_class_DateTime_modify, 0, 1, DateTime, 0)
295 	ZEND_ARG_TYPE_INFO(0, modifier, IS_STRING, 0)
296 ZEND_END_ARG_INFO()
297 
298 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_OBJ_INFO_EX(arginfo_class_DateTime_add, 0, 1, DateTime, 0)
299 	ZEND_ARG_OBJ_INFO(0, interval, DateInterval, 0)
300 ZEND_END_ARG_INFO()
301 
302 #define arginfo_class_DateTime_sub arginfo_class_DateTime_add
303 
304 #define arginfo_class_DateTime_getTimezone arginfo_class_DateTimeInterface_getTimezone
305 
306 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_OBJ_INFO_EX(arginfo_class_DateTime_setTimezone, 0, 1, DateTime, 0)
307 	ZEND_ARG_OBJ_INFO(0, timezone, DateTimeZone, 0)
308 ZEND_END_ARG_INFO()
309 
310 #define arginfo_class_DateTime_getOffset arginfo_class_DateTimeInterface_getOffset
311 
312 #define arginfo_class_DateTime_getMicrosecond arginfo_time
313 
314 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_OBJ_INFO_EX(arginfo_class_DateTime_setTime, 0, 2, DateTime, 0)
315 	ZEND_ARG_TYPE_INFO(0, hour, IS_LONG, 0)
316 	ZEND_ARG_TYPE_INFO(0, minute, IS_LONG, 0)
317 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, second, IS_LONG, 0, "0")
318 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, microsecond, IS_LONG, 0, "0")
319 ZEND_END_ARG_INFO()
320 
321 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_OBJ_INFO_EX(arginfo_class_DateTime_setDate, 0, 3, DateTime, 0)
322 	ZEND_ARG_TYPE_INFO(0, year, IS_LONG, 0)
323 	ZEND_ARG_TYPE_INFO(0, month, IS_LONG, 0)
324 	ZEND_ARG_TYPE_INFO(0, day, IS_LONG, 0)
325 ZEND_END_ARG_INFO()
326 
327 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_OBJ_INFO_EX(arginfo_class_DateTime_setISODate, 0, 2, DateTime, 0)
328 	ZEND_ARG_TYPE_INFO(0, year, IS_LONG, 0)
329 	ZEND_ARG_TYPE_INFO(0, week, IS_LONG, 0)
330 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, dayOfWeek, IS_LONG, 0, "1")
331 ZEND_END_ARG_INFO()
332 
333 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_OBJ_INFO_EX(arginfo_class_DateTime_setTimestamp, 0, 1, DateTime, 0)
334 	ZEND_ARG_TYPE_INFO(0, timestamp, IS_LONG, 0)
335 ZEND_END_ARG_INFO()
336 
337 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_DateTime_setMicrosecond, 0, 1, IS_STATIC, 0)
338 	ZEND_ARG_TYPE_INFO(0, microsecond, IS_LONG, 0)
339 ZEND_END_ARG_INFO()
340 
341 #define arginfo_class_DateTime_getTimestamp arginfo_class_DateTimeInterface_getOffset
342 
343 #define arginfo_class_DateTime_diff arginfo_class_DateTimeInterface_diff
344 
345 #define arginfo_class_DateTimeImmutable___construct arginfo_class_DateTime___construct
346 
347 #define arginfo_class_DateTimeImmutable___serialize arginfo_timezone_abbreviations_list
348 
349 #define arginfo_class_DateTimeImmutable___unserialize arginfo_class_DateTimeInterface___unserialize
350 
351 #define arginfo_class_DateTimeImmutable___wakeup arginfo_class_DateTimeInterface___wakeup
352 
353 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_OBJ_INFO_EX(arginfo_class_DateTimeImmutable___set_state, 0, 1, DateTimeImmutable, 0)
354 	ZEND_ARG_TYPE_INFO(0, array, IS_ARRAY, 0)
355 ZEND_END_ARG_INFO()
356 
357 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_DateTimeImmutable_createFromFormat, 0, 2, DateTimeImmutable, MAY_BE_FALSE)
358 	ZEND_ARG_TYPE_INFO(0, format, IS_STRING, 0)
359 	ZEND_ARG_TYPE_INFO(0, datetime, IS_STRING, 0)
360 	ZEND_ARG_OBJ_INFO_WITH_DEFAULT_VALUE(0, timezone, DateTimeZone, 1, "null")
361 ZEND_END_ARG_INFO()
362 
363 #define arginfo_class_DateTimeImmutable_createFromTimestamp arginfo_class_DateTime_createFromTimestamp
364 
365 #define arginfo_class_DateTimeImmutable_getLastErrors arginfo_class_DateTime_getLastErrors
366 
367 #define arginfo_class_DateTimeImmutable_format arginfo_class_DateTimeInterface_format
368 
369 #define arginfo_class_DateTimeImmutable_getTimezone arginfo_class_DateTimeInterface_getTimezone
370 
371 #define arginfo_class_DateTimeImmutable_getOffset arginfo_class_DateTimeInterface_getOffset
372 
373 #define arginfo_class_DateTimeImmutable_getTimestamp arginfo_class_DateTimeInterface_getOffset
374 
375 #define arginfo_class_DateTimeImmutable_getMicrosecond arginfo_time
376 
377 #define arginfo_class_DateTimeImmutable_diff arginfo_class_DateTimeInterface_diff
378 
379 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_OBJ_INFO_EX(arginfo_class_DateTimeImmutable_modify, 0, 1, DateTimeImmutable, 0)
380 	ZEND_ARG_TYPE_INFO(0, modifier, IS_STRING, 0)
381 ZEND_END_ARG_INFO()
382 
383 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_OBJ_INFO_EX(arginfo_class_DateTimeImmutable_add, 0, 1, DateTimeImmutable, 0)
384 	ZEND_ARG_OBJ_INFO(0, interval, DateInterval, 0)
385 ZEND_END_ARG_INFO()
386 
387 #define arginfo_class_DateTimeImmutable_sub arginfo_class_DateTimeImmutable_add
388 
389 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_OBJ_INFO_EX(arginfo_class_DateTimeImmutable_setTimezone, 0, 1, DateTimeImmutable, 0)
390 	ZEND_ARG_OBJ_INFO(0, timezone, DateTimeZone, 0)
391 ZEND_END_ARG_INFO()
392 
393 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_OBJ_INFO_EX(arginfo_class_DateTimeImmutable_setTime, 0, 2, DateTimeImmutable, 0)
394 	ZEND_ARG_TYPE_INFO(0, hour, IS_LONG, 0)
395 	ZEND_ARG_TYPE_INFO(0, minute, IS_LONG, 0)
396 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, second, IS_LONG, 0, "0")
397 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, microsecond, IS_LONG, 0, "0")
398 ZEND_END_ARG_INFO()
399 
400 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_OBJ_INFO_EX(arginfo_class_DateTimeImmutable_setDate, 0, 3, DateTimeImmutable, 0)
401 	ZEND_ARG_TYPE_INFO(0, year, IS_LONG, 0)
402 	ZEND_ARG_TYPE_INFO(0, month, IS_LONG, 0)
403 	ZEND_ARG_TYPE_INFO(0, day, IS_LONG, 0)
404 ZEND_END_ARG_INFO()
405 
406 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_OBJ_INFO_EX(arginfo_class_DateTimeImmutable_setISODate, 0, 2, DateTimeImmutable, 0)
407 	ZEND_ARG_TYPE_INFO(0, year, IS_LONG, 0)
408 	ZEND_ARG_TYPE_INFO(0, week, IS_LONG, 0)
409 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, dayOfWeek, IS_LONG, 0, "1")
410 ZEND_END_ARG_INFO()
411 
412 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_OBJ_INFO_EX(arginfo_class_DateTimeImmutable_setTimestamp, 0, 1, DateTimeImmutable, 0)
413 	ZEND_ARG_TYPE_INFO(0, timestamp, IS_LONG, 0)
414 ZEND_END_ARG_INFO()
415 
416 #define arginfo_class_DateTimeImmutable_setMicrosecond arginfo_class_DateTime_setMicrosecond
417 
418 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_DateTimeImmutable_createFromMutable, 0, 1, IS_STATIC, 0)
419 	ZEND_ARG_OBJ_INFO(0, object, DateTime, 0)
420 ZEND_END_ARG_INFO()
421 
422 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_class_DateTimeImmutable_createFromInterface, 0, 1, DateTimeImmutable, 0)
423 	ZEND_ARG_OBJ_INFO(0, object, DateTimeInterface, 0)
424 ZEND_END_ARG_INFO()
425 
426 ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DateTimeZone___construct, 0, 0, 1)
427 	ZEND_ARG_TYPE_INFO(0, timezone, IS_STRING, 0)
428 ZEND_END_ARG_INFO()
429 
430 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_DateTimeZone_getName, 0, 0, IS_STRING, 0)
431 ZEND_END_ARG_INFO()
432 
433 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_DateTimeZone_getOffset, 0, 1, IS_LONG, 0)
434 	ZEND_ARG_OBJ_INFO(0, datetime, DateTimeInterface, 0)
435 ZEND_END_ARG_INFO()
436 
437 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_MASK_EX(arginfo_class_DateTimeZone_getTransitions, 0, 0, MAY_BE_ARRAY|MAY_BE_FALSE)
438 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, timestampBegin, IS_LONG, 0, "PHP_INT_MIN")
439 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, timestampEnd, IS_LONG, 0, "PHP_INT_MAX")
440 ZEND_END_ARG_INFO()
441 
442 #define arginfo_class_DateTimeZone_getLocation arginfo_class_DateTime_getLastErrors
443 
444 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_DateTimeZone_listAbbreviations, 0, 0, IS_ARRAY, 0)
445 ZEND_END_ARG_INFO()
446 
447 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_DateTimeZone_listIdentifiers, 0, 0, IS_ARRAY, 0)
448 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, timezoneGroup, IS_LONG, 0, "DateTimeZone::ALL")
449 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, countryCode, IS_STRING, 1, "null")
450 ZEND_END_ARG_INFO()
451 
452 #define arginfo_class_DateTimeZone___serialize arginfo_timezone_abbreviations_list
453 
454 #define arginfo_class_DateTimeZone___unserialize arginfo_class_DateTimeInterface___unserialize
455 
456 #define arginfo_class_DateTimeZone___wakeup arginfo_class_DateTimeInterface___wakeup
457 
458 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_OBJ_INFO_EX(arginfo_class_DateTimeZone___set_state, 0, 1, DateTimeZone, 0)
459 	ZEND_ARG_TYPE_INFO(0, array, IS_ARRAY, 0)
460 ZEND_END_ARG_INFO()
461 
462 ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DateInterval___construct, 0, 0, 1)
463 	ZEND_ARG_TYPE_INFO(0, duration, IS_STRING, 0)
464 ZEND_END_ARG_INFO()
465 
466 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_OBJ_INFO_EX(arginfo_class_DateInterval_createFromDateString, 0, 1, DateInterval, 0)
467 	ZEND_ARG_TYPE_INFO(0, datetime, IS_STRING, 0)
468 ZEND_END_ARG_INFO()
469 
470 #define arginfo_class_DateInterval_format arginfo_class_DateTimeInterface_format
471 
472 #define arginfo_class_DateInterval___serialize arginfo_timezone_abbreviations_list
473 
474 #define arginfo_class_DateInterval___unserialize arginfo_class_DateTimeInterface___unserialize
475 
476 #define arginfo_class_DateInterval___wakeup arginfo_class_DateTimeInterface___wakeup
477 
478 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_OBJ_INFO_EX(arginfo_class_DateInterval___set_state, 0, 1, DateInterval, 0)
479 	ZEND_ARG_TYPE_INFO(0, array, IS_ARRAY, 0)
480 ZEND_END_ARG_INFO()
481 
482 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_DatePeriod_createFromISO8601String, 0, 1, IS_STATIC, 0)
483 	ZEND_ARG_TYPE_INFO(0, specification, IS_STRING, 0)
484 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, options, IS_LONG, 0, "0")
485 ZEND_END_ARG_INFO()
486 
487 ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DatePeriod___construct, 0, 0, 1)
488 	ZEND_ARG_INFO(0, start)
489 	ZEND_ARG_INFO(0, interval)
490 	ZEND_ARG_INFO(0, end)
491 	ZEND_ARG_INFO(0, options)
492 ZEND_END_ARG_INFO()
493 
494 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_OBJ_INFO_EX(arginfo_class_DatePeriod_getStartDate, 0, 0, DateTimeInterface, 0)
495 ZEND_END_ARG_INFO()
496 
497 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_OBJ_INFO_EX(arginfo_class_DatePeriod_getEndDate, 0, 0, DateTimeInterface, 1)
498 ZEND_END_ARG_INFO()
499 
500 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_OBJ_INFO_EX(arginfo_class_DatePeriod_getDateInterval, 0, 0, DateInterval, 0)
501 ZEND_END_ARG_INFO()
502 
503 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_DatePeriod_getRecurrences, 0, 0, IS_LONG, 1)
504 ZEND_END_ARG_INFO()
505 
506 #define arginfo_class_DatePeriod___serialize arginfo_timezone_abbreviations_list
507 
508 #define arginfo_class_DatePeriod___unserialize arginfo_class_DateTimeInterface___unserialize
509 
510 #define arginfo_class_DatePeriod___wakeup arginfo_class_DateTimeInterface___wakeup
511 
512 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_OBJ_INFO_EX(arginfo_class_DatePeriod___set_state, 0, 1, DatePeriod, 0)
513 	ZEND_ARG_TYPE_INFO(0, array, IS_ARRAY, 0)
514 ZEND_END_ARG_INFO()
515 
516 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_class_DatePeriod_getIterator, 0, 0, Iterator, 0)
517 ZEND_END_ARG_INFO()
518 
519 ZEND_FUNCTION(strtotime);
520 ZEND_FUNCTION(date);
521 ZEND_FUNCTION(idate);
522 ZEND_FUNCTION(gmdate);
523 ZEND_FUNCTION(mktime);
524 ZEND_FUNCTION(gmmktime);
525 ZEND_FUNCTION(checkdate);
526 ZEND_FUNCTION(strftime);
527 ZEND_FUNCTION(gmstrftime);
528 ZEND_FUNCTION(time);
529 ZEND_FUNCTION(localtime);
530 ZEND_FUNCTION(getdate);
531 ZEND_FUNCTION(date_create);
532 ZEND_FUNCTION(date_create_immutable);
533 ZEND_FUNCTION(date_create_from_format);
534 ZEND_FUNCTION(date_create_immutable_from_format);
535 ZEND_FUNCTION(date_parse);
536 ZEND_FUNCTION(date_parse_from_format);
537 ZEND_FUNCTION(date_get_last_errors);
538 ZEND_FUNCTION(date_format);
539 ZEND_FUNCTION(date_modify);
540 ZEND_FUNCTION(date_add);
541 ZEND_FUNCTION(date_sub);
542 ZEND_FUNCTION(date_timezone_get);
543 ZEND_FUNCTION(date_timezone_set);
544 ZEND_FUNCTION(date_offset_get);
545 ZEND_FUNCTION(date_diff);
546 ZEND_FUNCTION(date_time_set);
547 ZEND_FUNCTION(date_date_set);
548 ZEND_FUNCTION(date_isodate_set);
549 ZEND_FUNCTION(date_timestamp_set);
550 ZEND_FUNCTION(date_timestamp_get);
551 ZEND_FUNCTION(timezone_open);
552 ZEND_FUNCTION(timezone_name_get);
553 ZEND_FUNCTION(timezone_name_from_abbr);
554 ZEND_FUNCTION(timezone_offset_get);
555 ZEND_FUNCTION(timezone_transitions_get);
556 ZEND_FUNCTION(timezone_location_get);
557 ZEND_FUNCTION(timezone_identifiers_list);
558 ZEND_FUNCTION(timezone_abbreviations_list);
559 ZEND_FUNCTION(timezone_version_get);
560 ZEND_FUNCTION(date_interval_create_from_date_string);
561 ZEND_FUNCTION(date_interval_format);
562 ZEND_FUNCTION(date_default_timezone_set);
563 ZEND_FUNCTION(date_default_timezone_get);
564 ZEND_FUNCTION(date_sunrise);
565 ZEND_FUNCTION(date_sunset);
566 ZEND_FUNCTION(date_sun_info);
567 ZEND_METHOD(DateTime, __construct);
568 ZEND_METHOD(DateTime, __serialize);
569 ZEND_METHOD(DateTime, __unserialize);
570 ZEND_METHOD(DateTime, __wakeup);
571 ZEND_METHOD(DateTime, __set_state);
572 ZEND_METHOD(DateTime, createFromImmutable);
573 ZEND_METHOD(DateTime, createFromInterface);
574 ZEND_METHOD(DateTime, createFromTimestamp);
575 ZEND_METHOD(DateTime, modify);
576 ZEND_METHOD(DateTime, sub);
577 ZEND_METHOD(DateTime, getMicrosecond);
578 ZEND_METHOD(DateTime, setMicrosecond);
579 ZEND_METHOD(DateTimeImmutable, __construct);
580 ZEND_METHOD(DateTimeImmutable, __serialize);
581 ZEND_METHOD(DateTimeImmutable, __unserialize);
582 ZEND_METHOD(DateTimeImmutable, __wakeup);
583 ZEND_METHOD(DateTimeImmutable, __set_state);
584 ZEND_METHOD(DateTimeImmutable, createFromTimestamp);
585 ZEND_METHOD(DateTimeImmutable, modify);
586 ZEND_METHOD(DateTimeImmutable, add);
587 ZEND_METHOD(DateTimeImmutable, sub);
588 ZEND_METHOD(DateTimeImmutable, setTimezone);
589 ZEND_METHOD(DateTimeImmutable, setTime);
590 ZEND_METHOD(DateTimeImmutable, setDate);
591 ZEND_METHOD(DateTimeImmutable, setISODate);
592 ZEND_METHOD(DateTimeImmutable, setTimestamp);
593 ZEND_METHOD(DateTimeImmutable, setMicrosecond);
594 ZEND_METHOD(DateTimeImmutable, createFromMutable);
595 ZEND_METHOD(DateTimeImmutable, createFromInterface);
596 ZEND_METHOD(DateTimeZone, __construct);
597 ZEND_METHOD(DateTimeZone, __serialize);
598 ZEND_METHOD(DateTimeZone, __unserialize);
599 ZEND_METHOD(DateTimeZone, __wakeup);
600 ZEND_METHOD(DateTimeZone, __set_state);
601 ZEND_METHOD(DateInterval, __construct);
602 ZEND_METHOD(DateInterval, createFromDateString);
603 ZEND_METHOD(DateInterval, __serialize);
604 ZEND_METHOD(DateInterval, __unserialize);
605 ZEND_METHOD(DateInterval, __wakeup);
606 ZEND_METHOD(DateInterval, __set_state);
607 ZEND_METHOD(DatePeriod, createFromISO8601String);
608 ZEND_METHOD(DatePeriod, __construct);
609 ZEND_METHOD(DatePeriod, getStartDate);
610 ZEND_METHOD(DatePeriod, getEndDate);
611 ZEND_METHOD(DatePeriod, getDateInterval);
612 ZEND_METHOD(DatePeriod, getRecurrences);
613 ZEND_METHOD(DatePeriod, __serialize);
614 ZEND_METHOD(DatePeriod, __unserialize);
615 ZEND_METHOD(DatePeriod, __wakeup);
616 ZEND_METHOD(DatePeriod, __set_state);
617 ZEND_METHOD(DatePeriod, getIterator);
618 
619 static const zend_function_entry ext_functions[] = {
620 	ZEND_FE(strtotime, arginfo_strtotime)
621 	ZEND_FE(date, arginfo_date)
622 	ZEND_FE(idate, arginfo_idate)
623 	ZEND_FE(gmdate, arginfo_gmdate)
624 	ZEND_FE(mktime, arginfo_mktime)
625 	ZEND_FE(gmmktime, arginfo_gmmktime)
626 	ZEND_FE(checkdate, arginfo_checkdate)
627 	ZEND_RAW_FENTRY("strftime", zif_strftime, arginfo_strftime, ZEND_ACC_DEPRECATED, NULL, NULL)
628 	ZEND_RAW_FENTRY("gmstrftime", zif_gmstrftime, arginfo_gmstrftime, ZEND_ACC_DEPRECATED, NULL, NULL)
629 	ZEND_FE(time, arginfo_time)
630 	ZEND_FE(localtime, arginfo_localtime)
631 	ZEND_FE(getdate, arginfo_getdate)
632 	ZEND_FE(date_create, arginfo_date_create)
633 	ZEND_FE(date_create_immutable, arginfo_date_create_immutable)
634 	ZEND_FE(date_create_from_format, arginfo_date_create_from_format)
635 	ZEND_FE(date_create_immutable_from_format, arginfo_date_create_immutable_from_format)
636 	ZEND_FE(date_parse, arginfo_date_parse)
637 	ZEND_FE(date_parse_from_format, arginfo_date_parse_from_format)
638 	ZEND_FE(date_get_last_errors, arginfo_date_get_last_errors)
639 	ZEND_FE(date_format, arginfo_date_format)
640 	ZEND_FE(date_modify, arginfo_date_modify)
641 	ZEND_FE(date_add, arginfo_date_add)
642 	ZEND_FE(date_sub, arginfo_date_sub)
643 	ZEND_FE(date_timezone_get, arginfo_date_timezone_get)
644 	ZEND_FE(date_timezone_set, arginfo_date_timezone_set)
645 	ZEND_FE(date_offset_get, arginfo_date_offset_get)
646 	ZEND_FE(date_diff, arginfo_date_diff)
647 	ZEND_FE(date_time_set, arginfo_date_time_set)
648 	ZEND_FE(date_date_set, arginfo_date_date_set)
649 	ZEND_FE(date_isodate_set, arginfo_date_isodate_set)
650 	ZEND_FE(date_timestamp_set, arginfo_date_timestamp_set)
651 	ZEND_FE(date_timestamp_get, arginfo_date_timestamp_get)
652 	ZEND_FE(timezone_open, arginfo_timezone_open)
653 	ZEND_FE(timezone_name_get, arginfo_timezone_name_get)
654 	ZEND_FE(timezone_name_from_abbr, arginfo_timezone_name_from_abbr)
655 	ZEND_FE(timezone_offset_get, arginfo_timezone_offset_get)
656 	ZEND_FE(timezone_transitions_get, arginfo_timezone_transitions_get)
657 	ZEND_FE(timezone_location_get, arginfo_timezone_location_get)
658 	ZEND_FE(timezone_identifiers_list, arginfo_timezone_identifiers_list)
659 	ZEND_FE(timezone_abbreviations_list, arginfo_timezone_abbreviations_list)
660 	ZEND_FE(timezone_version_get, arginfo_timezone_version_get)
661 	ZEND_FE(date_interval_create_from_date_string, arginfo_date_interval_create_from_date_string)
662 	ZEND_FE(date_interval_format, arginfo_date_interval_format)
663 	ZEND_FE(date_default_timezone_set, arginfo_date_default_timezone_set)
664 	ZEND_FE(date_default_timezone_get, arginfo_date_default_timezone_get)
665 	ZEND_RAW_FENTRY("date_sunrise", zif_date_sunrise, arginfo_date_sunrise, ZEND_ACC_DEPRECATED, NULL, NULL)
666 	ZEND_RAW_FENTRY("date_sunset", zif_date_sunset, arginfo_date_sunset, ZEND_ACC_DEPRECATED, NULL, NULL)
667 	ZEND_FE(date_sun_info, arginfo_date_sun_info)
668 	ZEND_FE_END
669 };
670 
671 static const zend_function_entry class_DateTimeInterface_methods[] = {
672 	ZEND_RAW_FENTRY("format", NULL, arginfo_class_DateTimeInterface_format, ZEND_ACC_PUBLIC|ZEND_ACC_ABSTRACT, NULL, NULL)
673 	ZEND_RAW_FENTRY("getTimezone", NULL, arginfo_class_DateTimeInterface_getTimezone, ZEND_ACC_PUBLIC|ZEND_ACC_ABSTRACT, NULL, NULL)
674 	ZEND_RAW_FENTRY("getOffset", NULL, arginfo_class_DateTimeInterface_getOffset, ZEND_ACC_PUBLIC|ZEND_ACC_ABSTRACT, NULL, NULL)
675 	ZEND_RAW_FENTRY("getTimestamp", NULL, arginfo_class_DateTimeInterface_getTimestamp, ZEND_ACC_PUBLIC|ZEND_ACC_ABSTRACT, NULL, NULL)
676 	ZEND_RAW_FENTRY("getMicrosecond", NULL, arginfo_class_DateTimeInterface_getMicrosecond, ZEND_ACC_PUBLIC|ZEND_ACC_ABSTRACT, NULL, NULL)
677 	ZEND_RAW_FENTRY("diff", NULL, arginfo_class_DateTimeInterface_diff, ZEND_ACC_PUBLIC|ZEND_ACC_ABSTRACT, NULL, NULL)
678 	ZEND_RAW_FENTRY("__wakeup", NULL, arginfo_class_DateTimeInterface___wakeup, ZEND_ACC_PUBLIC|ZEND_ACC_ABSTRACT, NULL, NULL)
679 	ZEND_RAW_FENTRY("__serialize", NULL, arginfo_class_DateTimeInterface___serialize, ZEND_ACC_PUBLIC|ZEND_ACC_ABSTRACT, NULL, NULL)
680 	ZEND_RAW_FENTRY("__unserialize", NULL, arginfo_class_DateTimeInterface___unserialize, ZEND_ACC_PUBLIC|ZEND_ACC_ABSTRACT, NULL, NULL)
681 	ZEND_FE_END
682 };
683 
684 static const zend_function_entry class_DateTime_methods[] = {
685 	ZEND_ME(DateTime, __construct, arginfo_class_DateTime___construct, ZEND_ACC_PUBLIC)
686 	ZEND_ME(DateTime, __serialize, arginfo_class_DateTime___serialize, ZEND_ACC_PUBLIC)
687 	ZEND_ME(DateTime, __unserialize, arginfo_class_DateTime___unserialize, ZEND_ACC_PUBLIC)
688 	ZEND_ME(DateTime, __wakeup, arginfo_class_DateTime___wakeup, ZEND_ACC_PUBLIC)
689 	ZEND_ME(DateTime, __set_state, arginfo_class_DateTime___set_state, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC)
690 	ZEND_ME(DateTime, createFromImmutable, arginfo_class_DateTime_createFromImmutable, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC)
691 	ZEND_ME(DateTime, createFromInterface, arginfo_class_DateTime_createFromInterface, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC)
692 	ZEND_RAW_FENTRY("createFromFormat", zif_date_create_from_format, arginfo_class_DateTime_createFromFormat, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC, NULL, NULL)
693 	ZEND_ME(DateTime, createFromTimestamp, arginfo_class_DateTime_createFromTimestamp, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC)
694 	ZEND_RAW_FENTRY("getLastErrors", zif_date_get_last_errors, arginfo_class_DateTime_getLastErrors, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC, NULL, NULL)
695 	ZEND_RAW_FENTRY("format", zif_date_format, arginfo_class_DateTime_format, ZEND_ACC_PUBLIC, NULL, NULL)
696 	ZEND_ME(DateTime, modify, arginfo_class_DateTime_modify, ZEND_ACC_PUBLIC)
697 	ZEND_RAW_FENTRY("add", zif_date_add, arginfo_class_DateTime_add, ZEND_ACC_PUBLIC, NULL, NULL)
698 	ZEND_ME(DateTime, sub, arginfo_class_DateTime_sub, ZEND_ACC_PUBLIC)
699 	ZEND_RAW_FENTRY("getTimezone", zif_date_timezone_get, arginfo_class_DateTime_getTimezone, ZEND_ACC_PUBLIC, NULL, NULL)
700 	ZEND_RAW_FENTRY("setTimezone", zif_date_timezone_set, arginfo_class_DateTime_setTimezone, ZEND_ACC_PUBLIC, NULL, NULL)
701 	ZEND_RAW_FENTRY("getOffset", zif_date_offset_get, arginfo_class_DateTime_getOffset, ZEND_ACC_PUBLIC, NULL, NULL)
702 	ZEND_ME(DateTime, getMicrosecond, arginfo_class_DateTime_getMicrosecond, ZEND_ACC_PUBLIC)
703 	ZEND_RAW_FENTRY("setTime", zif_date_time_set, arginfo_class_DateTime_setTime, ZEND_ACC_PUBLIC, NULL, NULL)
704 	ZEND_RAW_FENTRY("setDate", zif_date_date_set, arginfo_class_DateTime_setDate, ZEND_ACC_PUBLIC, NULL, NULL)
705 	ZEND_RAW_FENTRY("setISODate", zif_date_isodate_set, arginfo_class_DateTime_setISODate, ZEND_ACC_PUBLIC, NULL, NULL)
706 	ZEND_RAW_FENTRY("setTimestamp", zif_date_timestamp_set, arginfo_class_DateTime_setTimestamp, ZEND_ACC_PUBLIC, NULL, NULL)
707 	ZEND_ME(DateTime, setMicrosecond, arginfo_class_DateTime_setMicrosecond, ZEND_ACC_PUBLIC)
708 	ZEND_RAW_FENTRY("getTimestamp", zif_date_timestamp_get, arginfo_class_DateTime_getTimestamp, ZEND_ACC_PUBLIC, NULL, NULL)
709 	ZEND_RAW_FENTRY("diff", zif_date_diff, arginfo_class_DateTime_diff, ZEND_ACC_PUBLIC, NULL, NULL)
710 	ZEND_FE_END
711 };
712 
713 static const zend_function_entry class_DateTimeImmutable_methods[] = {
714 	ZEND_ME(DateTimeImmutable, __construct, arginfo_class_DateTimeImmutable___construct, ZEND_ACC_PUBLIC)
715 	ZEND_ME(DateTimeImmutable, __serialize, arginfo_class_DateTimeImmutable___serialize, ZEND_ACC_PUBLIC)
716 	ZEND_ME(DateTimeImmutable, __unserialize, arginfo_class_DateTimeImmutable___unserialize, ZEND_ACC_PUBLIC)
717 	ZEND_ME(DateTimeImmutable, __wakeup, arginfo_class_DateTimeImmutable___wakeup, ZEND_ACC_PUBLIC)
718 	ZEND_ME(DateTimeImmutable, __set_state, arginfo_class_DateTimeImmutable___set_state, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC)
719 	ZEND_RAW_FENTRY("createFromFormat", zif_date_create_immutable_from_format, arginfo_class_DateTimeImmutable_createFromFormat, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC, NULL, NULL)
720 	ZEND_ME(DateTimeImmutable, createFromTimestamp, arginfo_class_DateTimeImmutable_createFromTimestamp, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC)
721 	ZEND_RAW_FENTRY("getLastErrors", zif_date_get_last_errors, arginfo_class_DateTimeImmutable_getLastErrors, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC, NULL, NULL)
722 	ZEND_RAW_FENTRY("format", zif_date_format, arginfo_class_DateTimeImmutable_format, ZEND_ACC_PUBLIC, NULL, NULL)
723 	ZEND_RAW_FENTRY("getTimezone", zif_date_timezone_get, arginfo_class_DateTimeImmutable_getTimezone, ZEND_ACC_PUBLIC, NULL, NULL)
724 	ZEND_RAW_FENTRY("getOffset", zif_date_offset_get, arginfo_class_DateTimeImmutable_getOffset, ZEND_ACC_PUBLIC, NULL, NULL)
725 	ZEND_RAW_FENTRY("getTimestamp", zif_date_timestamp_get, arginfo_class_DateTimeImmutable_getTimestamp, ZEND_ACC_PUBLIC, NULL, NULL)
726 	ZEND_RAW_FENTRY("getMicrosecond", zim_DateTime_getMicrosecond, arginfo_class_DateTimeImmutable_getMicrosecond, ZEND_ACC_PUBLIC, NULL, NULL)
727 	ZEND_RAW_FENTRY("diff", zif_date_diff, arginfo_class_DateTimeImmutable_diff, ZEND_ACC_PUBLIC, NULL, NULL)
728 	ZEND_ME(DateTimeImmutable, modify, arginfo_class_DateTimeImmutable_modify, ZEND_ACC_PUBLIC)
729 	ZEND_ME(DateTimeImmutable, add, arginfo_class_DateTimeImmutable_add, ZEND_ACC_PUBLIC)
730 	ZEND_ME(DateTimeImmutable, sub, arginfo_class_DateTimeImmutable_sub, ZEND_ACC_PUBLIC)
731 	ZEND_ME(DateTimeImmutable, setTimezone, arginfo_class_DateTimeImmutable_setTimezone, ZEND_ACC_PUBLIC)
732 	ZEND_ME(DateTimeImmutable, setTime, arginfo_class_DateTimeImmutable_setTime, ZEND_ACC_PUBLIC)
733 	ZEND_ME(DateTimeImmutable, setDate, arginfo_class_DateTimeImmutable_setDate, ZEND_ACC_PUBLIC)
734 	ZEND_ME(DateTimeImmutable, setISODate, arginfo_class_DateTimeImmutable_setISODate, ZEND_ACC_PUBLIC)
735 	ZEND_ME(DateTimeImmutable, setTimestamp, arginfo_class_DateTimeImmutable_setTimestamp, ZEND_ACC_PUBLIC)
736 	ZEND_ME(DateTimeImmutable, setMicrosecond, arginfo_class_DateTimeImmutable_setMicrosecond, ZEND_ACC_PUBLIC)
737 	ZEND_ME(DateTimeImmutable, createFromMutable, arginfo_class_DateTimeImmutable_createFromMutable, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC)
738 	ZEND_ME(DateTimeImmutable, createFromInterface, arginfo_class_DateTimeImmutable_createFromInterface, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC)
739 	ZEND_FE_END
740 };
741 
742 static const zend_function_entry class_DateTimeZone_methods[] = {
743 	ZEND_ME(DateTimeZone, __construct, arginfo_class_DateTimeZone___construct, ZEND_ACC_PUBLIC)
744 	ZEND_RAW_FENTRY("getName", zif_timezone_name_get, arginfo_class_DateTimeZone_getName, ZEND_ACC_PUBLIC, NULL, NULL)
745 	ZEND_RAW_FENTRY("getOffset", zif_timezone_offset_get, arginfo_class_DateTimeZone_getOffset, ZEND_ACC_PUBLIC, NULL, NULL)
746 	ZEND_RAW_FENTRY("getTransitions", zif_timezone_transitions_get, arginfo_class_DateTimeZone_getTransitions, ZEND_ACC_PUBLIC, NULL, NULL)
747 	ZEND_RAW_FENTRY("getLocation", zif_timezone_location_get, arginfo_class_DateTimeZone_getLocation, ZEND_ACC_PUBLIC, NULL, NULL)
748 	ZEND_RAW_FENTRY("listAbbreviations", zif_timezone_abbreviations_list, arginfo_class_DateTimeZone_listAbbreviations, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC, NULL, NULL)
749 	ZEND_RAW_FENTRY("listIdentifiers", zif_timezone_identifiers_list, arginfo_class_DateTimeZone_listIdentifiers, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC, NULL, NULL)
750 	ZEND_ME(DateTimeZone, __serialize, arginfo_class_DateTimeZone___serialize, ZEND_ACC_PUBLIC)
751 	ZEND_ME(DateTimeZone, __unserialize, arginfo_class_DateTimeZone___unserialize, ZEND_ACC_PUBLIC)
752 	ZEND_ME(DateTimeZone, __wakeup, arginfo_class_DateTimeZone___wakeup, ZEND_ACC_PUBLIC)
753 	ZEND_ME(DateTimeZone, __set_state, arginfo_class_DateTimeZone___set_state, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC)
754 	ZEND_FE_END
755 };
756 
757 static const zend_function_entry class_DateInterval_methods[] = {
758 	ZEND_ME(DateInterval, __construct, arginfo_class_DateInterval___construct, ZEND_ACC_PUBLIC)
759 	ZEND_ME(DateInterval, createFromDateString, arginfo_class_DateInterval_createFromDateString, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC)
760 	ZEND_RAW_FENTRY("format", zif_date_interval_format, arginfo_class_DateInterval_format, ZEND_ACC_PUBLIC, NULL, NULL)
761 	ZEND_ME(DateInterval, __serialize, arginfo_class_DateInterval___serialize, ZEND_ACC_PUBLIC)
762 	ZEND_ME(DateInterval, __unserialize, arginfo_class_DateInterval___unserialize, ZEND_ACC_PUBLIC)
763 	ZEND_ME(DateInterval, __wakeup, arginfo_class_DateInterval___wakeup, ZEND_ACC_PUBLIC)
764 	ZEND_ME(DateInterval, __set_state, arginfo_class_DateInterval___set_state, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC)
765 	ZEND_FE_END
766 };
767 
768 static const zend_function_entry class_DatePeriod_methods[] = {
769 	ZEND_ME(DatePeriod, createFromISO8601String, arginfo_class_DatePeriod_createFromISO8601String, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC)
770 	ZEND_ME(DatePeriod, __construct, arginfo_class_DatePeriod___construct, ZEND_ACC_PUBLIC)
771 	ZEND_ME(DatePeriod, getStartDate, arginfo_class_DatePeriod_getStartDate, ZEND_ACC_PUBLIC)
772 	ZEND_ME(DatePeriod, getEndDate, arginfo_class_DatePeriod_getEndDate, ZEND_ACC_PUBLIC)
773 	ZEND_ME(DatePeriod, getDateInterval, arginfo_class_DatePeriod_getDateInterval, ZEND_ACC_PUBLIC)
774 	ZEND_ME(DatePeriod, getRecurrences, arginfo_class_DatePeriod_getRecurrences, ZEND_ACC_PUBLIC)
775 	ZEND_ME(DatePeriod, __serialize, arginfo_class_DatePeriod___serialize, ZEND_ACC_PUBLIC)
776 	ZEND_ME(DatePeriod, __unserialize, arginfo_class_DatePeriod___unserialize, ZEND_ACC_PUBLIC)
777 	ZEND_ME(DatePeriod, __wakeup, arginfo_class_DatePeriod___wakeup, ZEND_ACC_PUBLIC)
778 	ZEND_ME(DatePeriod, __set_state, arginfo_class_DatePeriod___set_state, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC)
779 	ZEND_ME(DatePeriod, getIterator, arginfo_class_DatePeriod_getIterator, ZEND_ACC_PUBLIC)
780 	ZEND_FE_END
781 };
782 
register_php_date_symbols(int module_number)783 static void register_php_date_symbols(int module_number)
784 {
785 	REGISTER_STRING_CONSTANT("DATE_ATOM", DATE_FORMAT_RFC3339, CONST_PERSISTENT);
786 	ZEND_ASSERT(strcmp(DATE_FORMAT_RFC3339, "Y-m-d\\TH:i:sP") == 0);
787 	REGISTER_STRING_CONSTANT("DATE_COOKIE", DATE_FORMAT_COOKIE, CONST_PERSISTENT);
788 	ZEND_ASSERT(strcmp(DATE_FORMAT_COOKIE, "l, d-M-Y H:i:s T") == 0);
789 	REGISTER_STRING_CONSTANT("DATE_ISO8601", DATE_FORMAT_ISO8601, CONST_PERSISTENT);
790 	ZEND_ASSERT(strcmp(DATE_FORMAT_ISO8601, "Y-m-d\\TH:i:sO") == 0);
791 	REGISTER_STRING_CONSTANT("DATE_ISO8601_EXPANDED", DATE_FORMAT_ISO8601_EXPANDED, CONST_PERSISTENT);
792 	ZEND_ASSERT(strcmp(DATE_FORMAT_ISO8601_EXPANDED, "X-m-d\\TH:i:sP") == 0);
793 	REGISTER_STRING_CONSTANT("DATE_RFC822", DATE_FORMAT_RFC822, CONST_PERSISTENT);
794 	ZEND_ASSERT(strcmp(DATE_FORMAT_RFC822, "D, d M y H:i:s O") == 0);
795 	REGISTER_STRING_CONSTANT("DATE_RFC850", DATE_FORMAT_RFC850, CONST_PERSISTENT);
796 	ZEND_ASSERT(strcmp(DATE_FORMAT_RFC850, "l, d-M-y H:i:s T") == 0);
797 	REGISTER_STRING_CONSTANT("DATE_RFC1036", DATE_FORMAT_RFC1036, CONST_PERSISTENT);
798 	ZEND_ASSERT(strcmp(DATE_FORMAT_RFC1036, "D, d M y H:i:s O") == 0);
799 	REGISTER_STRING_CONSTANT("DATE_RFC1123", DATE_FORMAT_RFC1123, CONST_PERSISTENT);
800 	ZEND_ASSERT(strcmp(DATE_FORMAT_RFC1123, "D, d M Y H:i:s O") == 0);
801 	REGISTER_STRING_CONSTANT("DATE_RFC7231", DATE_FORMAT_RFC7231, CONST_PERSISTENT);
802 	ZEND_ASSERT(strcmp(DATE_FORMAT_RFC7231, "D, d M Y H:i:s \\G\\M\\T") == 0);
803 	REGISTER_STRING_CONSTANT("DATE_RFC2822", DATE_FORMAT_RFC2822, CONST_PERSISTENT);
804 	ZEND_ASSERT(strcmp(DATE_FORMAT_RFC2822, "D, d M Y H:i:s O") == 0);
805 	REGISTER_STRING_CONSTANT("DATE_RFC3339", DATE_FORMAT_RFC3339, CONST_PERSISTENT);
806 	ZEND_ASSERT(strcmp(DATE_FORMAT_RFC3339, "Y-m-d\\TH:i:sP") == 0);
807 	REGISTER_STRING_CONSTANT("DATE_RFC3339_EXTENDED", DATE_FORMAT_RFC3339_EXTENDED, CONST_PERSISTENT);
808 	ZEND_ASSERT(strcmp(DATE_FORMAT_RFC3339_EXTENDED, "Y-m-d\\TH:i:s.vP") == 0);
809 	REGISTER_STRING_CONSTANT("DATE_RSS", DATE_FORMAT_RFC1123, CONST_PERSISTENT);
810 	REGISTER_STRING_CONSTANT("DATE_W3C", DATE_FORMAT_RFC3339, CONST_PERSISTENT);
811 	REGISTER_LONG_CONSTANT("SUNFUNCS_RET_TIMESTAMP", SUNFUNCS_RET_TIMESTAMP, CONST_PERSISTENT | CONST_DEPRECATED);
812 	REGISTER_LONG_CONSTANT("SUNFUNCS_RET_STRING", SUNFUNCS_RET_STRING, CONST_PERSISTENT | CONST_DEPRECATED);
813 	REGISTER_LONG_CONSTANT("SUNFUNCS_RET_DOUBLE", SUNFUNCS_RET_DOUBLE, CONST_PERSISTENT | CONST_DEPRECATED);
814 
815 
816 	zend_attribute *attribute_Deprecated_func_strftime_0 = zend_add_function_attribute(zend_hash_str_find_ptr(CG(function_table), "strftime", sizeof("strftime") - 1), ZSTR_KNOWN(ZEND_STR_DEPRECATED_CAPITALIZED), 2);
817 	zval attribute_Deprecated_func_strftime_0_arg0;
818 	zend_string *attribute_Deprecated_func_strftime_0_arg0_str = zend_string_init("8.1", strlen("8.1"), 1);
819 	ZVAL_STR(&attribute_Deprecated_func_strftime_0_arg0, attribute_Deprecated_func_strftime_0_arg0_str);
820 	ZVAL_COPY_VALUE(&attribute_Deprecated_func_strftime_0->args[0].value, &attribute_Deprecated_func_strftime_0_arg0);
821 	attribute_Deprecated_func_strftime_0->args[0].name = ZSTR_KNOWN(ZEND_STR_SINCE);
822 	zval attribute_Deprecated_func_strftime_0_arg1;
823 	zend_string *attribute_Deprecated_func_strftime_0_arg1_str = zend_string_init("use IntlDateFormatter::format() instead", strlen("use IntlDateFormatter::format() instead"), 1);
824 	ZVAL_STR(&attribute_Deprecated_func_strftime_0_arg1, attribute_Deprecated_func_strftime_0_arg1_str);
825 	ZVAL_COPY_VALUE(&attribute_Deprecated_func_strftime_0->args[1].value, &attribute_Deprecated_func_strftime_0_arg1);
826 	attribute_Deprecated_func_strftime_0->args[1].name = ZSTR_KNOWN(ZEND_STR_MESSAGE);
827 
828 	zend_attribute *attribute_Deprecated_func_gmstrftime_0 = zend_add_function_attribute(zend_hash_str_find_ptr(CG(function_table), "gmstrftime", sizeof("gmstrftime") - 1), ZSTR_KNOWN(ZEND_STR_DEPRECATED_CAPITALIZED), 2);
829 	zval attribute_Deprecated_func_gmstrftime_0_arg0;
830 	zend_string *attribute_Deprecated_func_gmstrftime_0_arg0_str = zend_string_init("8.1", strlen("8.1"), 1);
831 	ZVAL_STR(&attribute_Deprecated_func_gmstrftime_0_arg0, attribute_Deprecated_func_gmstrftime_0_arg0_str);
832 	ZVAL_COPY_VALUE(&attribute_Deprecated_func_gmstrftime_0->args[0].value, &attribute_Deprecated_func_gmstrftime_0_arg0);
833 	attribute_Deprecated_func_gmstrftime_0->args[0].name = ZSTR_KNOWN(ZEND_STR_SINCE);
834 	zval attribute_Deprecated_func_gmstrftime_0_arg1;
835 	zend_string *attribute_Deprecated_func_gmstrftime_0_arg1_str = zend_string_init("use IntlDateFormatter::format() instead", strlen("use IntlDateFormatter::format() instead"), 1);
836 	ZVAL_STR(&attribute_Deprecated_func_gmstrftime_0_arg1, attribute_Deprecated_func_gmstrftime_0_arg1_str);
837 	ZVAL_COPY_VALUE(&attribute_Deprecated_func_gmstrftime_0->args[1].value, &attribute_Deprecated_func_gmstrftime_0_arg1);
838 	attribute_Deprecated_func_gmstrftime_0->args[1].name = ZSTR_KNOWN(ZEND_STR_MESSAGE);
839 
840 	zend_attribute *attribute_Deprecated_func_date_sunrise_0 = zend_add_function_attribute(zend_hash_str_find_ptr(CG(function_table), "date_sunrise", sizeof("date_sunrise") - 1), ZSTR_KNOWN(ZEND_STR_DEPRECATED_CAPITALIZED), 2);
841 	zval attribute_Deprecated_func_date_sunrise_0_arg0;
842 	zend_string *attribute_Deprecated_func_date_sunrise_0_arg0_str = zend_string_init("8.1", strlen("8.1"), 1);
843 	ZVAL_STR(&attribute_Deprecated_func_date_sunrise_0_arg0, attribute_Deprecated_func_date_sunrise_0_arg0_str);
844 	ZVAL_COPY_VALUE(&attribute_Deprecated_func_date_sunrise_0->args[0].value, &attribute_Deprecated_func_date_sunrise_0_arg0);
845 	attribute_Deprecated_func_date_sunrise_0->args[0].name = ZSTR_KNOWN(ZEND_STR_SINCE);
846 	zval attribute_Deprecated_func_date_sunrise_0_arg1;
847 	zend_string *attribute_Deprecated_func_date_sunrise_0_arg1_str = zend_string_init("use date_sun_info() instead", strlen("use date_sun_info() instead"), 1);
848 	ZVAL_STR(&attribute_Deprecated_func_date_sunrise_0_arg1, attribute_Deprecated_func_date_sunrise_0_arg1_str);
849 	ZVAL_COPY_VALUE(&attribute_Deprecated_func_date_sunrise_0->args[1].value, &attribute_Deprecated_func_date_sunrise_0_arg1);
850 	attribute_Deprecated_func_date_sunrise_0->args[1].name = ZSTR_KNOWN(ZEND_STR_MESSAGE);
851 
852 	zend_attribute *attribute_Deprecated_func_date_sunset_0 = zend_add_function_attribute(zend_hash_str_find_ptr(CG(function_table), "date_sunset", sizeof("date_sunset") - 1), ZSTR_KNOWN(ZEND_STR_DEPRECATED_CAPITALIZED), 2);
853 	zval attribute_Deprecated_func_date_sunset_0_arg0;
854 	zend_string *attribute_Deprecated_func_date_sunset_0_arg0_str = zend_string_init("8.1", strlen("8.1"), 1);
855 	ZVAL_STR(&attribute_Deprecated_func_date_sunset_0_arg0, attribute_Deprecated_func_date_sunset_0_arg0_str);
856 	ZVAL_COPY_VALUE(&attribute_Deprecated_func_date_sunset_0->args[0].value, &attribute_Deprecated_func_date_sunset_0_arg0);
857 	attribute_Deprecated_func_date_sunset_0->args[0].name = ZSTR_KNOWN(ZEND_STR_SINCE);
858 	zval attribute_Deprecated_func_date_sunset_0_arg1;
859 	zend_string *attribute_Deprecated_func_date_sunset_0_arg1_str = zend_string_init("use date_sun_info() instead", strlen("use date_sun_info() instead"), 1);
860 	ZVAL_STR(&attribute_Deprecated_func_date_sunset_0_arg1, attribute_Deprecated_func_date_sunset_0_arg1_str);
861 	ZVAL_COPY_VALUE(&attribute_Deprecated_func_date_sunset_0->args[1].value, &attribute_Deprecated_func_date_sunset_0_arg1);
862 	attribute_Deprecated_func_date_sunset_0->args[1].name = ZSTR_KNOWN(ZEND_STR_MESSAGE);
863 }
864 
register_class_DateTimeInterface(void)865 static zend_class_entry *register_class_DateTimeInterface(void)
866 {
867 	zend_class_entry ce, *class_entry;
868 
869 	INIT_CLASS_ENTRY(ce, "DateTimeInterface", class_DateTimeInterface_methods);
870 	class_entry = zend_register_internal_interface(&ce);
871 
872 	zval const_ATOM_value;
873 	zend_string *const_ATOM_value_str = zend_string_init(DATE_FORMAT_RFC3339, strlen(DATE_FORMAT_RFC3339), 1);
874 	ZVAL_STR(&const_ATOM_value, const_ATOM_value_str);
875 	zend_string *const_ATOM_name = zend_string_init_interned("ATOM", sizeof("ATOM") - 1, 1);
876 	zend_declare_typed_class_constant(class_entry, const_ATOM_name, &const_ATOM_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_STRING));
877 	zend_string_release(const_ATOM_name);
878 
879 	zval const_COOKIE_value;
880 	zend_string *const_COOKIE_value_str = zend_string_init(DATE_FORMAT_COOKIE, strlen(DATE_FORMAT_COOKIE), 1);
881 	ZVAL_STR(&const_COOKIE_value, const_COOKIE_value_str);
882 	zend_string *const_COOKIE_name = zend_string_init_interned("COOKIE", sizeof("COOKIE") - 1, 1);
883 	zend_declare_typed_class_constant(class_entry, const_COOKIE_name, &const_COOKIE_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_STRING));
884 	zend_string_release(const_COOKIE_name);
885 
886 	zval const_ISO8601_value;
887 	zend_string *const_ISO8601_value_str = zend_string_init(DATE_FORMAT_ISO8601, strlen(DATE_FORMAT_ISO8601), 1);
888 	ZVAL_STR(&const_ISO8601_value, const_ISO8601_value_str);
889 	zend_string *const_ISO8601_name = zend_string_init_interned("ISO8601", sizeof("ISO8601") - 1, 1);
890 	zend_declare_typed_class_constant(class_entry, const_ISO8601_name, &const_ISO8601_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_STRING));
891 	zend_string_release(const_ISO8601_name);
892 
893 	zval const_ISO8601_EXPANDED_value;
894 	zend_string *const_ISO8601_EXPANDED_value_str = zend_string_init(DATE_FORMAT_ISO8601_EXPANDED, strlen(DATE_FORMAT_ISO8601_EXPANDED), 1);
895 	ZVAL_STR(&const_ISO8601_EXPANDED_value, const_ISO8601_EXPANDED_value_str);
896 	zend_string *const_ISO8601_EXPANDED_name = zend_string_init_interned("ISO8601_EXPANDED", sizeof("ISO8601_EXPANDED") - 1, 1);
897 	zend_declare_typed_class_constant(class_entry, const_ISO8601_EXPANDED_name, &const_ISO8601_EXPANDED_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_STRING));
898 	zend_string_release(const_ISO8601_EXPANDED_name);
899 
900 	zval const_RFC822_value;
901 	zend_string *const_RFC822_value_str = zend_string_init(DATE_FORMAT_RFC822, strlen(DATE_FORMAT_RFC822), 1);
902 	ZVAL_STR(&const_RFC822_value, const_RFC822_value_str);
903 	zend_string *const_RFC822_name = zend_string_init_interned("RFC822", sizeof("RFC822") - 1, 1);
904 	zend_declare_typed_class_constant(class_entry, const_RFC822_name, &const_RFC822_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_STRING));
905 	zend_string_release(const_RFC822_name);
906 
907 	zval const_RFC850_value;
908 	zend_string *const_RFC850_value_str = zend_string_init(DATE_FORMAT_RFC850, strlen(DATE_FORMAT_RFC850), 1);
909 	ZVAL_STR(&const_RFC850_value, const_RFC850_value_str);
910 	zend_string *const_RFC850_name = zend_string_init_interned("RFC850", sizeof("RFC850") - 1, 1);
911 	zend_declare_typed_class_constant(class_entry, const_RFC850_name, &const_RFC850_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_STRING));
912 	zend_string_release(const_RFC850_name);
913 
914 	zval const_RFC1036_value;
915 	zend_string *const_RFC1036_value_str = zend_string_init(DATE_FORMAT_RFC1036, strlen(DATE_FORMAT_RFC1036), 1);
916 	ZVAL_STR(&const_RFC1036_value, const_RFC1036_value_str);
917 	zend_string *const_RFC1036_name = zend_string_init_interned("RFC1036", sizeof("RFC1036") - 1, 1);
918 	zend_declare_typed_class_constant(class_entry, const_RFC1036_name, &const_RFC1036_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_STRING));
919 	zend_string_release(const_RFC1036_name);
920 
921 	zval const_RFC1123_value;
922 	zend_string *const_RFC1123_value_str = zend_string_init(DATE_FORMAT_RFC1123, strlen(DATE_FORMAT_RFC1123), 1);
923 	ZVAL_STR(&const_RFC1123_value, const_RFC1123_value_str);
924 	zend_string *const_RFC1123_name = zend_string_init_interned("RFC1123", sizeof("RFC1123") - 1, 1);
925 	zend_declare_typed_class_constant(class_entry, const_RFC1123_name, &const_RFC1123_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_STRING));
926 	zend_string_release(const_RFC1123_name);
927 
928 	zval const_RFC7231_value;
929 	zend_string *const_RFC7231_value_str = zend_string_init(DATE_FORMAT_RFC7231, strlen(DATE_FORMAT_RFC7231), 1);
930 	ZVAL_STR(&const_RFC7231_value, const_RFC7231_value_str);
931 	zend_string *const_RFC7231_name = zend_string_init_interned("RFC7231", sizeof("RFC7231") - 1, 1);
932 	zend_declare_typed_class_constant(class_entry, const_RFC7231_name, &const_RFC7231_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_STRING));
933 	zend_string_release(const_RFC7231_name);
934 
935 	zval const_RFC2822_value;
936 	zend_string *const_RFC2822_value_str = zend_string_init(DATE_FORMAT_RFC2822, strlen(DATE_FORMAT_RFC2822), 1);
937 	ZVAL_STR(&const_RFC2822_value, const_RFC2822_value_str);
938 	zend_string *const_RFC2822_name = zend_string_init_interned("RFC2822", sizeof("RFC2822") - 1, 1);
939 	zend_declare_typed_class_constant(class_entry, const_RFC2822_name, &const_RFC2822_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_STRING));
940 	zend_string_release(const_RFC2822_name);
941 
942 	zval const_RFC3339_value;
943 	zend_string *const_RFC3339_value_str = zend_string_init(DATE_FORMAT_RFC3339, strlen(DATE_FORMAT_RFC3339), 1);
944 	ZVAL_STR(&const_RFC3339_value, const_RFC3339_value_str);
945 	zend_string *const_RFC3339_name = zend_string_init_interned("RFC3339", sizeof("RFC3339") - 1, 1);
946 	zend_declare_typed_class_constant(class_entry, const_RFC3339_name, &const_RFC3339_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_STRING));
947 	zend_string_release(const_RFC3339_name);
948 
949 	zval const_RFC3339_EXTENDED_value;
950 	zend_string *const_RFC3339_EXTENDED_value_str = zend_string_init(DATE_FORMAT_RFC3339_EXTENDED, strlen(DATE_FORMAT_RFC3339_EXTENDED), 1);
951 	ZVAL_STR(&const_RFC3339_EXTENDED_value, const_RFC3339_EXTENDED_value_str);
952 	zend_string *const_RFC3339_EXTENDED_name = zend_string_init_interned("RFC3339_EXTENDED", sizeof("RFC3339_EXTENDED") - 1, 1);
953 	zend_declare_typed_class_constant(class_entry, const_RFC3339_EXTENDED_name, &const_RFC3339_EXTENDED_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_STRING));
954 	zend_string_release(const_RFC3339_EXTENDED_name);
955 
956 	zval const_RSS_value;
957 	zend_string *const_RSS_value_str = zend_string_init(DATE_FORMAT_RFC1123, strlen(DATE_FORMAT_RFC1123), 1);
958 	ZVAL_STR(&const_RSS_value, const_RSS_value_str);
959 	zend_string *const_RSS_name = zend_string_init_interned("RSS", sizeof("RSS") - 1, 1);
960 	zend_declare_typed_class_constant(class_entry, const_RSS_name, &const_RSS_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_STRING));
961 	zend_string_release(const_RSS_name);
962 
963 	zval const_W3C_value;
964 	zend_string *const_W3C_value_str = zend_string_init(DATE_FORMAT_RFC3339, strlen(DATE_FORMAT_RFC3339), 1);
965 	ZVAL_STR(&const_W3C_value, const_W3C_value_str);
966 	zend_string *const_W3C_name = zend_string_init_interned("W3C", sizeof("W3C") - 1, 1);
967 	zend_declare_typed_class_constant(class_entry, const_W3C_name, &const_W3C_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_STRING));
968 	zend_string_release(const_W3C_name);
969 
970 	return class_entry;
971 }
972 
register_class_DateTime(zend_class_entry * class_entry_DateTimeInterface)973 static zend_class_entry *register_class_DateTime(zend_class_entry *class_entry_DateTimeInterface)
974 {
975 	zend_class_entry ce, *class_entry;
976 
977 	INIT_CLASS_ENTRY(ce, "DateTime", class_DateTime_methods);
978 	class_entry = zend_register_internal_class_with_flags(&ce, NULL, 0);
979 	zend_class_implements(class_entry, 1, class_entry_DateTimeInterface);
980 
981 	return class_entry;
982 }
983 
register_class_DateTimeImmutable(zend_class_entry * class_entry_DateTimeInterface)984 static zend_class_entry *register_class_DateTimeImmutable(zend_class_entry *class_entry_DateTimeInterface)
985 {
986 	zend_class_entry ce, *class_entry;
987 
988 	INIT_CLASS_ENTRY(ce, "DateTimeImmutable", class_DateTimeImmutable_methods);
989 	class_entry = zend_register_internal_class_with_flags(&ce, NULL, 0);
990 	zend_class_implements(class_entry, 1, class_entry_DateTimeInterface);
991 
992 	return class_entry;
993 }
994 
register_class_DateTimeZone(void)995 static zend_class_entry *register_class_DateTimeZone(void)
996 {
997 	zend_class_entry ce, *class_entry;
998 
999 	INIT_CLASS_ENTRY(ce, "DateTimeZone", class_DateTimeZone_methods);
1000 	class_entry = zend_register_internal_class_with_flags(&ce, NULL, 0);
1001 
1002 	zval const_AFRICA_value;
1003 	ZVAL_LONG(&const_AFRICA_value, PHP_DATE_TIMEZONE_GROUP_AFRICA);
1004 	zend_string *const_AFRICA_name = zend_string_init_interned("AFRICA", sizeof("AFRICA") - 1, 1);
1005 	zend_declare_typed_class_constant(class_entry, const_AFRICA_name, &const_AFRICA_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG));
1006 	zend_string_release(const_AFRICA_name);
1007 
1008 	zval const_AMERICA_value;
1009 	ZVAL_LONG(&const_AMERICA_value, PHP_DATE_TIMEZONE_GROUP_AMERICA);
1010 	zend_string *const_AMERICA_name = zend_string_init_interned("AMERICA", sizeof("AMERICA") - 1, 1);
1011 	zend_declare_typed_class_constant(class_entry, const_AMERICA_name, &const_AMERICA_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG));
1012 	zend_string_release(const_AMERICA_name);
1013 
1014 	zval const_ANTARCTICA_value;
1015 	ZVAL_LONG(&const_ANTARCTICA_value, PHP_DATE_TIMEZONE_GROUP_ANTARCTICA);
1016 	zend_string *const_ANTARCTICA_name = zend_string_init_interned("ANTARCTICA", sizeof("ANTARCTICA") - 1, 1);
1017 	zend_declare_typed_class_constant(class_entry, const_ANTARCTICA_name, &const_ANTARCTICA_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG));
1018 	zend_string_release(const_ANTARCTICA_name);
1019 
1020 	zval const_ARCTIC_value;
1021 	ZVAL_LONG(&const_ARCTIC_value, PHP_DATE_TIMEZONE_GROUP_ARCTIC);
1022 	zend_string *const_ARCTIC_name = zend_string_init_interned("ARCTIC", sizeof("ARCTIC") - 1, 1);
1023 	zend_declare_typed_class_constant(class_entry, const_ARCTIC_name, &const_ARCTIC_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG));
1024 	zend_string_release(const_ARCTIC_name);
1025 
1026 	zval const_ASIA_value;
1027 	ZVAL_LONG(&const_ASIA_value, PHP_DATE_TIMEZONE_GROUP_ASIA);
1028 	zend_string *const_ASIA_name = zend_string_init_interned("ASIA", sizeof("ASIA") - 1, 1);
1029 	zend_declare_typed_class_constant(class_entry, const_ASIA_name, &const_ASIA_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG));
1030 	zend_string_release(const_ASIA_name);
1031 
1032 	zval const_ATLANTIC_value;
1033 	ZVAL_LONG(&const_ATLANTIC_value, PHP_DATE_TIMEZONE_GROUP_ATLANTIC);
1034 	zend_string *const_ATLANTIC_name = zend_string_init_interned("ATLANTIC", sizeof("ATLANTIC") - 1, 1);
1035 	zend_declare_typed_class_constant(class_entry, const_ATLANTIC_name, &const_ATLANTIC_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG));
1036 	zend_string_release(const_ATLANTIC_name);
1037 
1038 	zval const_AUSTRALIA_value;
1039 	ZVAL_LONG(&const_AUSTRALIA_value, PHP_DATE_TIMEZONE_GROUP_AUSTRALIA);
1040 	zend_string *const_AUSTRALIA_name = zend_string_init_interned("AUSTRALIA", sizeof("AUSTRALIA") - 1, 1);
1041 	zend_declare_typed_class_constant(class_entry, const_AUSTRALIA_name, &const_AUSTRALIA_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG));
1042 	zend_string_release(const_AUSTRALIA_name);
1043 
1044 	zval const_EUROPE_value;
1045 	ZVAL_LONG(&const_EUROPE_value, PHP_DATE_TIMEZONE_GROUP_EUROPE);
1046 	zend_string *const_EUROPE_name = zend_string_init_interned("EUROPE", sizeof("EUROPE") - 1, 1);
1047 	zend_declare_typed_class_constant(class_entry, const_EUROPE_name, &const_EUROPE_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG));
1048 	zend_string_release(const_EUROPE_name);
1049 
1050 	zval const_INDIAN_value;
1051 	ZVAL_LONG(&const_INDIAN_value, PHP_DATE_TIMEZONE_GROUP_INDIAN);
1052 	zend_string *const_INDIAN_name = zend_string_init_interned("INDIAN", sizeof("INDIAN") - 1, 1);
1053 	zend_declare_typed_class_constant(class_entry, const_INDIAN_name, &const_INDIAN_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG));
1054 	zend_string_release(const_INDIAN_name);
1055 
1056 	zval const_PACIFIC_value;
1057 	ZVAL_LONG(&const_PACIFIC_value, PHP_DATE_TIMEZONE_GROUP_PACIFIC);
1058 	zend_string *const_PACIFIC_name = zend_string_init_interned("PACIFIC", sizeof("PACIFIC") - 1, 1);
1059 	zend_declare_typed_class_constant(class_entry, const_PACIFIC_name, &const_PACIFIC_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG));
1060 	zend_string_release(const_PACIFIC_name);
1061 
1062 	zval const_UTC_value;
1063 	ZVAL_LONG(&const_UTC_value, PHP_DATE_TIMEZONE_GROUP_UTC);
1064 	zend_string *const_UTC_name = zend_string_init_interned("UTC", sizeof("UTC") - 1, 1);
1065 	zend_declare_typed_class_constant(class_entry, const_UTC_name, &const_UTC_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG));
1066 	zend_string_release(const_UTC_name);
1067 
1068 	zval const_ALL_value;
1069 	ZVAL_LONG(&const_ALL_value, PHP_DATE_TIMEZONE_GROUP_ALL);
1070 	zend_string *const_ALL_name = zend_string_init_interned("ALL", sizeof("ALL") - 1, 1);
1071 	zend_declare_typed_class_constant(class_entry, const_ALL_name, &const_ALL_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG));
1072 	zend_string_release(const_ALL_name);
1073 
1074 	zval const_ALL_WITH_BC_value;
1075 	ZVAL_LONG(&const_ALL_WITH_BC_value, PHP_DATE_TIMEZONE_GROUP_ALL_W_BC);
1076 	zend_string *const_ALL_WITH_BC_name = zend_string_init_interned("ALL_WITH_BC", sizeof("ALL_WITH_BC") - 1, 1);
1077 	zend_declare_typed_class_constant(class_entry, const_ALL_WITH_BC_name, &const_ALL_WITH_BC_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG));
1078 	zend_string_release(const_ALL_WITH_BC_name);
1079 
1080 	zval const_PER_COUNTRY_value;
1081 	ZVAL_LONG(&const_PER_COUNTRY_value, PHP_DATE_TIMEZONE_PER_COUNTRY);
1082 	zend_string *const_PER_COUNTRY_name = zend_string_init_interned("PER_COUNTRY", sizeof("PER_COUNTRY") - 1, 1);
1083 	zend_declare_typed_class_constant(class_entry, const_PER_COUNTRY_name, &const_PER_COUNTRY_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG));
1084 	zend_string_release(const_PER_COUNTRY_name);
1085 
1086 	return class_entry;
1087 }
1088 
register_class_DateInterval(void)1089 static zend_class_entry *register_class_DateInterval(void)
1090 {
1091 	zend_class_entry ce, *class_entry;
1092 
1093 	INIT_CLASS_ENTRY(ce, "DateInterval", class_DateInterval_methods);
1094 	class_entry = zend_register_internal_class_with_flags(&ce, NULL, 0);
1095 
1096 	return class_entry;
1097 }
1098 
register_class_DatePeriod(zend_class_entry * class_entry_IteratorAggregate)1099 static zend_class_entry *register_class_DatePeriod(zend_class_entry *class_entry_IteratorAggregate)
1100 {
1101 	zend_class_entry ce, *class_entry;
1102 
1103 	INIT_CLASS_ENTRY(ce, "DatePeriod", class_DatePeriod_methods);
1104 	class_entry = zend_register_internal_class_with_flags(&ce, NULL, 0);
1105 	zend_class_implements(class_entry, 1, class_entry_IteratorAggregate);
1106 
1107 	zval const_EXCLUDE_START_DATE_value;
1108 	ZVAL_LONG(&const_EXCLUDE_START_DATE_value, PHP_DATE_PERIOD_EXCLUDE_START_DATE);
1109 	zend_string *const_EXCLUDE_START_DATE_name = zend_string_init_interned("EXCLUDE_START_DATE", sizeof("EXCLUDE_START_DATE") - 1, 1);
1110 	zend_declare_typed_class_constant(class_entry, const_EXCLUDE_START_DATE_name, &const_EXCLUDE_START_DATE_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG));
1111 	zend_string_release(const_EXCLUDE_START_DATE_name);
1112 
1113 	zval const_INCLUDE_END_DATE_value;
1114 	ZVAL_LONG(&const_INCLUDE_END_DATE_value, PHP_DATE_PERIOD_INCLUDE_END_DATE);
1115 	zend_string *const_INCLUDE_END_DATE_name = zend_string_init_interned("INCLUDE_END_DATE", sizeof("INCLUDE_END_DATE") - 1, 1);
1116 	zend_declare_typed_class_constant(class_entry, const_INCLUDE_END_DATE_name, &const_INCLUDE_END_DATE_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG));
1117 	zend_string_release(const_INCLUDE_END_DATE_name);
1118 
1119 	zval property_start_default_value;
1120 	ZVAL_UNDEF(&property_start_default_value);
1121 	zend_string *property_start_name = zend_string_init("start", sizeof("start") - 1, 1);
1122 	zend_string *property_start_class_DateTimeInterface = zend_string_init("DateTimeInterface", sizeof("DateTimeInterface")-1, 1);
1123 	zend_declare_typed_property(class_entry, property_start_name, &property_start_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_CLASS(property_start_class_DateTimeInterface, 0, MAY_BE_NULL));
1124 	zend_string_release(property_start_name);
1125 
1126 	zval property_current_default_value;
1127 	ZVAL_UNDEF(&property_current_default_value);
1128 	zend_string *property_current_name = zend_string_init("current", sizeof("current") - 1, 1);
1129 	zend_string *property_current_class_DateTimeInterface = zend_string_init("DateTimeInterface", sizeof("DateTimeInterface")-1, 1);
1130 	zend_declare_typed_property(class_entry, property_current_name, &property_current_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_CLASS(property_current_class_DateTimeInterface, 0, MAY_BE_NULL));
1131 	zend_string_release(property_current_name);
1132 
1133 	zval property_end_default_value;
1134 	ZVAL_UNDEF(&property_end_default_value);
1135 	zend_string *property_end_name = zend_string_init("end", sizeof("end") - 1, 1);
1136 	zend_string *property_end_class_DateTimeInterface = zend_string_init("DateTimeInterface", sizeof("DateTimeInterface")-1, 1);
1137 	zend_declare_typed_property(class_entry, property_end_name, &property_end_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_CLASS(property_end_class_DateTimeInterface, 0, MAY_BE_NULL));
1138 	zend_string_release(property_end_name);
1139 
1140 	zval property_interval_default_value;
1141 	ZVAL_UNDEF(&property_interval_default_value);
1142 	zend_string *property_interval_name = zend_string_init("interval", sizeof("interval") - 1, 1);
1143 	zend_string *property_interval_class_DateInterval = zend_string_init("DateInterval", sizeof("DateInterval")-1, 1);
1144 	zend_declare_typed_property(class_entry, property_interval_name, &property_interval_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_CLASS(property_interval_class_DateInterval, 0, MAY_BE_NULL));
1145 	zend_string_release(property_interval_name);
1146 
1147 	zval property_recurrences_default_value;
1148 	ZVAL_UNDEF(&property_recurrences_default_value);
1149 	zend_string *property_recurrences_name = zend_string_init("recurrences", sizeof("recurrences") - 1, 1);
1150 	zend_declare_typed_property(class_entry, property_recurrences_name, &property_recurrences_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG));
1151 	zend_string_release(property_recurrences_name);
1152 
1153 	zval property_include_start_date_default_value;
1154 	ZVAL_UNDEF(&property_include_start_date_default_value);
1155 	zend_string *property_include_start_date_name = zend_string_init("include_start_date", sizeof("include_start_date") - 1, 1);
1156 	zend_declare_typed_property(class_entry, property_include_start_date_name, &property_include_start_date_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_BOOL));
1157 	zend_string_release(property_include_start_date_name);
1158 
1159 	zval property_include_end_date_default_value;
1160 	ZVAL_UNDEF(&property_include_end_date_default_value);
1161 	zend_string *property_include_end_date_name = zend_string_init("include_end_date", sizeof("include_end_date") - 1, 1);
1162 	zend_declare_typed_property(class_entry, property_include_end_date_name, &property_include_end_date_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_BOOL));
1163 	zend_string_release(property_include_end_date_name);
1164 
1165 	return class_entry;
1166 }
1167 
register_class_DateError(zend_class_entry * class_entry_Error)1168 static zend_class_entry *register_class_DateError(zend_class_entry *class_entry_Error)
1169 {
1170 	zend_class_entry ce, *class_entry;
1171 
1172 	INIT_CLASS_ENTRY(ce, "DateError", NULL);
1173 	class_entry = zend_register_internal_class_with_flags(&ce, class_entry_Error, ZEND_ACC_NO_DYNAMIC_PROPERTIES);
1174 
1175 	return class_entry;
1176 }
1177 
register_class_DateObjectError(zend_class_entry * class_entry_DateError)1178 static zend_class_entry *register_class_DateObjectError(zend_class_entry *class_entry_DateError)
1179 {
1180 	zend_class_entry ce, *class_entry;
1181 
1182 	INIT_CLASS_ENTRY(ce, "DateObjectError", NULL);
1183 	class_entry = zend_register_internal_class_with_flags(&ce, class_entry_DateError, ZEND_ACC_NO_DYNAMIC_PROPERTIES);
1184 
1185 	return class_entry;
1186 }
1187 
register_class_DateRangeError(zend_class_entry * class_entry_DateError)1188 static zend_class_entry *register_class_DateRangeError(zend_class_entry *class_entry_DateError)
1189 {
1190 	zend_class_entry ce, *class_entry;
1191 
1192 	INIT_CLASS_ENTRY(ce, "DateRangeError", NULL);
1193 	class_entry = zend_register_internal_class_with_flags(&ce, class_entry_DateError, ZEND_ACC_NO_DYNAMIC_PROPERTIES);
1194 
1195 	return class_entry;
1196 }
1197 
register_class_DateException(zend_class_entry * class_entry_Exception)1198 static zend_class_entry *register_class_DateException(zend_class_entry *class_entry_Exception)
1199 {
1200 	zend_class_entry ce, *class_entry;
1201 
1202 	INIT_CLASS_ENTRY(ce, "DateException", NULL);
1203 	class_entry = zend_register_internal_class_with_flags(&ce, class_entry_Exception, ZEND_ACC_NO_DYNAMIC_PROPERTIES);
1204 
1205 	return class_entry;
1206 }
1207 
register_class_DateInvalidTimeZoneException(zend_class_entry * class_entry_DateException)1208 static zend_class_entry *register_class_DateInvalidTimeZoneException(zend_class_entry *class_entry_DateException)
1209 {
1210 	zend_class_entry ce, *class_entry;
1211 
1212 	INIT_CLASS_ENTRY(ce, "DateInvalidTimeZoneException", NULL);
1213 	class_entry = zend_register_internal_class_with_flags(&ce, class_entry_DateException, ZEND_ACC_NO_DYNAMIC_PROPERTIES);
1214 
1215 	return class_entry;
1216 }
1217 
register_class_DateInvalidOperationException(zend_class_entry * class_entry_DateException)1218 static zend_class_entry *register_class_DateInvalidOperationException(zend_class_entry *class_entry_DateException)
1219 {
1220 	zend_class_entry ce, *class_entry;
1221 
1222 	INIT_CLASS_ENTRY(ce, "DateInvalidOperationException", NULL);
1223 	class_entry = zend_register_internal_class_with_flags(&ce, class_entry_DateException, ZEND_ACC_NO_DYNAMIC_PROPERTIES);
1224 
1225 	return class_entry;
1226 }
1227 
register_class_DateMalformedStringException(zend_class_entry * class_entry_DateException)1228 static zend_class_entry *register_class_DateMalformedStringException(zend_class_entry *class_entry_DateException)
1229 {
1230 	zend_class_entry ce, *class_entry;
1231 
1232 	INIT_CLASS_ENTRY(ce, "DateMalformedStringException", NULL);
1233 	class_entry = zend_register_internal_class_with_flags(&ce, class_entry_DateException, ZEND_ACC_NO_DYNAMIC_PROPERTIES);
1234 
1235 	return class_entry;
1236 }
1237 
register_class_DateMalformedIntervalStringException(zend_class_entry * class_entry_DateException)1238 static zend_class_entry *register_class_DateMalformedIntervalStringException(zend_class_entry *class_entry_DateException)
1239 {
1240 	zend_class_entry ce, *class_entry;
1241 
1242 	INIT_CLASS_ENTRY(ce, "DateMalformedIntervalStringException", NULL);
1243 	class_entry = zend_register_internal_class_with_flags(&ce, class_entry_DateException, ZEND_ACC_NO_DYNAMIC_PROPERTIES);
1244 
1245 	return class_entry;
1246 }
1247 
register_class_DateMalformedPeriodStringException(zend_class_entry * class_entry_DateException)1248 static zend_class_entry *register_class_DateMalformedPeriodStringException(zend_class_entry *class_entry_DateException)
1249 {
1250 	zend_class_entry ce, *class_entry;
1251 
1252 	INIT_CLASS_ENTRY(ce, "DateMalformedPeriodStringException", NULL);
1253 	class_entry = zend_register_internal_class_with_flags(&ce, class_entry_DateException, ZEND_ACC_NO_DYNAMIC_PROPERTIES);
1254 
1255 	return class_entry;
1256 }
1257