Matt Brown
|
36af6d70d2
|
Fix tests
|
2021-01-29 11:46:05 +01:00 |
|
Matt Brown
|
b68995582e
|
Preserve reconciled taints for all but non-string scalar types
|
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
|
64ade75d13
|
Get rid of version test, which is dumb
|
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
|
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
|
d688d5fd74
|
Add support for @return never
|
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 |
|
Matt Brown
|
e3a352d287
|
Fix int-mask-of expansion
|
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
|
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 |
|
Matt Brown
|
b217916f37
|
Use better inference for getAttributes return type
Fixes #4367
|
2021-01-29 11:45:00 +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 |
|
Matt Brown
|
fb81fa13f4
|
Ensure Stringable is always available to tests that need it
|
2021-01-29 11:44:35 +01:00 |
|
Matt Brown
|
9f87b99fac
|
Fix #4435 - ensure casts are always flow-sensitive
|
2021-01-29 11:44:35 +01:00 |
|
Matt Brown
|
ab90097baf
|
Remove subpar test
|
2021-01-29 11:44:35 +01:00 |
|
Matt Brown
|
3ebdb3b952
|
Use more accurate comparison for non-empty-lists
|
2021-01-29 11:44:34 +01:00 |
|
Matt Brown
|
951c3715f7
|
Fix tests
|
2021-01-29 11:44:33 +01:00 |
|
Matt Brown
|
35fd64bf74
|
Fix test type
|
2021-01-29 11:44:33 +01:00 |
|
Matt Brown
|
106747487b
|
Fix #4429 - any class with a __toString method in PHP8 assumed to implement Stringable
|
2021-01-29 11:44:33 +01:00 |
|
Matt Brown
|
7f975045f4
|
Fix #4422 - be aware of nested template params
|
2021-01-29 11:44:33 +01:00 |
|
Matt Brown
|
e440baf671
|
Improve algebra handling a little better
|
2021-01-29 11:44:33 +01:00 |
|
Matt Brown
|
870d07ba51
|
Fix #4418 - improve try analysis for mixed, too
|
2021-01-29 11:44:32 +01:00 |
|
Matt Brown
|
c16d779bca
|
Fix #4397 - allow offsetGet on inside isset
|
2021-01-29 11:44:32 +01:00 |
|
Matt Brown
|
e8b3f55013
|
Track final-ness of class when evaluating trait returns
|
2021-01-29 11:44:31 +01:00 |
|
Matt Brown
|
5aee8e77d5
|
Fix #4414 - allow multiple @psalm-assert-if-true on same var
|
2021-01-29 11:44:31 +01:00 |
|
Matt Brown
|
eef4ea018b
|
Empty checks variables are really falsy checks
|
2021-01-29 11:44:31 +01:00 |
|
Matt Brown
|
a57d62b71b
|
Add logic to weed out unnecessary clauses
|
2021-01-29 11:44:30 +01:00 |
|
Matt Brown
|
3ff2116c17
|
Add basic support for PHP attributes
Ref #4367 - supports creation and argument checks
|
2021-01-29 11:44:30 +01:00 |
|
Matt Brown
|
e90b595b92
|
Break apart ReflectorVisitor
|
2021-01-29 11:44:29 +01:00 |
|
Matt Brown
|
67859ed19b
|
Invalidate signature types when use changes
|
2021-01-29 11:41:13 +01:00 |
|
Matt Brown
|
3731255f6f
|
Fix #4386 - fix issues with property promotion
|
2021-01-29 11:41:13 +01:00 |
|
feek
|
d1b7cf6860
|
feature: ensure universal object crate class exists (#4375)
|
2021-01-29 11:41:13 +01:00 |
|
Matt Brown
|
7df404bfb5
|
Fix #4374 - prevent paradox and allow Psalm to understand more assignments in conditionals
|
2021-01-29 11:41:13 +01:00 |
|
Matt Brown
|
26352d0e39
|
Fix #3625 - getIterator call is used inside loop
|
2021-01-29 11:41:12 +01:00 |
|
Matt Brown
|
d7a0b718ec
|
Fix #4372 - count implicitly-used short-closure vars as used
|
2021-01-29 11:41:12 +01:00 |
|
Matt Brown
|
b3e423fd03
|
Fix #4368 - improve handling of try with finally
|
2021-01-29 11:41:12 +01:00 |
|
Niclas van Eyk
|
5f019cef53
|
Initial proposal for psalm-require-{extends, implements} (#4361)
* initial implementation of psalm-require-extends
* Added @psalm-require-implements
* Added shortcode for ExtensionRequirementViolation
* Docs & cofig entries for @pasalm-require-{implements,extends}
* Added requirement violations to issues.md
|
2021-01-29 11:41:10 +01:00 |
|
Matt Brown
|
dab7da02bd
|
Fix #4366 - possibly-undefined vars in finally block should not error
|
2021-01-29 11:39:59 +01:00 |
|
Matt Brown
|
481cf84b94
|
Don’t overwrite true flag
|
2021-01-29 11:39:58 +01:00 |
|
Matt Brown
|
74d6f166c1
|
Be more explicit about negation
|
2021-01-29 11:39:58 +01:00 |
|
Matt Brown
|
8043683f26
|
Ignore just-coerced vars
|
2021-01-29 11:39:58 +01:00 |
|