Skip to content

Commit 6d093ec

Browse files
committed
PHPC-1858: Return type arginfo for jsonSerialize methods
1 parent 677aa5c commit 6d093ec

File tree

14 files changed

+87
-39
lines changed

14 files changed

+87
-39
lines changed

phongo_compat.h

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -218,6 +218,15 @@
218218
} while (0)
219219
#endif
220220

221+
/* Per https://wiki.php.net/rfc/internal_method_return_types, "Non-final
222+
* internal method return types - when possible - are declared tentatively in
223+
* PHP 8.1, and they will become enforced in PHP 9.0." This can be revisited
224+
* when more general typing improvements are made in PHPC-1709. */
225+
#ifndef ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX
226+
#define ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(name, return_reference, required_num_args, type, allow_null) \
227+
ZEND_BEGIN_ARG_INFO_EX(name, 0, return_reference, required_num_args)
228+
#endif
229+
221230
void phongo_add_exception_prop(const char* prop, int prop_len, zval* value);
222231
zend_bool php_phongo_zend_hash_apply_protection_begin(HashTable* ht);
223232
zend_bool php_phongo_zend_hash_apply_protection_end(HashTable* ht);

src/BSON/Binary.c

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -271,6 +271,7 @@ static PHP_METHOD(Binary, unserialize)
271271
} /* }}} */
272272

273273
/* {{{ MongoDB\BSON\Binary function entries */
274+
/* clang-format off */
274275
ZEND_BEGIN_ARG_INFO_EX(ai_Binary___construct, 0, 0, 2)
275276
ZEND_ARG_INFO(0, data)
276277
ZEND_ARG_INFO(0, type)
@@ -280,6 +281,9 @@ ZEND_BEGIN_ARG_INFO_EX(ai_Binary___set_state, 0, 0, 1)
280281
ZEND_ARG_ARRAY_INFO(0, properties, 0)
281282
ZEND_END_ARG_INFO()
282283

284+
ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(ai_Binary_jsonSerialize, 0, 0, IS_ARRAY, 0)
285+
ZEND_END_ARG_INFO()
286+
283287
ZEND_BEGIN_ARG_INFO_EX(ai_Binary_unserialize, 0, 0, 1)
284288
ZEND_ARG_INFO(0, serialized)
285289
ZEND_END_ARG_INFO()
@@ -288,18 +292,17 @@ ZEND_BEGIN_ARG_INFO_EX(ai_Binary_void, 0, 0, 0)
288292
ZEND_END_ARG_INFO()
289293

290294
static zend_function_entry php_phongo_binary_me[] = {
291-
/* clang-format off */
292295
PHP_ME(Binary, __construct, ai_Binary___construct, ZEND_ACC_PUBLIC | ZEND_ACC_FINAL)
293296
PHP_ME(Binary, __set_state, ai_Binary___set_state, ZEND_ACC_PUBLIC | ZEND_ACC_STATIC)
294297
PHP_ME(Binary, __toString, ai_Binary_void, ZEND_ACC_PUBLIC | ZEND_ACC_FINAL)
295-
PHP_ME(Binary, jsonSerialize, ai_Binary_void, ZEND_ACC_PUBLIC | ZEND_ACC_FINAL)
298+
PHP_ME(Binary, jsonSerialize, ai_Binary_jsonSerialize, ZEND_ACC_PUBLIC | ZEND_ACC_FINAL)
296299
PHP_ME(Binary, serialize, ai_Binary_void, ZEND_ACC_PUBLIC | ZEND_ACC_FINAL)
297300
PHP_ME(Binary, unserialize, ai_Binary_unserialize, ZEND_ACC_PUBLIC | ZEND_ACC_FINAL)
298301
PHP_ME(Binary, getData, ai_Binary_void, ZEND_ACC_PUBLIC | ZEND_ACC_FINAL)
299302
PHP_ME(Binary, getType, ai_Binary_void, ZEND_ACC_PUBLIC | ZEND_ACC_FINAL)
300303
PHP_FE_END
301-
/* clang-format on */
302304
};
305+
/* clang-format on */
303306
/* }}} */
304307

305308
/* {{{ MongoDB\BSON\Binary object handlers */

src/BSON/DBPointer.c

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -188,6 +188,10 @@ static PHP_METHOD(DBPointer, unserialize)
188188
} /* }}} */
189189

190190
/* {{{ MongoDB\BSON\DBPointer function entries */
191+
/* clang-format off */
192+
ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(ai_DBPointer_jsonSerialize, 0, 0, IS_ARRAY, 0)
193+
ZEND_END_ARG_INFO()
194+
191195
ZEND_BEGIN_ARG_INFO_EX(ai_DBPointer_unserialize, 0, 0, 1)
192196
ZEND_ARG_INFO(0, serialized)
193197
ZEND_END_ARG_INFO()
@@ -196,16 +200,15 @@ ZEND_BEGIN_ARG_INFO_EX(ai_DBPointer_void, 0, 0, 0)
196200
ZEND_END_ARG_INFO()
197201

198202
static zend_function_entry php_phongo_dbpointer_me[] = {
199-
/* clang-format off */
200203
/* __set_state intentionally missing */
201204
PHP_ME(DBPointer, __toString, ai_DBPointer_void, ZEND_ACC_PUBLIC | ZEND_ACC_FINAL)
202-
PHP_ME(DBPointer, jsonSerialize, ai_DBPointer_void, ZEND_ACC_PUBLIC | ZEND_ACC_FINAL)
205+
PHP_ME(DBPointer, jsonSerialize, ai_DBPointer_jsonSerialize, ZEND_ACC_PUBLIC | ZEND_ACC_FINAL)
203206
PHP_ME(DBPointer, serialize, ai_DBPointer_void, ZEND_ACC_PUBLIC | ZEND_ACC_FINAL)
204207
PHP_ME(DBPointer, unserialize, ai_DBPointer_unserialize, ZEND_ACC_PUBLIC | ZEND_ACC_FINAL)
205208
ZEND_NAMED_ME(__construct, PHP_FN(MongoDB_disabled___construct), ai_DBPointer_void, ZEND_ACC_PRIVATE | ZEND_ACC_FINAL)
206209
PHP_FE_END
207-
/* clang-format on */
208210
};
211+
/* clang-format on */
209212
/* }}} */
210213

211214
/* {{{ MongoDB\BSON\DBPointer object handlers */

src/BSON/Decimal128.c

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -215,6 +215,7 @@ static PHP_METHOD(Decimal128, unserialize)
215215
} /* }}} */
216216

217217
/* {{{ MongoDB\BSON\Decimal128 function entries */
218+
/* clang-format off */
218219
ZEND_BEGIN_ARG_INFO_EX(ai_Decimal128___construct, 0, 0, 1)
219220
ZEND_ARG_INFO(0, value)
220221
ZEND_END_ARG_INFO()
@@ -223,6 +224,9 @@ ZEND_BEGIN_ARG_INFO_EX(ai_Decimal128___set_state, 0, 0, 1)
223224
ZEND_ARG_ARRAY_INFO(0, properties, 0)
224225
ZEND_END_ARG_INFO()
225226

227+
ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(ai_Decimal128_jsonSerialize, 0, 0, IS_ARRAY, 0)
228+
ZEND_END_ARG_INFO()
229+
226230
ZEND_BEGIN_ARG_INFO_EX(ai_Decimal128_unserialize, 0, 0, 1)
227231
ZEND_ARG_INFO(0, serialized)
228232
ZEND_END_ARG_INFO()
@@ -231,16 +235,15 @@ ZEND_BEGIN_ARG_INFO_EX(ai_Decimal128_void, 0, 0, 0)
231235
ZEND_END_ARG_INFO()
232236

233237
static zend_function_entry php_phongo_decimal128_me[] = {
234-
/* clang-format off */
235238
PHP_ME(Decimal128, __construct, ai_Decimal128___construct, ZEND_ACC_PUBLIC | ZEND_ACC_FINAL)
236239
PHP_ME(Decimal128, __set_state, ai_Decimal128___set_state, ZEND_ACC_PUBLIC | ZEND_ACC_STATIC)
237240
PHP_ME(Decimal128, __toString, ai_Decimal128_void, ZEND_ACC_PUBLIC | ZEND_ACC_FINAL)
238-
PHP_ME(Decimal128, jsonSerialize, ai_Decimal128_void, ZEND_ACC_PUBLIC | ZEND_ACC_FINAL)
241+
PHP_ME(Decimal128, jsonSerialize, ai_Decimal128_jsonSerialize, ZEND_ACC_PUBLIC | ZEND_ACC_FINAL)
239242
PHP_ME(Decimal128, serialize, ai_Decimal128_void, ZEND_ACC_PUBLIC | ZEND_ACC_FINAL)
240243
PHP_ME(Decimal128, unserialize, ai_Decimal128_unserialize, ZEND_ACC_PUBLIC | ZEND_ACC_FINAL)
241244
PHP_FE_END
242-
/* clang-format on */
243245
};
246+
/* clang-format on */
244247
/* }}} */
245248

246249
/* {{{ MongoDB\BSON\Decimal128 object handlers */

src/BSON/Int64.c

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -174,6 +174,10 @@ static PHP_METHOD(Int64, unserialize)
174174
} /* }}} */
175175

176176
/* {{{ MongoDB\BSON\Int64 function entries */
177+
/* clang-format off */
178+
ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(ai_Int64_jsonSerialize, 0, 0, IS_ARRAY, 0)
179+
ZEND_END_ARG_INFO()
180+
177181
ZEND_BEGIN_ARG_INFO_EX(ai_Int64_unserialize, 0, 0, 1)
178182
ZEND_ARG_INFO(0, serialized)
179183
ZEND_END_ARG_INFO()
@@ -182,16 +186,15 @@ ZEND_BEGIN_ARG_INFO_EX(ai_Int64_void, 0, 0, 0)
182186
ZEND_END_ARG_INFO()
183187

184188
static zend_function_entry php_phongo_int64_me[] = {
185-
/* clang-format off */
186189
/* __set_state intentionally missing */
187190
PHP_ME(Int64, __toString, ai_Int64_void, ZEND_ACC_PUBLIC | ZEND_ACC_FINAL)
188-
PHP_ME(Int64, jsonSerialize, ai_Int64_void, ZEND_ACC_PUBLIC | ZEND_ACC_FINAL)
191+
PHP_ME(Int64, jsonSerialize, ai_Int64_jsonSerialize, ZEND_ACC_PUBLIC | ZEND_ACC_FINAL)
189192
PHP_ME(Int64, serialize, ai_Int64_void, ZEND_ACC_PUBLIC | ZEND_ACC_FINAL)
190193
PHP_ME(Int64, unserialize, ai_Int64_unserialize, ZEND_ACC_PUBLIC | ZEND_ACC_FINAL)
191194
ZEND_NAMED_ME(__construct, PHP_FN(MongoDB_disabled___construct), ai_Int64_void, ZEND_ACC_PRIVATE | ZEND_ACC_FINAL)
192195
PHP_FE_END
193-
/* clang-format on */
194196
};
197+
/* clang-format on */
195198
/* }}} */
196199

197200
/* {{{ MongoDB\BSON\Int64 object handlers */

src/BSON/Javascript.c

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -307,6 +307,7 @@ static PHP_METHOD(Javascript, unserialize)
307307
} /* }}} */
308308

309309
/* {{{ MongoDB\BSON\Javascript function entries */
310+
/* clang-format off */
310311
ZEND_BEGIN_ARG_INFO_EX(ai_Javascript___construct, 0, 0, 1)
311312
ZEND_ARG_INFO(0, javascript)
312313
ZEND_ARG_INFO(0, scope)
@@ -316,6 +317,9 @@ ZEND_BEGIN_ARG_INFO_EX(ai_Javascript___set_state, 0, 0, 1)
316317
ZEND_ARG_ARRAY_INFO(0, properties, 0)
317318
ZEND_END_ARG_INFO()
318319

320+
ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(ai_Javascript_jsonSerialize, 0, 0, IS_ARRAY, 0)
321+
ZEND_END_ARG_INFO()
322+
319323
ZEND_BEGIN_ARG_INFO_EX(ai_Javascript_unserialize, 0, 0, 1)
320324
ZEND_ARG_INFO(0, serialized)
321325
ZEND_END_ARG_INFO()
@@ -324,18 +328,17 @@ ZEND_BEGIN_ARG_INFO_EX(ai_Javascript_void, 0, 0, 0)
324328
ZEND_END_ARG_INFO()
325329

326330
static zend_function_entry php_phongo_javascript_me[] = {
327-
/* clang-format off */
328331
PHP_ME(Javascript, __construct, ai_Javascript___construct, ZEND_ACC_PUBLIC | ZEND_ACC_FINAL)
329332
PHP_ME(Javascript, __set_state, ai_Javascript___set_state, ZEND_ACC_PUBLIC | ZEND_ACC_STATIC)
330333
PHP_ME(Javascript, __toString, ai_Javascript_void, ZEND_ACC_PUBLIC | ZEND_ACC_FINAL)
331-
PHP_ME(Javascript, jsonSerialize, ai_Javascript_void, ZEND_ACC_PUBLIC | ZEND_ACC_FINAL)
334+
PHP_ME(Javascript, jsonSerialize, ai_Javascript_jsonSerialize, ZEND_ACC_PUBLIC | ZEND_ACC_FINAL)
332335
PHP_ME(Javascript, serialize, ai_Javascript_void, ZEND_ACC_PUBLIC | ZEND_ACC_FINAL)
333336
PHP_ME(Javascript, unserialize, ai_Javascript_unserialize, ZEND_ACC_PUBLIC | ZEND_ACC_FINAL)
334337
PHP_ME(Javascript, getCode, ai_Javascript_void, ZEND_ACC_PUBLIC | ZEND_ACC_FINAL)
335338
PHP_ME(Javascript, getScope, ai_Javascript_void, ZEND_ACC_PUBLIC | ZEND_ACC_FINAL)
336339
PHP_FE_END
337-
/* clang-format on */
338340
};
341+
/* clang-format on */
339342
/* }}} */
340343

341344
/* {{{ MongoDB\BSON\Javascript object handlers */

src/BSON/MaxKey.c

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -95,10 +95,14 @@ static PHP_METHOD(MaxKey, unserialize)
9595
} /* }}} */
9696

9797
/* {{{ MongoDB\BSON\MaxKey function entries */
98+
/* clang-format off */
9899
ZEND_BEGIN_ARG_INFO_EX(ai_MaxKey___set_state, 0, 0, 1)
99100
ZEND_ARG_ARRAY_INFO(0, properties, 0)
100101
ZEND_END_ARG_INFO()
101102

103+
ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(ai_MaxKey_jsonSerialize, 0, 0, IS_ARRAY, 0)
104+
ZEND_END_ARG_INFO()
105+
102106
ZEND_BEGIN_ARG_INFO_EX(ai_MaxKey_unserialize, 0, 0, 1)
103107
ZEND_ARG_INFO(0, serialized)
104108
ZEND_END_ARG_INFO()
@@ -107,14 +111,13 @@ ZEND_BEGIN_ARG_INFO_EX(ai_MaxKey_void, 0, 0, 0)
107111
ZEND_END_ARG_INFO()
108112

109113
static zend_function_entry php_phongo_maxkey_me[] = {
110-
/* clang-format off */
111114
PHP_ME(MaxKey, __set_state, ai_MaxKey___set_state, ZEND_ACC_PUBLIC | ZEND_ACC_STATIC)
112-
PHP_ME(MaxKey, jsonSerialize, ai_MaxKey_void, ZEND_ACC_PUBLIC | ZEND_ACC_FINAL)
115+
PHP_ME(MaxKey, jsonSerialize, ai_MaxKey_jsonSerialize, ZEND_ACC_PUBLIC | ZEND_ACC_FINAL)
113116
PHP_ME(MaxKey, serialize, ai_MaxKey_void, ZEND_ACC_PUBLIC | ZEND_ACC_FINAL)
114117
PHP_ME(MaxKey, unserialize, ai_MaxKey_unserialize, ZEND_ACC_PUBLIC | ZEND_ACC_FINAL)
115118
PHP_FE_END
116-
/* clang-format on */
117119
};
120+
/* clang-format on */
118121
/* }}} */
119122

120123
/* {{{ MongoDB\BSON\MaxKey object handlers */

src/BSON/MinKey.c

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -95,10 +95,14 @@ static PHP_METHOD(MinKey, unserialize)
9595
} /* }}} */
9696

9797
/* {{{ MongoDB\BSON\MinKey function entries */
98+
/* clang-format off */
9899
ZEND_BEGIN_ARG_INFO_EX(ai_MinKey___set_state, 0, 0, 1)
99100
ZEND_ARG_ARRAY_INFO(0, properties, 0)
100101
ZEND_END_ARG_INFO()
101102

103+
ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(ai_MinKey_jsonSerialize, 0, 0, IS_ARRAY, 0)
104+
ZEND_END_ARG_INFO()
105+
102106
ZEND_BEGIN_ARG_INFO_EX(ai_MinKey_unserialize, 0, 0, 1)
103107
ZEND_ARG_INFO(0, serialized)
104108
ZEND_END_ARG_INFO()
@@ -107,14 +111,13 @@ ZEND_BEGIN_ARG_INFO_EX(ai_MinKey_void, 0, 0, 0)
107111
ZEND_END_ARG_INFO()
108112

109113
static zend_function_entry php_phongo_minkey_me[] = {
110-
/* clang-format off */
111114
PHP_ME(MinKey, __set_state, ai_MinKey___set_state, ZEND_ACC_PUBLIC | ZEND_ACC_STATIC)
112-
PHP_ME(MinKey, jsonSerialize, ai_MinKey_void, ZEND_ACC_PUBLIC | ZEND_ACC_FINAL)
115+
PHP_ME(MinKey, jsonSerialize, ai_MinKey_jsonSerialize, ZEND_ACC_PUBLIC | ZEND_ACC_FINAL)
113116
PHP_ME(MinKey, serialize, ai_MinKey_void, ZEND_ACC_PUBLIC | ZEND_ACC_FINAL)
114117
PHP_ME(MinKey, unserialize, ai_MinKey_unserialize, ZEND_ACC_PUBLIC | ZEND_ACC_FINAL)
115118
PHP_FE_END
116-
/* clang-format on */
117119
};
120+
/* clang-format on */
118121
/* }}} */
119122

120123
/* {{{ MongoDB\BSON\MinKey object handlers */

src/BSON/ObjectId.c

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -257,6 +257,7 @@ static PHP_METHOD(ObjectId, unserialize)
257257
} /* }}} */
258258

259259
/* {{{ MongoDB\BSON\ObjectId function entries */
260+
/* clang-format off */
260261
ZEND_BEGIN_ARG_INFO_EX(ai_ObjectId___construct, 0, 0, 0)
261262
ZEND_ARG_INFO(0, id)
262263
ZEND_END_ARG_INFO()
@@ -265,6 +266,9 @@ ZEND_BEGIN_ARG_INFO_EX(ai_ObjectId___set_state, 0, 0, 1)
265266
ZEND_ARG_ARRAY_INFO(0, properties, 0)
266267
ZEND_END_ARG_INFO()
267268

269+
ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(ai_ObjectId_jsonSerialize, 0, 0, IS_ARRAY, 0)
270+
ZEND_END_ARG_INFO()
271+
268272
ZEND_BEGIN_ARG_INFO_EX(ai_ObjectId_unserialize, 0, 0, 1)
269273
ZEND_ARG_INFO(0, serialized)
270274
ZEND_END_ARG_INFO()
@@ -273,17 +277,16 @@ ZEND_BEGIN_ARG_INFO_EX(ai_ObjectId_void, 0, 0, 0)
273277
ZEND_END_ARG_INFO()
274278

275279
static zend_function_entry php_phongo_objectid_me[] = {
276-
/* clang-format off */
277280
PHP_ME(ObjectId, __construct, ai_ObjectId___construct, ZEND_ACC_PUBLIC | ZEND_ACC_FINAL)
278281
PHP_ME(ObjectId, getTimestamp, ai_ObjectId_void, ZEND_ACC_PUBLIC | ZEND_ACC_FINAL)
279282
PHP_ME(ObjectId, __set_state, ai_ObjectId___set_state, ZEND_ACC_PUBLIC | ZEND_ACC_STATIC)
280283
PHP_ME(ObjectId, __toString, ai_ObjectId_void, ZEND_ACC_PUBLIC | ZEND_ACC_FINAL)
281-
PHP_ME(ObjectId, jsonSerialize, ai_ObjectId_void, ZEND_ACC_PUBLIC | ZEND_ACC_FINAL)
284+
PHP_ME(ObjectId, jsonSerialize, ai_ObjectId_jsonSerialize, ZEND_ACC_PUBLIC | ZEND_ACC_FINAL)
282285
PHP_ME(ObjectId, serialize, ai_ObjectId_void, ZEND_ACC_PUBLIC | ZEND_ACC_FINAL)
283286
PHP_ME(ObjectId, unserialize, ai_ObjectId_unserialize, ZEND_ACC_PUBLIC | ZEND_ACC_FINAL)
284287
PHP_FE_END
285-
/* clang-format on */
286288
};
289+
/* clang-format on */
287290
/* }}} */
288291

289292
/* {{{ MongoDB\BSON\ObjectId object handlers */

src/BSON/Regex.c

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -280,6 +280,7 @@ static PHP_METHOD(Regex, unserialize)
280280
} /* }}} */
281281

282282
/* {{{ MongoDB\BSON\Regex function entries */
283+
/* clang-format off */
283284
ZEND_BEGIN_ARG_INFO_EX(ai_Regex___construct, 0, 0, 1)
284285
ZEND_ARG_INFO(0, pattern)
285286
ZEND_ARG_INFO(0, flags)
@@ -289,6 +290,9 @@ ZEND_BEGIN_ARG_INFO_EX(ai_Regex___set_state, 0, 0, 1)
289290
ZEND_ARG_ARRAY_INFO(0, properties, 0)
290291
ZEND_END_ARG_INFO()
291292

293+
ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(ai_Regex_jsonSerialize, 0, 0, IS_ARRAY, 0)
294+
ZEND_END_ARG_INFO()
295+
292296
ZEND_BEGIN_ARG_INFO_EX(ai_Regex_unserialize, 0, 0, 1)
293297
ZEND_ARG_INFO(0, serialized)
294298
ZEND_END_ARG_INFO()
@@ -297,18 +301,17 @@ ZEND_BEGIN_ARG_INFO_EX(ai_Regex_void, 0, 0, 0)
297301
ZEND_END_ARG_INFO()
298302

299303
static zend_function_entry php_phongo_regex_me[] = {
300-
/* clang-format off */
301304
PHP_ME(Regex, __construct, ai_Regex___construct, ZEND_ACC_PUBLIC | ZEND_ACC_FINAL)
302305
PHP_ME(Regex, __set_state, ai_Regex___set_state, ZEND_ACC_PUBLIC | ZEND_ACC_STATIC)
303306
PHP_ME(Regex, __toString, ai_Regex_void, ZEND_ACC_PUBLIC | ZEND_ACC_FINAL)
304-
PHP_ME(Regex, jsonSerialize, ai_Regex_void, ZEND_ACC_PUBLIC | ZEND_ACC_FINAL)
307+
PHP_ME(Regex, jsonSerialize, ai_Regex_jsonSerialize, ZEND_ACC_PUBLIC | ZEND_ACC_FINAL)
305308
PHP_ME(Regex, serialize, ai_Regex_void, ZEND_ACC_PUBLIC | ZEND_ACC_FINAL)
306309
PHP_ME(Regex, unserialize, ai_Regex_unserialize, ZEND_ACC_PUBLIC | ZEND_ACC_FINAL)
307310
PHP_ME(Regex, getPattern, ai_Regex_void, ZEND_ACC_PUBLIC | ZEND_ACC_FINAL)
308311
PHP_ME(Regex, getFlags, ai_Regex_void, ZEND_ACC_PUBLIC | ZEND_ACC_FINAL)
309312
PHP_FE_END
310-
/* clang-format on */
311313
};
314+
/* clang-format on */
312315
/* }}} */
313316

314317
/* {{{ MongoDB\BSON\Regex object handlers */

src/BSON/Symbol.c

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -165,6 +165,10 @@ static PHP_METHOD(Symbol, unserialize)
165165
} /* }}} */
166166

167167
/* {{{ MongoDB\BSON\Symbol function entries */
168+
/* clang-format off */
169+
ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(ai_Symbol_jsonSerialize, 0, 0, IS_ARRAY, 0)
170+
ZEND_END_ARG_INFO()
171+
168172
ZEND_BEGIN_ARG_INFO_EX(ai_Symbol_unserialize, 0, 0, 1)
169173
ZEND_ARG_INFO(0, serialized)
170174
ZEND_END_ARG_INFO()
@@ -173,16 +177,15 @@ ZEND_BEGIN_ARG_INFO_EX(ai_Symbol_void, 0, 0, 0)
173177
ZEND_END_ARG_INFO()
174178

175179
static zend_function_entry php_phongo_symbol_me[] = {
176-
/* clang-format off */
177180
/* __set_state intentionally missing */
178181
PHP_ME(Symbol, __toString, ai_Symbol_void, ZEND_ACC_PUBLIC | ZEND_ACC_FINAL)
179-
PHP_ME(Symbol, jsonSerialize, ai_Symbol_void, ZEND_ACC_PUBLIC | ZEND_ACC_FINAL)
182+
PHP_ME(Symbol, jsonSerialize, ai_Symbol_jsonSerialize, ZEND_ACC_PUBLIC | ZEND_ACC_FINAL)
180183
PHP_ME(Symbol, serialize, ai_Symbol_void, ZEND_ACC_PUBLIC | ZEND_ACC_FINAL)
181184
PHP_ME(Symbol, unserialize, ai_Symbol_unserialize, ZEND_ACC_PUBLIC | ZEND_ACC_FINAL)
182185
ZEND_NAMED_ME(__construct, PHP_FN(MongoDB_disabled___construct), ai_Symbol_void, ZEND_ACC_PRIVATE | ZEND_ACC_FINAL)
183186
PHP_FE_END
184-
/* clang-format on */
185187
};
188+
/* clang-format on */
186189
/* }}} */
187190

188191
/* {{{ MongoDB\BSON\Symbol object handlers */

0 commit comments

Comments
 (0)