1
0
mirror of https://github.com/danog/psalm.git synced 2024-12-14 02:07:37 +01:00
Commit Graph

4750 Commits

Author SHA1 Message Date
Fabien Villepinte
c9eafa15ad Improve signature of DOMDocument::loadXML() 2022-01-17 22:52:58 +00:00
Vincent
09fc43a4d8 Add support of docblock method using parent keyword (fix #7411) 2022-01-17 19:26:42 +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
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
4a85fed181 use Reconciler::RECONCILIATION_* 2022-01-14 19:39:18 +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
Vincent Langlet
9f84da4d6f Try another strategy 2022-01-13 23:57:02 +01:00
Vincent Langlet
cbfa6a10da Fix 2022-01-13 22:43:57 +01:00
Vincent Langlet
f2138ace7b Avoid calling autoloader 2022-01-13 22:12:39 +01:00
Vincent Langlet
b1285bd058 Fix cs 2022-01-13 21:53:34 +01:00
Vincent Langlet
31c5845a30 Register provider 2022-01-13 21:46:01 +01:00
Vincent Langlet
1d6ae16504 Add Exception code return type provider 2022-01-13 21:44:06 +01: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
Andrew Nagy
0eb00e8ae2 Fix closure to have storage bug in codeAction 2022-01-10 23:36:21 +00: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
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
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
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
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
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
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
fe036d4db0
Prevent crashes on array_map(...)
Fixes vimeo/psalm#7305
2022-01-06 10:38:58 +02:00
orklah
e7bc6f273a don't crash when pushing a template to in_array 2022-01-05 22:33:20 +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
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
orklah
3fc8139205 Fixup!!! only allow general TInt to pass 2022-01-05 11:17:39 +01:00
orklah
950710a47a Fixup!!! make sure to add atomics with the correct offset key 2022-01-05 09:58:56 +01:00
orklah
36349a1370 refactor literal string equality check 2022-01-05 09:52:47 +01:00
orklah
2ada8ee8b0 refactor literal int equality check 2022-01-05 09:52:47 +01:00
orklah
a8c2fcde76 resolve ClassConst before checking equalities and fix things 2022-01-05 09:52:47 +01:00
Fabien Villepinte
c42f3d51bd
Fix typo 2022-01-04 16:27:06 +01:00
Fabien Villepinte
2f3af4a5bc
Remove unused import 2022-01-04 16:13:48 +01:00
Fabien Villepinte
1fa6b612b1
Fix parse_url() return type 2022-01-04 16:09:18 +01:00
orklah
6f9cbc698b resolve type alias and class const on UnionTypeComparator 2022-01-04 00:14:08 +01:00
orklah
a53b5215b8 add missing phpdoc 2022-01-03 23:52:48 +01:00
orklah
e3bb251757 handle cases where the classconst contains a compatible int type 2022-01-03 23:45:23 +01:00
orklah
6ea950c2eb Identify ints from TClassConstant when checking for LiteralEquality 2022-01-03 23:40:39 +01:00
orklah
6905daedd7 handle the case where the expansion was not successful 2022-01-03 23:30:36 +01:00
orklah
60732d00ba resolve ClassConstant for both sides in isContainedBy 2022-01-03 23:21:59 +01:00
orklah
33628cad51
Merge pull request #7239 from DeyV/master
Move from deprecated Composer 1 to Composer 2 runtime api
2022-01-02 18:35:54 +01:00
Dawid 'DeyV' Polak
7172f4bdbe missing default value for $version 2022-01-02 18:13:02 +01:00
Bruce Weirdan
5362f3be91
Deprecate Codebase::$php_major_version and Codebase::$php_minor_version properties
Removed in #6898 (Psalm 5)
2022-01-02 13:22:37 +02:00
Bruce Weirdan
36d5a2a83c
Merge pull request #7019 from zoonru/no_ksort_list 2022-01-02 07:37:21 +02:00
Bruce Weirdan
697db76dc1
Merge pull request #7252 from AndrolGenhald/feature/allow-assertions-on-mutable-object-properties 2022-01-02 07:29:02 +02:00
Bruce Weirdan
047859b4a4
Merge pull request #7256 from tm1000/feature/remove-is-not-in-project-warnings 2022-01-02 07:15:20 +02:00
Bruce Weirdan
ab30a36803
Merge pull request #7255 from tm1000/feature/lang-server-code-actions 2022-01-02 05:38:06 +02:00
Bruce Weirdan
376d2a389e
Merge pull request #7259 from klimick/infer-this-context-for-psalm-if-this-is 2022-01-02 05:31:24 +02:00
orklah
6f4707aa41
Merge pull request #7263 from orklah/revert
revert #7054
2022-01-01 19:39:47 +01:00
orklah
de95fbdbf2 revert #7054 2022-01-01 19:34:17 +01:00
Matthew Brown
387f2664f7 Simplify isset reconciliation slightly 2022-01-01 16:01:27 +00:00
Matthew Brown
11f322c2fb Improve negated reconciliation logic 2022-01-01 13:10:28 +00:00
orklah
2a6f12296e
Merge pull request #7260 from orklah/6691
forbid calling impure callable in immutable context
2022-01-01 12:08:07 +01:00
adrew
0f69483cc1 Fix method storage fetching 2022-01-01 13:33:00 +03:00
orklah
8049438408 forbid calling impure callable in immutable context 2022-01-01 11:13:45 +01:00
adrew
79ea094433 Template resolving for psalm-if-this-is 2022-01-01 13:03:17 +03:00
adrew
878dfa2250 Variable types inference in method context when method marked with psalm-if-this-is 2022-01-01 13:03:17 +03:00
orklah
8dc1a31e11
Merge pull request #7247 from tm1000/bugfix/7246
Fixes #7246, wrap getTypeContextAtPosition in try/catch
2022-01-01 01:19:13 +01:00
Andrew Nagy
409910ce4c move conditional outside of try/catch 2021-12-31 23:30:29 +00:00
Andrew Nagy
e3116e0ab5 dont allow fallback functions 2021-12-31 23:17:27 +00:00
Andrew Nagy
f8f8f6bc41 fix SA and lint issues, prevent duplicate suppressions 2021-12-31 23:11:55 +00:00
Dawid 'DeyV' Polak
d43f2beed8 Fixed problems with test-with-real-projects 2021-12-31 15:15:04 +01:00
Andrew Nagy
6e32e9641f Remove "is not in project" warnings 2021-12-30 23:49:04 +00:00
Andrew Nagy
b2823ca034 fix psalm issues 2021-12-30 23:45:11 +00:00
orklah
51ba96c09d
Merge pull request #7253 from orklah/5874
allow calling mutation_free function inside a mutation_free context
2021-12-31 00:24:29 +01:00
Your Name
6c024b1d96 fix spaces 2021-12-30 15:13:01 -08:00
Your Name
6d14326375 Feat: Initial Support for Code Actions 2021-12-30 15:11:33 -08:00
AndrolGenhald
dd631c0c85 Skip reference tests, allow assertions on magic properties (fixes #6770). 2021-12-30 16:23:59 -06:00
orklah
392402cf6d allow calling mutation_free function inside a mutation_free context 2021-12-30 22:29:36 +01:00
AndrolGenhald
3ac497c811 Allow assertions on mutable object properties.
All of the functionality is already there, we just have to not prevent it.
2021-12-30 14:07:55 -06:00
adrew
2355f1bcdb Remove unused use 2021-12-30 22:46:18 +03:00
adrew
4a903c71a1 Checking psalm-if-this-is before applying psalm-this-out 2021-12-30 21:48:25 +03:00
Andrew Nagy
7379f516ae fix cs issues 2021-12-30 18:35:08 +00:00
Andrew Nagy
cb3cf887c4 Fixes #7246, wrap getTypeContextAtPosition in try/catch 2021-12-30 18:16:09 +00:00
7c24d33bb2
cs-fix 2021-12-30 11:36:56 +01:00
915ddcc620
Add new RedundantFunctionCall issues 2021-12-30 11:36:32 +01:00
82e24d5c1d
Disallow ksorting lists 2021-12-30 11:30:33 +01:00
Bruce Weirdan
03b7e94748
Merge pull request #7232 from trowski/issue-7196 2021-12-30 10:03:17 +02:00
Dawid 'DeyV' Polak
19c26f7263 Move from deprecated Composer 1 to Composer 2 runtime api 2021-12-29 16:20:14 +01:00
orklah
81ac645990 remove commented old code 2021-12-29 00:44:48 +01:00
orklah
f047d5bc53 allow suppressing unevaluatedCode 2021-12-29 00:44:48 +01:00
orklah
0b3e1299de overwritten properties 2021-12-27 23:46:23 +01:00
orklah
996def0d4d useless statements 2021-12-27 23:34:56 +01:00
orklah
ff62e71e0d immediately rewritten array index 2021-12-27 23:28:37 +01:00
orklah
bd1eb1611e immediately rewritten array index 2021-12-27 23:22:45 +01:00
orklah
ce1f992bcc remove useless statement 2021-12-27 23:11:40 +01:00
orklah
5f6bb39888 if with common parts 2021-12-27 23:08:19 +01:00
orklah
cb1e04b965 unnecessary statements 2021-12-27 23:02:01 +01:00
orklah
2baf3b560a unnecessary statements 2021-12-27 23:00:40 +01:00
Aaron Piotrowski
87160c8711
Handle first-class callable in yield types 2021-12-27 15:55:31 -06:00
orklah
926a56a97c
Merge pull request #7230 from orklah/cleanup6
code grooming
2021-12-27 22:54:39 +01:00
orklah
2bf5a71d46 fix CS 2021-12-27 22:37:30 +01:00
orklah
094ffb36f9 phpdoc issues 2021-12-27 22:30:10 +01:00
orklah
2499e02465 unnecessary array_push 2021-12-27 22:30:10 +01:00
orklah
65fffd2116 replace fully qualified names by imports 2021-12-27 22:30:10 +01:00
orklah
3828db52b9
Merge pull request #7229 from orklah/cleanup5
remove always true/false conditions
2021-12-27 22:08:06 +01:00
Aaron Piotrowski
e23a915bb1
Fix first-class callables when used with magic method, built-in, or undefined methods
Closes #7196.
2021-12-27 14:29:33 -06:00
orklah
3e29a3d961 unnecessary qualified names 2021-12-27 20:16:34 +01:00
orklah
3ae80983cc fix unused and CS 2021-12-27 20:10:39 +01:00
orklah
a9b1a42854 fix 2021-12-27 20:08:08 +01:00
orklah
9029e1d613 remove always true/false conditions 2021-12-27 19:59:11 +01:00
adrew
c0ca383020 Contextual inference for closure param types 2021-12-27 19:35:37 +03:00
sji
1c07813627
align handling of @psalm-internal 2021-12-27 02:31:14 +02:00
sji
a90456ed8b
trim whitespaces in namespaces specified at @psalm-internal 2021-12-27 02:31:11 +02:00
adrew
63a1c71c83
Remove trailing comma 2021-12-27 00:45:25 +02:00
adrew
d6d0fc6704
Remove undefined variables 2021-12-27 00:45:25 +02:00
adrew
2e4d75d6bd
Fix closure param type inference in generic context 2021-12-27 00:45:22 +02:00
Bruce Weirdan
fb56d5ce58
Merge pull request #7210 from vstm/improve-cli-utils-argv-handling 2021-12-27 00:35:32 +02:00
Bruce Weirdan
45c49b570a
Merge pull request #7211 from johnstevenson/xdebug-handler-3 2021-12-26 23:21:51 +02:00
Bruce Weirdan
13de27bb2f
Restore suppression for older XdebugHandler versions 2021-12-26 23:05:02 +02:00
John Stevenson
1cb58ad689
Keep XdebugHandler version 1 2021-12-26 23:00:53 +02:00
John Stevenson
015cc22fa7
Add XdebugHandler version 3 2021-12-26 23:00:50 +02:00
orklah
d4fcb7f61c handle literal equality with integer ranges 2021-12-26 21:09:27 +01:00
Bruce Weirdan
9387942463
Use strpos instead of str_contains
Fixes vimeo/psalm#7219 (str_contains was added in PHP 8)
2021-12-26 09:22:39 +02:00
Bruce Weirdan
08413d71bb
Restore attributes in ClassConstantStorage
This partially fixes BC break introduced in vimeo/psalm#7129
2021-12-26 02:24:01 +02:00
Matthew Brown
18c790eb99 Remove never-used equality flags 2021-12-24 14:05:44 +00:00