1
0
mirror of https://github.com/danog/psalm.git synced 2024-11-30 04:39:00 +01:00
Commit Graph

7214 Commits

Author SHA1 Message Date
Brown
ca1b29b1dd
Report use of impure closures 2021-01-29 11:38:47 +01:00
Markus Staab
2375a3b2cd
docs: added positive integer (#4078)
* docs: added positive integer

* added to toc
2021-01-29 11:38:47 +01:00
Brown
9190571cfc
Remove some redundant calls 2021-01-29 11:38:47 +01:00
Brown
02255ae26b
Fix #4077 - always track closure purity 2021-01-29 11:38:47 +01:00
Brown
7beb274671
Fix typo 2021-01-29 11:38:47 +01:00
Brown
5835eec863
Fix #4061 - allow indirect null comparison check 2021-01-29 11:38:46 +01:00
Brown
489cd99752
Allow bare pure-callable in namespace cc @azjezz 2021-01-29 11:38:46 +01:00
Brown
317131b524
Simplify simplification 2021-01-29 11:38:46 +01:00
Saif Eddin G
a0a30c500c
add pure-callable type (#4066) 2021-01-29 11:38:46 +01:00
Brown
a716185564
Fix too-long line 2021-01-29 11:38:46 +01:00
Brown
6d43a6696c
Make clause fully immutable 2021-01-29 11:38:46 +01:00
Brown
b09309aa92
Prevent unset on immutable properties 2021-01-29 11:38:46 +01:00
Brown
7623e31829
Use a slightly cleaner fix 2021-01-29 11:38:46 +01:00
Brown
11ee00442d
Refine iterable key after is_array check
Ref #4038
2021-01-29 11:38:46 +01:00
Brown
e585955c96
Use immutable data structures for clause calculations 2021-01-29 11:38:45 +01:00
Brown
20139e7473
Fix #4064 - assume most iterators are impure 2021-01-29 11:38:45 +01:00
Brown
ab8d794709
Refine test for windows compat 2021-01-29 11:38:45 +01:00
Brown
4735ca39e2
Fix get_class-inferred templating 2021-01-29 11:38:45 +01:00
Brown
a0a9c9b7bc
Fix #4038 - don’t remove null types unnecessarily in mixed union 2021-01-29 11:38:45 +01:00
Brown
a466feda18
Fix type bug 2021-01-29 11:38:45 +01:00
Brown
bd7f207e31
Preserve intersections when expanding templated types
Fixes #4043
2021-01-29 11:38:45 +01:00
Brown
6aa8a492ac
Create empty params by default for SplObjectStorage
Fixes #4055
2021-01-29 11:38:45 +01:00
Brown
51bfb3666b
Fix #4052 - foreach over an iterable is impure 2021-01-29 11:38:45 +01:00
Brown
8ca604a533
Expand object-with-properties
Fixes #4057
2021-01-29 11:38:45 +01:00
Brown
f9b48163e0
Add a bunch of immutable & pure annotations 2021-01-29 11:38:44 +01:00
Brown
91e1e5f0f6
Fix #4036 - add immutable annotations automatically too 2021-01-29 11:38:44 +01:00
Bruce Weirdan
1ac27d6d22
Fix prophecy warnings (#4051)
* Use weirdan/prophecy-shim to avoid PHPUnit warnings on prophesize() calls

* Drop vcs repo as the package is already available on packagist

* Bump psalm/plugin-phpunit

Fixes Prophecy-related issues
2021-01-29 11:38:44 +01:00
Tom Klingenberg
fd96419527
Revert config schema, fix b/c break (#4046)
Previous in d5055ea the allowCoercionFromStringToClassConst attribute has
been removed from the XML configuration file per its schema.

While technically correct (was removed in 3.0), this breaks b/c between
minor versions, breaks with the release of 3.14.0.

Fix is revert.

Ref: d5055ea1d4
Caused-by: #3982
2021-01-29 11:38:44 +01:00
Matthew Brown
c4074012f8
Fix immutable tests 2021-01-29 11:38:44 +01:00
Brown
596492a95a
Only add pure when not overriding upstream 2021-01-29 11:38:44 +01:00
Brown
fe5fd82a93
Fix ImpureVariable test 2021-01-29 11:38:44 +01:00
Brown
e938e73549
Add a couple more pure annotations 2021-01-29 11:38:44 +01:00
Brown
5513fcdcff
Prevent isset on uknown property in pure function 2021-01-29 11:38:44 +01:00
Brown
1ec0f35011
Only add pure to functions with params 2021-01-29 11:38:43 +01:00
Brown
9100c26439
Prevent use of $this in pure functions 2021-01-29 11:38:43 +01:00
Brown
e9f07ac4b4
Add another pure annotation 2021-01-29 11:38:43 +01:00
Brown
ee41560590
Allow function manipulators to work in threaded mode 2021-01-29 11:38:43 +01:00
Matthew Brown
07843d4768
Don’t add pure annotation when closure is impure 2021-01-29 11:38:43 +01:00
Matthew Brown
fffa0a72c0
Add another pure annotation 2021-01-29 11:38:43 +01:00
Matthew Brown
2e2f0a2386
Don’t add @psalm-pure for void-returning functions 2021-01-29 11:38:43 +01:00
Matthew Brown
5656591962
Add some pure annotations 2021-01-29 11:38:43 +01:00
Matthew Brown
5dc60d7d6a
Fix docblock removal 2021-01-29 11:38:43 +01:00
Matthew Brown
ae51f40a54
glob is impure 2021-01-29 11:38:43 +01:00
Matthew Brown
68b97591d9
Nest new impure checks 2021-01-29 11:38:42 +01:00
Matthew Brown
601a8fdcb6
Restrict pure annotation addition a little more 2021-01-29 11:38:42 +01:00
Matthew Brown
0c3306b002
Add more impure functions 2021-01-29 11:38:42 +01:00
Matthew Brown
9d6939226e
Static property fetching is bad 2021-01-29 11:38:42 +01:00
Matthew Brown
8589e4af55
Fix docs 2021-01-29 11:38:41 +01:00
Brown
bc945b98bd
Allow modification after clone in pure context 2021-01-29 11:38:04 +01:00
Brown
47faea8ca3
Prohibit property fetches from pure contexts except when they’re on immutable objects 2021-01-29 11:38:04 +01:00