Matt Brown
b68995582e
Preserve reconciled taints for all but non-string scalar types
2021-01-29 11:46:05 +01:00
Matt Brown
6095800fc5
Fix redundant thing
2021-01-29 11:46:05 +01:00
Matt Brown
fb5e30850a
Fix #4503 - don’t ignore assertions on possibly-null mixed
2021-01-29 11:46:05 +01:00
Matt Brown
36a89c49bf
Consolidate similar functionality
2021-01-29 11:46:05 +01:00
Matt Brown
a79b7eeca3
Add more info to mic drop code
2021-01-29 11:46:04 +01:00
Matt Brown
d72e612223
Break apart IfElseAnalyzer
2021-01-29 11:46:04 +01:00
Matt Brown
3a9498658c
Rename IfAnalyzer
2021-01-29 11:46:04 +01:00
Matt Brown
64ade75d13
Get rid of version test, which is dumb
2021-01-29 11:46:04 +01:00
Matthew Brown
39ad587c3e
Update to more specific example
2021-01-29 11:46:04 +01:00
Matthew Brown
5d1dd3ca65
Add @weirdan's fix
2021-01-29 11:46:04 +01:00
Axel H
2f10ad0c24
Fix type inference when unpacking typed iterables ( #4487 )
...
* Add test for unpacking typed iterables
* Fix type inference when unpacking typed iterables into arrays
* Fix possibly undefined array offset
2021-01-29 11:46:04 +01:00
Matt Brown
578e65820a
Ensure we flush out re-assigned vars also referenced
...
Fixes #4488
2021-01-29 11:46:04 +01:00
Matt Brown
57cd29ee9d
Put assignment-in-conditional tests in their own file
2021-01-29 11:46:04 +01:00
Matt Brown
717b002550
Fix #4491 - support assertions in new calls
2021-01-29 11:46:03 +01:00
Matt Brown
b6becce86b
Support pure-Closure annotation
2021-01-29 11:46:03 +01:00
Matthew Brown
0482e16b7f
Fix formatting
2021-01-29 11:46:03 +01:00
Matt Brown
1389dc6adf
Allow opt-in to strict return type checking
2021-01-29 11:46:03 +01:00
Matt Brown
3483c59d9b
Fix #4479 - use correct keys in message
2021-01-29 11:46:03 +01:00
Matt Brown
e7a46452f5
Fix #4481 - ReflectionProperty implements Reflector
2021-01-29 11:46:03 +01:00
Matt Brown
c673d61fb2
Add functions
2021-01-29 11:46:03 +01:00
Matt Brown
9fe4faabb5
Break up CommentAnalyzer
2021-01-29 11:46:02 +01:00
Matt Brown
cc79cde8ee
Use more accurate type for div of ints
2021-01-29 11:45:03 +01:00
Matt Brown
48dcb19719
Fix #2132 - get value of literal int division
2021-01-29 11:45:03 +01:00
Matt Brown
d688d5fd74
Add support for @return never
2021-01-29 11:45:02 +01:00
Matt Brown
0f022c711d
Remove use of PHP 7.2 function
2021-01-29 11:45:02 +01:00
Matt Brown
fe587f61a8
Improve output of Clause::__toString
2021-01-29 11:45:02 +01:00
Matt Brown
8b44459c7c
Fix overeager inference
2021-01-29 11:45:02 +01:00
Matt Brown
d4846b14e6
Reorganise things a little
2021-01-29 11:45:02 +01:00
Philip Hofstetter
61a24c5577
improve mb_strtolower return type ( #4469 )
...
this fixes #4455
2021-01-29 11:45:02 +01:00
Matt Brown
42836815da
Fix function
2021-01-29 11:45:02 +01:00
Matt Brown
e3a352d287
Fix int-mask-of expansion
2021-01-29 11:45:02 +01:00
Matt Brown
b58782ae29
Use falsy value
2021-01-29 11:45:02 +01:00
Matt Brown
2a7feef5f6
Fix #4466 use better differentiation for class_exists second param
2021-01-29 11:45:01 +01:00
Matt Brown
4982a72da4
Fix dupe semicolons
2021-01-29 11:45:01 +01:00
Matt Brown
c07378a713
Fix #4467 - variables are only the same if they were set in the same location
2021-01-29 11:45:01 +01:00
Matt Brown
badf0855ce
Invalidate child methods when signature changes
2021-01-29 11:45:01 +01:00
Matt Brown
9d35e3c251
Fix #4464 - bust cache when Psalm’s version changes, not just composer’s
2021-01-29 11:45:01 +01:00
Matthew Brown
afc38b841c
Add aka
2021-01-29 11:45:01 +01:00
Matthew Brown
647e7de70c
Fix brackets
2021-01-29 11:45:01 +01:00
Matt Brown
15059aa50a
Support a bunch of attributes
2021-01-29 11:45:01 +01:00
Matt Brown
b217916f37
Use better inference for getAttributes return type
...
Fixes #4367
2021-01-29 11:45:00 +01:00
Matt Brown
c64597fa96
Only load xdebug stub afterwards
...
Ref #4459
2021-01-29 11:44:36 +01:00
Matt Brown
0ea0604cf3
Fix #4453 - sanitise @extends types before attempting to parse
2021-01-29 11:44:36 +01:00
Matt Brown
881068d5c0
Detect when targets are incorrectly targeted
2021-01-29 11:44:36 +01:00
Matt Brown
98b755fb6c
Add support for int-mask<...> and int-mask-of<...>
2021-01-29 11:44:35 +01:00
Jáchym Toušek
597b58d3a4
Add psalm-mutation-free to ext-ds ( #4425 )
...
* Add psalm-mutation-free to ext-ds
* Update ext-ds.php
* Update stubs/ext-ds.php
Co-authored-by: Jáchym Toušek <enumag@gmail.com>
Co-authored-by: Matthew Brown <github@muglug.com>
2021-01-29 11:44:35 +01:00
Joe Hoyle
7749682c71
Pass CodeLocation to FunctionParamsProviderInterface interface ( #4444 )
...
Currently the `getFunctionParams()` method of the `FunctionParamsProviderInterface` is never passed the CodeLocation of the analyzed function call. As this is in-scope in the only call site, we can pass the CodeLocation. This means the `getFunctionParams()` is able to issue it's own Issues (which required the code location to attached the Issue to)
2021-01-29 11:44:35 +01:00
Matt Brown
fb81fa13f4
Ensure Stringable is always available to tests that need it
2021-01-29 11:44:35 +01:00
Matt Brown
7c1c2f77f7
Use softer return
2021-01-29 11:44:35 +01:00
Matt Brown
2c2e171441
Use more robust check for Stringable stub
2021-01-29 11:44:35 +01:00