-
-
Notifications
You must be signed in to change notification settings - Fork 27
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Remove deprecated instanceof
#184
Conversation
Co-authored-by: Viktor Szépe <[email protected]>
We could open a ticket at @phpstan and talk to @ondrejmirtes about a function changing its return type based on its parameter Let's support only usage where there is only 1 |
I'd like to add more tests. Please wait with merging. |
I also thought we need something like that. |
I can't think of any other test cases to add. Do you? |
We already have much more tests than possible problems. Thank you. |
How exactly is the type looking in your more dynamic example? It's still a constant array though, right? (= array shape and not just e.g. array<.., ..>) Is the key just string then? Maybe it helps if you do checks for the key of the whole array? string|'fields' would be generalised to string and then you can handle this case differently maybe? Something like if the key is a supertype of string -> handle different. Or I misunderstood the problem :) |
We are digging too deep. |
* Remove deprecated `instanceof` * Remove space Co-authored-by: Viktor Szépe <[email protected]> * Return early * Fix handling of fields unions * Add tests --------- Co-authored-by: Viktor Szépe <[email protected]>
* Remove has_filter extension * Remove current_time extension * Remove mysql2date extension * Remove get_object_taxonomies extension * Remove get_taxonomies extension * Adapt get_post extension to new stub file * Adapt get_comment extension to new stub file * Fix CS * Update composer.json * Remove WP_Theme::get() * Remove get_permalink extension * Update .travis.yml * Remove term_exists extension * Update wp_error parameter extension * Update GetPostDynamicFunctionReturnTypeExtension.php * Fully remove wp_error parameter extension * Merge get_comment extension into get_post extension * Remove type specifiying extension and rule for `is_wp_error()` * Update README.md Co-authored-by: Viktor Szépe <[email protected]> * Remove echo parameter extension * Remove _get_list_table extension * Revert "Remove _get_list_table extension" This reverts commit 0191253. * Update get_post.php * Fix earlyTerminatingMethodCalls syntax (#173) * Remove deprecated instanceof (#183) * Remove deprecated `instanceof` (#184) * Remove deprecated `instanceof` * Remove space Co-authored-by: Viktor Szépe <[email protected]> * Return early * Fix handling of fields unions * Add tests --------- Co-authored-by: Viktor Szépe <[email protected]> * Remove deprecated `instanceof` (#185) * Fix CS (#186) * Fix CS * Fix PHP 7.2 compat. * Fix _get_list_table extension (#190) * Revert "Update composer.json" This reverts commit d15b7e1. --------- Co-authored-by: Viktor Szépe <[email protected]> Co-authored-by: Der Mundschenk & Compagnie <[email protected]>
What I was wondering when updating this extension. I can have a non constant array that has a key
'fields'
.get_post($array)
with the fields first case returnsarray<int, int|WP_Post>
because$_GET['foo']
may be'fields'
and overwrite'ids'
.get_post($array)
with the fields last case returnsarray<int, int>
as'fields'
is not affected by$_GET['foo']
and hence will be'ids'
. With limited PHPStan knowledge, I was not able to find a way to check the order of$_GET['foo']
and'fields'
or more specifically to check whether there is a non constant key after the fields key.Is there a simple way to check the order of the keys with PHPStan?
Part of #149