-
Notifications
You must be signed in to change notification settings - Fork 678
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
Merge 4.x #8591
Merge 4.x #8591
Conversation
…multiple-psalm-instances use lock to fix race condition in cache
…rror-log use error_log instead of trigger_error
Fix GEOSGeometry stubs with default values
New "Count" Report Format
… static methods inside a different class differentiate between `static` defined in a class which CALLS a given static method, and `static` defined in the method which IS CALLED.
…Type() for non-object cases
…xistingAtomicStaticCallAnalyzer::getMethodReturnType()
Adds support for fixing missing throws doc block
Fix nullable return types for CallMap functions
Improve inferring the "final" `static` type when calling static methods inside a different class
…fig-not-working fix triggerErrorExits not working
Fixed ini_set types for arg value
…-empty-strings Add additional checks for concat of non-empty strings to return non-falsy
…meimmutable-sub Correct return type of DateTimeImmutable sub method stub
I reverted a change in the CastAnalyzer that caused the creation of disjoint integer ranges, which aren't properly supported by all of psalm right now. As usual, phpunit errors are caused by an outdated baseline, I think I'll just re-update the baseline on my immutability PR to include new errors. |
@danog what part of CastAnalyzer was reverted? (I guess it was part of my PR) Just asking, in case I can improve it to return a generic int in case we have disjoint ranges, instead of reverting that part. |
It was precisely this commit from master: 525a86e The TypeCombiner has a very generic logic which joins literals with integer ranges by always extending the lower/higher bound, even for non-adjacent values (ie This should be fixed separately by improving the literal+range and range+range combining logic directly inside TypeCombiner to generate multiple distinct disjoint ranges and literals, and I actually started doing that, but then noticed that some parts of psalm like offset detection misbehaved with literal+range unions, so I postponed this for a later PR. The current version contained in this PR properly casts booleans, but generates an overly large integer range. |
Thanks a lot! |
No description provided.