1
0
mirror of https://github.com/danog/psalm.git synced 2024-11-26 20:34:47 +01:00
Commit Graph

3648 Commits

Author SHA1 Message Date
Matt Brown
fbafb9e97f
Fix #4509 - treat expression-derived constants as mixed 2021-01-29 11:46:06 +01:00
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