1
0
mirror of https://github.com/danog/psalm.git synced 2024-12-14 10:17:33 +01:00
Commit Graph

8168 Commits

Author SHA1 Message Date
adrew
6e1957e40a Support higher order func arg inference for static and instance calls 2022-01-18 18:45:28 +03:00
adrew
12648f4c9e Comments for describe how works higher order func arg inference 2022-01-18 13:36:16 +03:00
adrew
ffdf97c44d Remove unused function 2022-01-18 13:17:50 +03:00
adrew
a0bda8683a Rename method 2022-01-18 13:13:17 +03:00
adrew
6f9b6f8538 Fix psalm issues 2022-01-18 12:53:39 +03:00
adrew
cce1f9a407 Some refactoring and doc for high order function argument handling 2022-01-18 12:44:36 +03:00
adrew
00ce1107d3 Infer partially applied closure arg by previous function arg 2022-01-18 03:02:21 +03:00
Fabien Villepinte
c9eafa15ad Improve signature of DOMDocument::loadXML() 2022-01-17 22:52:58 +00:00
Ricardo Boss
26dd4c5b8f
Try to provide literal int types when possible (fixes #6966) (#7071)
* Fixed vimeo/psalm#6966

* Only accept >= 0 values for mode argument in round()

* Made round() only return float or literal float values and remove unneeded test

* Registered RoundReturnTypeProvider

* Updated cast analyzer to handle single string literal int values as literal ints

* Fixed psalm errors

* Fix invalid property accesses

* Addressed comments

* Added Tests

* Marked RoundReturnTypeProvider as internal

* Fixed CS
2022-01-16 21:33:04 +01:00
andrew
10012c9e09 Fix self parsing for psalm-if-this-is and psalm-self-out 2022-01-16 16:11:40 +03:00
orklah
de824d6724
Merge pull request #7403 from orklah/readonly_phpdoc_promoted
support @readonly for promoted properties
2022-01-16 09:38:37 +01:00
orklah
e26e022428 support @readonly for promoted properties 2022-01-16 09:31:58 +01:00
orklah
3c726e76df
Merge pull request #7401 from orklah/getObjectVarsNoValue
Psalm can't be sure get_object_vars will return an empty array unless object is known AND final
2022-01-15 23:27:33 +01:00
orklah
bf9845a4aa Psalm can't be sure get_object_vars will return an empty array unless object is known AND final 2022-01-15 21:36:46 +01:00
orklah
dc1132a915 Better Handling of TPositiveInt combined with TIntRange 2022-01-15 21:29:24 +01:00
orklah
5b82082bbd Merge remote-tracking branch 'upstream/4.x' into upstream-master2 2022-01-15 20:21:00 +01:00
Matthew Brown
dd8df37572 Remove never-used assertion check 2022-01-15 13:38:00 -05:00
orklah
4e27889736
Merge pull request #7384 from tm1000/bugfix/catch-additional-InvalidArgumentException
Catch additional InvalidArgumentException
2022-01-15 11:32:15 +01:00
orklah
9a9243e5fe
Merge pull request #7385 from b2pweb/handle-template-on-pseudo-method
Add support of template for docblock methods
2022-01-15 11:26:03 +01:00
orklah
75947c97c6
Merge pull request #7391 from b2pweb/docblock-method-inheritance
Handle inherited docblock method
2022-01-15 11:24:06 +01:00
orklah
fb30d831c6
Merge pull request #7398 from orklah/reconciliation
use Reconciler::RECONCILIATION_*
2022-01-14 21:44:16 +01:00
orklah
b3e7f12933 Prevent NoValue when there is no phpdoc 2022-01-14 21:39:23 +01:00
orklah
d2faa5b94f fix errors after merge 2022-01-14 21:13:34 +01:00
orklah
b633619a2c Merge remote-tracking branch 'upstream/4.x' into upstream-master 2022-01-14 21:01:25 +01:00
orklah
4a85fed181 use Reconciler::RECONCILIATION_* 2022-01-14 19:39:18 +01:00
orklah
9ac77e9512
Merge pull request #6521 from orklah/callable-non-falsy
TCallableString is non-falsy (0 can't be a functionlike name)
2022-01-14 19:38:41 +01:00
orklah
d786e9deef deprecate attribute forbidEcho 2022-01-14 19:31:03 +01:00
orklah
93fe3e81d4
Merge pull request #7304 from orklah/classconst5
Refactor Reconciler::handleLiteralEquality
2022-01-14 19:16:23 +01:00
Vincent
a52362465b Handle inherited docblock method (fix #7198) 2022-01-14 10:30:09 +01:00
Matthew Brown
99b7b46e42 Simplify some array access 2022-01-13 10:07:17 -05:00
Vincent
fe7665aaaf Add support of template for docblock methods (fix #7320) 2022-01-13 11:04:37 +01:00
Andrew Nagy
6910461b76 Catch additional InvalidArgumentException 2022-01-12 21:04:35 +00:00
Matthew Brown
9f9573ade5 Remove an unnecessary null arg 2022-01-11 17:10:08 -05:00
Andrew Nagy
0eb00e8ae2 Fix closure to have storage bug in codeAction 2022-01-10 23:36:21 +00:00
orklah
d52c3f0117
Merge pull request #7163 from dvz/explicit-symlink-resolution
Add explicit `resolveSymlinks` option for project directories
2022-01-10 21:50:08 +01:00
orklah
af37af7d8c
Merge pull request #7242 from zoonru/seal_all_properties
PHP 8.2: seal all properties configuration
2022-01-10 21:36:31 +01:00
orklah
611583c481
Merge pull request #7354 from wouterj/issue-7353/issuehandlers-elements
Support multiple <issueHandlers> elements
2022-01-10 21:34:43 +01:00
Patrick Remy
a555543c0c
fix: pass static class name to ReturnTypeAnalyzer 2022-01-10 21:23:52 +01:00
b9e3979c3f
Cs-fix 2022-01-10 10:22:51 +01:00
a35ccfb0cb
Revert misguided changes 2022-01-10 10:19:12 +01:00
b530f23acc
PHP 8.2: seal all properties by default, add configuration key for lower versions 2022-01-10 10:11:28 +01:00
Matthew Brown
72fd3de886 Simplify return type for TypeExpander::expandAtomic 2022-01-09 16:19:04 -05:00
Matthew Brown
7dc1c454fb Don’t perform containedness check twice 2022-01-09 15:35:47 -05:00
Matthew Brown
a435bc57b9 Rename was_static property to is_static to be more accurate 2022-01-09 14:45:07 -05:00
Matthew Brown
6f513df4ac Fix empty class 2022-01-09 14:43:07 -05:00
orklah
549c02d661
Merge pull request #7356 from orklah/keep-class-strings-through-array_merge
keep class-strings through array_merge
2022-01-09 16:16:55 +01:00
orklah
413da78568
Merge pull request #7326 from orklah/short_closures_returning_never
allow short closure to return never
2022-01-09 16:01:26 +01:00
orklah
65efab3a8d keep class-strings through array_merge 2022-01-09 15:48:58 +01:00
Wouter de Jong
e4e9edda27 Support multiple <issueHandlers> elements
This is likely to occur when including multiple Psalm config files.
2022-01-09 14:11:03 +01:00
orklah
c94e25fa7f refactor the TooFewArguments check to start checking with named arguments 2022-01-09 00:37:16 +01:00
orklah
ce2c6cf438 set the is_list flag for the array inferred for hrtime 2022-01-08 22:48:05 +01:00
orklah
a9bc132842
Merge pull request #7349 from orklah/hrtime2
Seal the array inferred for hrtime
2022-01-08 22:40:20 +01:00
Bruce Weirdan
1a1b5a9e6a
Merge branch '4.x' into upstream-master 2022-01-08 23:38:29 +02:00
Bruce Weirdan
3502f0460a
Merge branch '4.18.x' into 4.x 2022-01-08 23:32:50 +02:00
orklah
afc3a76bc0 Seal the array inferred for hrtime 2022-01-08 22:22:21 +01:00
Bruce Weirdan
a4878ac2b5
Revert "Merge pull request #7239 from DeyV/master"
This reverts commit 33628cad51, reversing
changes made to 216cf6c534.
2022-01-08 22:26:24 +02:00
Matthew Brown
4abbd9cb1b Simplify object comparison 2022-01-07 18:50:13 -05:00
orklah
abd499c9c9
Merge pull request #7337 from orklah/broken-phar
replace class name by full FQN for scoper
2022-01-07 21:58:14 +01:00
orklah
90ada3774c replace class name by full FQN for scoper 2022-01-07 21:51:11 +01:00
orklah
9d225086e9 replace empty checks on Union with dedicated method 2022-01-07 21:27:45 +01:00
orklah
0d9480ad00
Merge pull request #7335 from orklah/errors_on_int_reconciliation
Errors on superior/inferior reconciliation
2022-01-07 20:19:35 +01:00
orklah
af28687708 fix reconciliation when the assertions is not part of the existing range and add tests 2022-01-07 19:39:19 +01:00
orklah
c0864b2652 emit errors on failure to reconcile ints 2022-01-07 18:32:24 +01:00
Stefan Vetsch
7f2f0d99ec Issue #7243: Do not throw exception on xinclude with fallbacks 2022-01-07 09:40:19 +01:00
Bruce Weirdan
762ef8dab4
Merge branch '4.x' into upstream-master 2022-01-07 08:44:32 +02:00
orklah
cbb0c6398f allow short closure with never 2022-01-06 21:36:34 +01:00
Fabien Villepinte
b9d8dd9d3f
Fix analysis when __invoke() exists 2022-01-06 21:22:18 +01:00
Bruce Weirdan
46bcb626f5
Merge pull request #7321 from weirdan/dont-crash-on-array_map-first-class-callable 2022-01-06 14:11:35 +02:00
Bruce Weirdan
fe036d4db0
Prevent crashes on array_map(...)
Fixes vimeo/psalm#7305
2022-01-06 10:38:58 +02:00
orklah
18ab5a099f
Merge pull request #7309 from orklah/emptyStringKeyedArray
fix empty string not quoted in keyed array offset
2022-01-06 09:37:28 +01:00
Bruce Weirdan
3fb3db3516
Merge branch '4.x' into upstream-master 2022-01-06 10:05:53 +02:00
orklah
f3bc55e409
Merge pull request #7312 from orklah/empty-array
Support PHPStan notation for empty-arrays
2022-01-06 08:45:40 +01:00
Bruce Weirdan
b6559dcefb
Merge pull request #7315 from weirdan/rector-ClosureToArrowFunctionRector 2022-01-06 02:04:10 +02:00
Bruce Weirdan
638a10dd39
Restore return docblock 2022-01-06 01:58:52 +02:00
orklah
bf4bf92cb2
Merge pull request #7313 from orklah/empty-arrays
replace `array<never, never>` as a way to detect empty arrays by a dedicated method
2022-01-05 23:58:45 +01:00
Bruce Weirdan
8726065d21
Applied ClosureToArrowFunctionRector 2022-01-06 00:48:04 +02:00
orklah
7f40489202 fix inverted condition 2022-01-05 23:41:56 +01:00
orklah
ee99deaa50 fix a case not always on TArray 2022-01-05 23:28:08 +01:00
orklah
3c468b3eeb replace array<never, never> as a way to detect empty arrays by a dedicated method 2022-01-05 23:14:54 +01:00
orklah
9d3a51db6a remove obsolete test and fix a missing exception 2022-01-05 23:08:34 +01:00
orklah
030195a395 parse array{} into an empty array 2022-01-05 23:08:33 +01:00
orklah
e7bc6f273a don't crash when pushing a template to in_array 2022-01-05 22:33:20 +01:00
Bruce Weirdan
83f1d52528
Applied ListToArrayDestructRector 2022-01-05 23:29:18 +02:00
orklah
7e2b9d0fab fix empty string in keyed array offset 2022-01-05 22:26:35 +01:00
orklah
27c4b07d5b fix wrong not literal loose check 2022-01-05 22:11:22 +01:00
orklah
c22670d851 use the correct type for float function 2022-01-05 20:05:56 +01:00
orklah
57e054931e remove unused param 2022-01-05 20:01:34 +01:00
orklah
fac7317af3 refactor float as well 2022-01-05 20:00:56 +01:00
orklah
26542afdf4 accept more loose literal equalities and loop over non-literal types on a separate loop 2022-01-05 19:45:22 +01:00
orklah
7dccfa4ff9 CS 2022-01-05 18:44:58 +01:00
Bruce Weirdan
94395f18a4
Applied JsonThrowOnErrorRector 2022-01-05 19:32:43 +02:00
orklah
e0fb87596d typo 2022-01-05 18:21:38 +01:00
orklah
c1575d29fd consistency with string handling 2022-01-05 18:06:08 +01:00
orklah
8099126958 make sure to keep the origin of the type (from_docblock) 2022-01-05 17:52:04 +01:00
orklah
16bb62b499 Fixup!!! don't allow checks on literals 2022-01-05 12:41:08 +01:00
orklah
411399b600 Fixup!!! don't allow checks on literals 2022-01-05 12:22:44 +01:00
orklah
83a02d9a61 Fixup!!! don't allow checks on literals 2022-01-05 12:21:50 +01:00
orklah
5c0fc46734 Fixup!!! be more flexible on loose_equality for strings 2022-01-05 12:10:32 +01:00
Bruce Weirdan
dd09450092
Applied NullCoalescingOperatorRector 2022-01-05 13:09:37 +02:00
Bruce Weirdan
758e0afd96
Merge branch 'master' into rector-literal-number-separator 2022-01-05 12:32:52 +02:00