Skip to content

Commit 214dce8

Browse files
committed
Use multi-return type option
1 parent 2402502 commit 214dce8

File tree

2 files changed

+31
-74
lines changed

2 files changed

+31
-74
lines changed

ext/mysqli/mysqli.stub.php

Lines changed: 16 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -557,45 +557,17 @@ function mysqli_stmt_execute(mysqli_stmt $mysql_stmt): bool {}
557557

558558
function mysqli_execute(mysqli_stmt $mysql_stmt): bool {}
559559

560-
/**
561-
* @param mysqli_result $mysql_result
562-
*
563-
* @return object|bool
564-
*/
565-
function mysqli_fetch_field(mysqli_result $mysql_result) {}
560+
function mysqli_fetch_field(mysqli_result $mysql_result): object|false {}
566561

567562
function mysqli_fetch_fields(mysqli_result $mysql_result): array {}
568563

569-
/**
570-
* @param mysqli_result $mysql_result
571-
* @param int $offset
572-
*
573-
* @return object|bool
574-
*/
575-
function mysqli_fetch_field_direct(mysqli_result $mysql_result, int $offset) {}
564+
function mysqli_fetch_field_direct(mysqli_result $mysql_result, int $offset): object|false {}
576565

577-
/**
578-
* @param mysqli_result $mysql_result
579-
*
580-
* @return array|bool
581-
*/
582-
function mysqli_fetch_lengths(mysqli_result $mysql_result) {}
566+
function mysqli_fetch_lengths(mysqli_result $mysql_result): array|false {}
583567

584-
/**
585-
* @param mysqli_result $mysql_result
586-
* @param int $mode
587-
*
588-
* @return array|bool
589-
*/
590-
function mysqli_fetch_all(mysqli_result $mysql_result, int $mode = MYSQLI_NUM) {}
568+
function mysqli_fetch_all(mysqli_result $mysql_result, int $mode = MYSQLI_NUM): array|false {}
591569

592-
/**
593-
* @param mysqli_result $mysql_result
594-
* @param int $fetchtype
595-
*
596-
* @return array|bool
597-
*/
598-
function mysqli_fetch_array(mysqli_result $mysql_result, int $fetchtype = MYSQLI_BOTH) {}
570+
function mysqli_fetch_array(mysqli_result $mysql_result, int $fetchtype = MYSQLI_BOTH): array|false {}
599571

600572
function mysqli_fetch_assoc(mysqli_result $mysql_result): array {}
601573

@@ -637,12 +609,7 @@ function mysqli_init(): mysqli {}
637609

638610
function mysqli_info(mysqli $mysqli_link): string {}
639611

640-
/**
641-
* @param mysqli $mysqli_link
642-
*
643-
* @return int|string
644-
*/
645-
function mysqli_insert_id(mysqli $mysqli_link) {}
612+
function mysqli_insert_id(mysqli $mysqli_link): int|string {}
646613

647614
function mysqli_kill(mysqli $mysqli_link, int $processid): bool {}
648615

@@ -654,12 +621,7 @@ function mysqli_next_result(mysqli $mysqli_link): bool {}
654621

655622
function mysqli_num_fields(mysqli $mysqli_link): int {}
656623

657-
/**
658-
* @param mysqli $mysqli_link
659-
*
660-
* @return int|string
661-
*/
662-
function mysqli_num_rows(mysqli $mysqli_link) {}
624+
function mysqli_num_rows(mysqli $mysqli_link): int|string {}
663625

664626
function mysqli_options(mysqli $mysqli_link, int $mysql_option, mixed $mysql_value): bool {}
665627

@@ -671,7 +633,7 @@ function mysqli_poll(?array &$read, ?array &$write, ?array &$error, int $sec, in
671633
* @param mysqli $mysqli_link
672634
* @param string $query
673635
*
674-
* @return mysqli_stmt|bool
636+
* @return mysqli_stmt|false
675637
*/
676638
function mysqli_prepare(mysqli $mysqli_link, string $query) {}
677639

@@ -711,13 +673,7 @@ function mysqli_set_charset(mysqli $mysqli_link, string $cs_name): bool {}
711673

712674
function mysqli_stmt_affected_rows(mysqli_stmt $mysql_stmt): int {}
713675

714-
/**
715-
* @param mysqli_stmt $mysql_stmt
716-
* @param int $attr
717-
*
718-
* @return int|bool
719-
*/
720-
function mysqli_stmt_attr_get(mysqli_stmt $mysql_stmt, int $attr) {}
676+
function mysqli_stmt_attr_get(mysqli_stmt $mysql_stmt, int $attr): int|false {}
721677

722678
function mysqli_stmt_attr_set(mysqli_stmt $mysql_stmt, int $attr, int $mode_in): bool {}
723679

@@ -731,7 +687,7 @@ function mysqli_stmt_close(mysqli_stmt $mysql_stmt): bool {}
731687
* @param mysqli_stmt $mysql_stmt
732688
* @param int $offset
733689
*
734-
* @return void|bool
690+
* @return void|false
735691
*/
736692
function mysqli_stmt_data_seek(mysqli_stmt $mysql_stmt, int $offset) {}
737693

@@ -750,7 +706,7 @@ function mysqli_stmt_free_result(mysqli_stmt $mysql_stmt): void {}
750706
/**
751707
* @param mysqli_stmt $mysql_stmt
752708
*
753-
* @return mysqli_result|bool
709+
* @return mysqli_result|false
754710
*/
755711
function mysqli_stmt_get_result(mysqli_stmt $mysql_stmt) {}
756712

@@ -759,7 +715,7 @@ function mysqli_stmt_get_warnings(mysqli_stmt $mysql_stmt): mysqli_warning {}
759715
/**
760716
* @param mysqli $mysql_link
761717
*
762-
* @return mysqli_stmt|bool
718+
* @return mysqli_stmt|false
763719
*/
764720
function mysqli_stmt_init(mysqli $mysql_link) {}
765721

@@ -780,7 +736,7 @@ function mysqli_stmt_reset(mysqli_stmt $mysql_stmt): bool {}
780736
/**
781737
* @param mysqli_stmt $mysql_stmt
782738
*
783-
* @return mysqli_result|bool
739+
* @return mysqli_result|false
784740
*/
785741
function mysqli_stmt_result_metadata(mysqli_stmt $mysql_stmt) {}
786742

@@ -794,18 +750,13 @@ function mysqli_sqlstate(mysqli $mysqli_link): string {}
794750

795751
function mysqli_ssl_set(mysqli $mysql_link, string $key, string $cert, string $certificate_authority, string $certificate_authority_path, string $cipher): bool {}
796752

797-
/**
798-
* @param mysqli $mysql_link
799-
*
800-
* @return string|bool
801-
*/
802-
function mysqli_stat(mysqli $mysql_link) {}
753+
function mysqli_stat(mysqli $mysql_link): string|false {}
803754

804755
/**
805756
* @param mysqli $mysql_link
806757
* @param int $flags
807758
*
808-
* @return mysqli_result|bool
759+
* @return mysqli_result|false
809760
*/
810761
function mysqli_store_result(mysqli $mysql_link, int $flags = 0) {}
811762

@@ -816,7 +767,7 @@ function mysqli_thread_safe(): bool {}
816767
/**
817768
* @param mysqli $mysql_link
818769
*
819-
* @return mysqli_result|bool
770+
* @return mysqli_result|false
820771
*/
821772
function mysqli_use_result(mysqli $mysql_link) {}
822773

ext/mysqli/mysqli_arginfo.h

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -320,27 +320,29 @@ ZEND_END_ARG_INFO()
320320

321321
#define arginfo_mysqli_execute arginfo_mysqli_stmt_execute
322322

323-
ZEND_BEGIN_ARG_INFO_EX(arginfo_mysqli_fetch_field, 0, 0, 1)
323+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_mysqli_fetch_field, 0, 1, MAY_BE_OBJECT|MAY_BE_FALSE)
324324
ZEND_ARG_OBJ_INFO(0, mysql_result, mysqli_result, 0)
325325
ZEND_END_ARG_INFO()
326326

327327
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mysqli_fetch_fields, 0, 1, IS_ARRAY, 0)
328328
ZEND_ARG_OBJ_INFO(0, mysql_result, mysqli_result, 0)
329329
ZEND_END_ARG_INFO()
330330

331-
ZEND_BEGIN_ARG_INFO_EX(arginfo_mysqli_fetch_field_direct, 0, 0, 2)
331+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_mysqli_fetch_field_direct, 0, 2, MAY_BE_OBJECT|MAY_BE_FALSE)
332332
ZEND_ARG_OBJ_INFO(0, mysql_result, mysqli_result, 0)
333333
ZEND_ARG_TYPE_INFO(0, offset, IS_LONG, 0)
334334
ZEND_END_ARG_INFO()
335335

336-
#define arginfo_mysqli_fetch_lengths arginfo_mysqli_fetch_field
336+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_mysqli_fetch_lengths, 0, 1, MAY_BE_ARRAY|MAY_BE_FALSE)
337+
ZEND_ARG_OBJ_INFO(0, mysql_result, mysqli_result, 0)
338+
ZEND_END_ARG_INFO()
337339

338-
ZEND_BEGIN_ARG_INFO_EX(arginfo_mysqli_fetch_all, 0, 0, 1)
340+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_mysqli_fetch_all, 0, 1, MAY_BE_ARRAY|MAY_BE_FALSE)
339341
ZEND_ARG_OBJ_INFO(0, mysql_result, mysqli_result, 0)
340342
ZEND_ARG_TYPE_INFO(0, mode, IS_LONG, 0)
341343
ZEND_END_ARG_INFO()
342344

343-
ZEND_BEGIN_ARG_INFO_EX(arginfo_mysqli_fetch_array, 0, 0, 1)
345+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_mysqli_fetch_array, 0, 1, MAY_BE_ARRAY|MAY_BE_FALSE)
344346
ZEND_ARG_OBJ_INFO(0, mysql_result, mysqli_result, 0)
345347
ZEND_ARG_TYPE_INFO(0, fetchtype, IS_LONG, 0)
346348
ZEND_END_ARG_INFO()
@@ -410,7 +412,7 @@ ZEND_END_ARG_INFO()
410412

411413
#define arginfo_mysqli_info arginfo_mysqli_get_host_info
412414

413-
ZEND_BEGIN_ARG_INFO_EX(arginfo_mysqli_insert_id, 0, 0, 1)
415+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_mysqli_insert_id, 0, 1, MAY_BE_LONG|MAY_BE_STRING)
414416
ZEND_ARG_OBJ_INFO(0, mysqli_link, mysqli, 0)
415417
ZEND_END_ARG_INFO()
416418

@@ -482,7 +484,9 @@ ZEND_END_ARG_INFO()
482484

483485
#define arginfo_mysqli_real_query arginfo_mysqli_multi_query
484486

485-
#define arginfo_mysqli_reap_async_query arginfo_mysqli_insert_id
487+
ZEND_BEGIN_ARG_INFO_EX(arginfo_mysqli_reap_async_query, 0, 0, 1)
488+
ZEND_ARG_OBJ_INFO(0, mysqli_link, mysqli, 0)
489+
ZEND_END_ARG_INFO()
486490

487491
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mysqli_release_savepoint, 0, 2, _IS_BOOL, 0)
488492
ZEND_ARG_OBJ_INFO(0, mysqli_link, mysqli, 0)
@@ -511,7 +515,7 @@ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mysqli_stmt_affected_rows, 0, 1,
511515
ZEND_ARG_OBJ_INFO(0, mysql_stmt, mysqli_stmt, 0)
512516
ZEND_END_ARG_INFO()
513517

514-
ZEND_BEGIN_ARG_INFO_EX(arginfo_mysqli_stmt_attr_get, 0, 0, 2)
518+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_mysqli_stmt_attr_get, 0, 2, MAY_BE_LONG|MAY_BE_FALSE)
515519
ZEND_ARG_OBJ_INFO(0, mysql_stmt, mysqli_stmt, 0)
516520
ZEND_ARG_TYPE_INFO(0, attr, IS_LONG, 0)
517521
ZEND_END_ARG_INFO()
@@ -610,7 +614,9 @@ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mysqli_ssl_set, 0, 6, _IS_BOOL,
610614
ZEND_ARG_TYPE_INFO(0, cipher, IS_STRING, 0)
611615
ZEND_END_ARG_INFO()
612616

613-
#define arginfo_mysqli_stat arginfo_mysqli_stmt_init
617+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_mysqli_stat, 0, 1, MAY_BE_STRING|MAY_BE_FALSE)
618+
ZEND_ARG_OBJ_INFO(0, mysql_link, mysqli, 0)
619+
ZEND_END_ARG_INFO()
614620

615621
ZEND_BEGIN_ARG_INFO_EX(arginfo_mysqli_store_result, 0, 0, 1)
616622
ZEND_ARG_OBJ_INFO(0, mysql_link, mysqli, 0)

0 commit comments

Comments
 (0)