From 9e9e8d9912f45669b9da646723ef11a8d519c13e Mon Sep 17 00:00:00 2001 From: Martin Herndl Date: Sun, 11 Feb 2024 19:39:20 +0100 Subject: [PATCH 1/2] Fix phpcs Refs: https://github.com/szepeviktor/phpcs-psr-12-neutron-hybrid-ruleset/releases/tag/v0.11.0 --- composer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer.json b/composer.json index 531ac8d0..7c206a88 100644 --- a/composer.json +++ b/composer.json @@ -16,7 +16,7 @@ "phpdocumentor/reflection-docblock": "^5.3", "phpstan/phpstan": "^1.10.12", "phpunit/phpunit": "^9.5", - "szepeviktor/phpcs-psr-12-neutron-hybrid-ruleset": "^0.8" + "szepeviktor/phpcs-psr-12-neutron-hybrid-ruleset": "^0.11" }, "suggest": { "paragonie/sodium_compat": "Pure PHP implementation of libsodium", From e0d25f22ab531ef2b035897148573f9b70e9157a Mon Sep 17 00:00:00 2001 From: Martin Herndl Date: Sun, 11 Feb 2024 19:43:17 +0100 Subject: [PATCH 2/2] Fix PHPStan Refs: https://github.com/phpstan/phpstan/releases/tag/1.10.49 (Transform void to null after call) --- composer.json | 2 +- tests/data/echo_parameter.php | 116 +++++++++++++++++----------------- tests/data/wpdb.php | 8 +-- 3 files changed, 63 insertions(+), 63 deletions(-) diff --git a/composer.json b/composer.json index 7c206a88..0dde6651 100644 --- a/composer.json +++ b/composer.json @@ -14,7 +14,7 @@ "nikic/php-parser": "^4.13", "php-stubs/generator": "^0.8.3", "phpdocumentor/reflection-docblock": "^5.3", - "phpstan/phpstan": "^1.10.12", + "phpstan/phpstan": "^1.10.49", "phpunit/phpunit": "^9.5", "szepeviktor/phpcs-psr-12-neutron-hybrid-ruleset": "^0.11" }, diff --git a/tests/data/echo_parameter.php b/tests/data/echo_parameter.php index 985e279e..f3519923 100644 --- a/tests/data/echo_parameter.php +++ b/tests/data/echo_parameter.php @@ -25,80 +25,80 @@ use function PHPStan\Testing\assertType; // Default value of true -assertType('void', comment_class()); -assertType('void', edit_term_link()); -assertType('void', get_calendar()); -assertType('void', next_posts()); -assertType('void', post_type_archive_title()); -assertType('void', previous_posts()); -assertType('void', single_cat_title()); -assertType('void|false', single_month_title()); -assertType('void', single_post_title()); -assertType('void', single_tag_title()); -assertType('void', single_term_title()); -assertType('void', the_date()); -assertType('void', the_modified_date()); -assertType('void', the_title()); -assertType('void', wp_loginout()); -assertType('void', wp_register()); -assertType('void', wp_title()); +assertType('null', comment_class()); +assertType('null', edit_term_link()); +assertType('null', get_calendar()); +assertType('null', next_posts()); +assertType('null', post_type_archive_title()); +assertType('null', previous_posts()); +assertType('null', single_cat_title()); +assertType('false|null', single_month_title()); +assertType('null', single_post_title()); +assertType('null', single_tag_title()); +assertType('null', single_term_title()); +assertType('null', the_date()); +assertType('null', the_modified_date()); +assertType('null', the_title()); +assertType('null', wp_loginout()); +assertType('null', wp_register()); +assertType('null', wp_title()); // Explicit value of true $value = true; -assertType('void', comment_class('', null, null, $value)); -assertType('void', edit_term_link('', '', '', null, $value)); -assertType('void', get_calendar(true, $value)); -assertType('void', next_posts(0, $value)); -assertType('void', post_type_archive_title('', $value)); -assertType('void', previous_posts($value)); -assertType('void', single_cat_title('', $value)); -assertType('void|false', single_month_title('', $value)); -assertType('void', single_post_title('', $value)); -assertType('void', single_tag_title('', $value)); -assertType('void', single_term_title('', $value)); -assertType('void', the_date('', '', '', $value)); -assertType('void', the_modified_date('', '', '', $value)); -assertType('void', the_title('', '', $value)); -assertType('void', wp_loginout('', $value)); -assertType('void', wp_register('', '', $value)); -assertType('void', wp_title('', $value)); +assertType('null', comment_class('', null, null, $value)); +assertType('null', edit_term_link('', '', '', null, $value)); +assertType('null', get_calendar(true, $value)); +assertType('null', next_posts(0, $value)); +assertType('null', post_type_archive_title('', $value)); +assertType('null', previous_posts($value)); +assertType('null', single_cat_title('', $value)); +assertType('false|null', single_month_title('', $value)); +assertType('null', single_post_title('', $value)); +assertType('null', single_tag_title('', $value)); +assertType('null', single_term_title('', $value)); +assertType('null', the_date('', '', '', $value)); +assertType('null', the_modified_date('', '', '', $value)); +assertType('null', the_title('', '', $value)); +assertType('null', wp_loginout('', $value)); +assertType('null', wp_register('', '', $value)); +assertType('null', wp_title('', $value)); // Explicit value of false $value = false; assertType('string', comment_class('', null, null, $value)); -assertType('string|void', edit_term_link('', '', '', null, $value)); +assertType('string|null', edit_term_link('', '', '', null, $value)); assertType('string', get_calendar(true, $value)); assertType('string', next_posts(0, $value)); -assertType('string|void', post_type_archive_title('', $value)); +assertType('string|null', post_type_archive_title('', $value)); assertType('string', previous_posts(false)); -assertType('string|void', single_cat_title('', $value)); +assertType('string|null', single_cat_title('', $value)); assertType('string|false', single_month_title('', $value)); -assertType('string|void', single_post_title('', $value)); -assertType('string|void', single_tag_title('', $value)); -assertType('string|void', single_term_title('', $value)); +assertType('string|null', single_post_title('', $value)); +assertType('string|null', single_tag_title('', $value)); +assertType('string|null', single_term_title('', $value)); assertType('string', the_date('', '', '', $value)); assertType('string', the_modified_date('', '', '', $value)); -assertType('string|void', the_title('', '', $value)); +assertType('string|null', the_title('', '', $value)); assertType('string', wp_loginout('', $value)); assertType('string', wp_register('', '', $value)); assertType('string', wp_title('', $value)); // Unknown value $value = isset($_GET['foo']); -assertType('string|void', comment_class('', null, null, $value)); -assertType('string|void', edit_term_link('', '', '', null, $value)); -assertType('string|void', get_calendar(true, $value)); -assertType('string|void', next_posts(0, $value)); -assertType('string|void', post_type_archive_title('', $value)); -assertType('string|void', previous_posts($value)); -assertType('string|void', single_cat_title('', $value)); -assertType('string|void|false', single_month_title('', $value)); -assertType('string|void', single_post_title('', $value)); -assertType('string|void', single_tag_title('', $value)); -assertType('string|void', single_term_title('', $value)); -assertType('string|void', the_date('', '', '', $value)); -assertType('string|void', the_modified_date('', '', '', $value)); -assertType('string|void', the_title('', '', $value)); -assertType('string|void', wp_loginout('', $value)); -assertType('string|void', wp_register('', '', $value)); -assertType('string|void', wp_title('', $value)); +assertType('string|null', comment_class('', null, null, $value)); +assertType('string|null', edit_term_link('', '', '', null, $value)); +assertType('string|null', get_calendar(true, $value)); +assertType('string|null', next_posts(0, $value)); +assertType('string|null', post_type_archive_title('', $value)); +assertType('string|null', previous_posts($value)); +assertType('string|null', single_cat_title('', $value)); +assertType('string|false|null', single_month_title('', $value)); +assertType('string|null', single_post_title('', $value)); +assertType('string|null', single_tag_title('', $value)); +assertType('string|null', single_term_title('', $value)); +assertType('string|null', the_date('', '', '', $value)); +assertType('string|null', the_modified_date('', '', '', $value)); +assertType('string|null', the_title('', '', $value)); +assertType('string|null', wp_loginout('', $value)); +assertType('string|null', wp_register('', '', $value)); +assertType('string|null', wp_title('', $value)); diff --git a/tests/data/wpdb.php b/tests/data/wpdb.php index 3f7398cb..551a0298 100644 --- a/tests/data/wpdb.php +++ b/tests/data/wpdb.php @@ -8,10 +8,10 @@ use function PHPStan\Testing\assertType; // wpdb::get_row() -assertType('stdClass|void|null', wpdb::get_row()); -assertType('stdClass|void|null', wpdb::get_row(null, 'OBJECT')); -assertType('array|void|null', wpdb::get_row(null, 'ARRAY_A')); -assertType('list|void|null', wpdb::get_row(null, 'ARRAY_N')); +assertType('stdClass|null', wpdb::get_row()); +assertType('stdClass|null', wpdb::get_row(null, 'OBJECT')); +assertType('array|null', wpdb::get_row(null, 'ARRAY_A')); +assertType('list|null', wpdb::get_row(null, 'ARRAY_N')); // wpdb::get_results() assertType('list|null', wpdb::get_results(null, 'ARRAY_A'));