Matt Brown
6da0905478
Separate out good from the bad
2020-11-08 12:29:23 -05:00
Matt Brown
324e9d11c3
Fix tests
2020-11-08 11:04:39 -05:00
Matt Brown
67f9853756
Preserve reconciled taints for all but non-string scalar types
2020-11-08 10:27:58 -05:00
Matt Brown
b635353cf4
Fix redundant thing
2020-11-08 10:18:32 -05:00
Matt Brown
dccf236d16
Fix #4503 - don’t ignore assertions on possibly-null mixed
2020-11-08 10:06:39 -05:00
Matt Brown
b8f5d16e9f
Consolidate similar functionality
2020-11-07 00:58:20 -05:00
Matt Brown
bb5b5142d6
Add more info to mic drop code
2020-11-06 21:36:38 -05:00
Matt Brown
45b3dce631
Break apart IfElseAnalyzer
2020-11-06 21:01:17 -05:00
Matt Brown
3359e7699a
Rename IfAnalyzer
2020-11-06 20:51:14 -05:00
Matt Brown
9d7414cbbd
Get rid of version test, which is dumb
2020-11-06 18:24:23 -05:00
Matthew Brown
cc5e940b28
Update to more specific example
2020-11-06 17:56:39 -05:00
Matthew Brown
1f84b23f2a
Add @weirdan's fix
2020-11-06 17:53:39 -05:00
Axel H
271e0d86be
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
2020-11-06 17:24:01 -05:00
Matt Brown
9daa534656
Ensure we flush out re-assigned vars also referenced
...
Fixes #4488
2020-11-06 12:51:41 -05:00
Matt Brown
3cde617ecc
Put assignment-in-conditional tests in their own file
2020-11-06 12:41:00 -05:00
Matt Brown
6b06ecec39
Fix #4491 - support assertions in new calls
2020-11-06 11:55:19 -05:00
Matt Brown
debedf2c96
Support pure-Closure annotation
2020-11-06 00:38:57 -05:00
Matthew Brown
1c66646e72
Fix formatting
2020-11-05 19:23:54 -05:00
Matt Brown
388e804ed8
Allow opt-in to strict return type checking
2020-11-05 18:20:04 -05:00
Matt Brown
d47d817843
Fix #4479 - use correct keys in message
2020-11-05 10:13:08 -05:00
Matt Brown
e9dd16f336
Fix #4481 - ReflectionProperty implements Reflector
2020-11-05 09:29:20 -05:00
Matt Brown
b3ff107c20
Add functions
2020-11-04 23:34:38 -05:00
Matt Brown
3bde327f1b
Break up CommentAnalyzer
2020-11-04 23:25:08 -05:00
Matt Brown
f3c6d70a9b
Use more accurate type for div of ints
2020-11-04 22:39:27 -05:00
Matt Brown
eacc05e73f
Fix #2132 - get value of literal int division
2020-11-04 22:32:33 -05:00
Matt Brown
3e9c5d3600
Add support for @return never
2020-11-04 12:30:02 -05:00
Matt Brown
b5a3f45d52
Remove use of PHP 7.2 function
2020-11-04 11:02:34 -05:00
Matt Brown
590af31449
Improve output of Clause::__toString
2020-11-03 17:02:37 -05:00
Matt Brown
91d9dc3759
Fix overeager inference
2020-11-03 16:44:24 -05:00
Matt Brown
b35db3e523
Reorganise things a little
2020-11-03 16:15:54 -05:00
Philip Hofstetter
5abde20fd0
improve mb_strtolower return type ( #4469 )
...
this fixes #4455
2020-11-02 08:18:42 -05:00
Matt Brown
16bfbd9224
Fix function
2020-11-02 00:54:12 -05:00
Matt Brown
3d4e77beb6
Fix int-mask-of expansion
2020-11-02 00:40:36 -05:00
Matt Brown
09228131d8
Use falsy value
2020-11-01 22:57:30 -05:00
Matt Brown
6922caf9f6
Fix #4466 use better differentiation for class_exists second param
2020-11-01 13:14:17 -05:00
Matt Brown
966b139504
Fix dupe semicolons
2020-11-01 11:42:09 -05:00
Matt Brown
024d93b7fd
Fix #4467 - variables are only the same if they were set in the same location
2020-11-01 11:26:42 -05:00
Matt Brown
f0a30b9fd0
Invalidate child methods when signature changes
2020-11-01 09:46:21 -05:00
Matt Brown
667220408c
Fix #4464 - bust cache when Psalm’s version changes, not just composer’s
2020-11-01 09:01:53 -05:00
Matthew Brown
8f05cc994a
Add aka
2020-10-31 00:18:23 -04:00
Matthew Brown
4966754358
Fix brackets
2020-10-30 23:42:47 -04:00
Matt Brown
957a554c4b
Support a bunch of attributes
2020-10-30 21:38:27 -04:00
Matt Brown
938cebc9f8
Use better inference for getAttributes return type
...
Fixes #4367
2020-10-30 17:37:16 -04:00
Matt Brown
cbd09adb2a
Only load xdebug stub afterwards
...
Ref #4459
2020-10-30 15:11:40 -04:00
Matt Brown
67554dd017
Fix #4453 - sanitise @extends types before attempting to parse
2020-10-30 15:08:23 -04:00
Matt Brown
579327a470
Detect when targets are incorrectly targeted
2020-10-30 13:28:45 -04:00
Matt Brown
4ea87b9054
Add support for int-mask<...> and int-mask-of<...>
2020-10-30 13:28:45 -04:00
Jáchym Toušek
8929bde535
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>
2020-10-29 19:55:10 -04:00
Joe Hoyle
4bb675ea72
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)
2020-10-29 19:53:21 -04:00
Matt Brown
82f35c1454
Ensure Stringable is always available to tests that need it
2020-10-29 19:41:10 -04:00