1
0
mirror of https://github.com/danog/psalm.git synced 2025-01-10 06:58:41 +01:00
Commit Graph

9401 Commits

Author SHA1 Message Date
Bruce Weirdan
85b2af83da
Cosmetic changes for VSCode 2023-07-26 05:16:36 +02:00
Bruce Weirdan
5f828c75d1
Make sure we get the token
Name does matter, as is the presence of docblock
2023-07-26 05:15:55 +02:00
Bruce Weirdan
902f90b19b
Modernize LSP progress reporting
This will use `$/progress` when available and fall back to old
telemetry-based reporting otherwise
2023-07-26 05:10:27 +02:00
Bruce Weirdan
be82c3a948
Merge pull request #10033 from weirdan/lsp-container-path-mapping 2023-07-25 01:00:47 +02:00
Bruce Weirdan
4a0a12d9e2
Fix unused var 2023-07-25 00:17:12 +02:00
Bruce Weirdan
e1a30a20a1
Map special RPC paths
Now `$/cancelRequest` will be resolved to `$server->cancelRequest()`
and `$/textDocument/whatever` to `$server->textDocument->whatever()`
2023-07-25 00:11:35 +02:00
Bruce Weirdan
bb102760ea Drop unused property 2023-07-24 21:59:34 +02:00
Bruce Weirdan
0a2a0feaf2 CS fix 2023-07-24 21:59:34 +02:00
Bruce Weirdan
6eb7a688d1 Introduce --map-folder switch
And create PathMapper based on its value
2023-07-24 21:59:34 +02:00
Bruce Weirdan
8a51aaedd4 CS fix 2023-07-24 21:59:34 +02:00
Bruce Weirdan
6b9d9805b1 Account for -r option 2023-07-24 21:59:34 +02:00
Bruce Weirdan
389aa7965f Use PathMapper to map paths 2023-07-24 21:59:34 +02:00
Bruce Weirdan
a68c4804f4 Add path mapper 2023-07-24 21:59:34 +02:00
Bruce Weirdan
f634a0047a CS fix 2023-07-24 21:59:34 +02:00
Bruce Weirdan
c44b9f5c5e Map LSP paths 2023-07-24 21:59:34 +02:00
Bruce Weirdan
acdb11e679 Use instance methods instead of static 2023-07-24 21:59:34 +02:00
a86aa9a30b
Fix 2023-07-24 09:26:07 +02:00
dfbc9dd177
Fix combination of non-falsy-string and falsy literal 2023-07-24 09:07:46 +02:00
Bruce Weirdan
f64da372f3
Simplify conditions with deep object access 2023-07-23 23:09:46 +02:00
orklah
afaef14f64
Merge pull request #10012 from ygottschalk/fix/10001-always-report-unused-baseline
Always report UnusedBaseline issues
2023-07-23 12:35:32 +02:00
Bruce Weirdan
eaf41a1874
Fix incorrect positions set in code action edits
Neovim requires positions to supply column as well as row.
2023-07-23 07:09:24 +02:00
rhertogh
8d76314a48 Fixed PHPCS errors for CommentAnalyzer (Multi-line function calls must have a trailing comma after the last parameter). 2023-07-15 19:11:15 +02:00
rhertogh
65ad2f829e Fixed PHPCS errors for CommentAnalyzer 2023-07-15 19:04:52 +02:00
rhertogh
c362dd5af7 Ensure comment lines are terminated with a new line character (\n). 2023-07-15 19:00:28 +02:00
rhertogh
f378ef1cab Allow comments in types (e.g. array shape) 2023-07-15 18:43:47 +02:00
rhertogh
9935b2c71e Merge branch 'master' into inline_comments_in_types
# Conflicts:
#	tests/CommentAnalyzerTest.php
2023-07-15 15:46:01 +02:00
klimick
38f6d45155 Do not fill template result when arg is unpacked 2023-07-11 11:10:48 +03:00
klimick
9fccf201e3 Fix callable without params inference 2023-07-11 01:01:31 +03:00
Yannick Gottschalk
867290cd06 Always report UnusedBaseline issues 2023-07-10 14:09:11 +02:00
rhertogh
f7fb2c8809 Merge branch 'master' into allow_space_before_array_shape_opening_brace 2023-07-09 14:32:28 +02:00
rhertogh
2285c9d4bd Fixed codestyle for CommentAnalyzer and use plain instead of multibite string functions 2023-07-06 23:54:50 +02:00
rhertogh
356e6d7bbd First setup to allow comments in types (e.g. array shape) 2023-07-06 23:40:13 +02:00
kkmuffme
9fd590685c fix "days" ignore falsable return not ignored correctly
see Reflection.php, where the same condition was used already, but was insufficient
2023-07-06 08:21:27 +02:00
rhertogh
242a38c184 Allow space before array shape opening brace and added unit tests for \Psalm\Internal\Analyzer\CommentAnalyzer::splitDocLine() 2023-07-06 00:01:00 +02:00
kkmuffme
8d8adefb6c no error for printf with only 1 arg
Fix https://github.com/vimeo/psalm/issues/9987
2023-07-03 22:59:02 +02:00
kkmuffme
b4126326eb make stubbed constant types configurable with comment
Fix https://github.com/vimeo/psalm/issues/4024
2023-07-03 22:28:25 +02:00
orklah
27798e69a0
Merge pull request #9970 from kkmuffme/missing-composer-lock-should-not-invalidate-cache-created-with-missing-composer-lock
Missing composer lock should not invalidate cache created with missing composer lock
2023-07-03 21:42:47 +02:00
orklah
a83c3fe325
Merge branch 'master' into missing-composer-lock-should-not-invalidate-cache-created-with-missing-composer-lock 2023-07-03 21:02:00 +02:00
orklah
9575bc319c
Merge branch 'master' into fix/9968-exhume-enum 2023-07-03 20:59:26 +02:00
orklah
3e54feb9b4
Merge pull request #9964 from ygottschalk/fix/phpparser-deprecation-name-parts
Fix/phpparser deprecation name parts
2023-07-03 20:59:09 +02:00
Yannick Gottschalk
e819a608fb Added issue suppression 2023-07-03 10:40:54 +02:00
Yannick Gottschalk
42b3736c39 Fixed psalm self test 2023-07-03 10:28:16 +02:00
Yannick Gottschalk
1787960027 Fixed exhuming enums as enums, not as classes 2023-07-03 09:57:14 +02:00
orklah
8d1876a8a3
Merge pull request #9981 from kkmuffme/fix-replace-functions-return-type-provider-less-specific
fix mixed replace return types for arrays
2023-07-02 12:59:01 +02:00
orklah
53ce62bf28
Merge pull request #9975 from kkmuffme/sprintf-single-arg-splat-array
Fix sprintf single arg splat array
2023-07-02 10:08:08 +02:00
kkmuffme
0377dd9eda code style 2023-07-02 09:45:55 +02:00
kkmuffme
d24df1a077 improve config validation and fix wrong condition 2023-07-02 09:00:53 +02:00
kkmuffme
7593b5bdc6 more code style and shepherd 2023-07-02 08:42:05 +02:00
kkmuffme
c2388b4d90 fix failing tests and shepherd 2023-07-02 08:33:43 +02:00
Roland Franssen :)
b525f9cf70
PHPCBF CAN FIX THE 1 MARKED SNIFF VIOLATIONS AUTOMATICALLY 2023-07-01 17:01:49 +02:00
Roland Franssen :)
bf31ffbd92
Update Psalm.php 2023-07-01 16:56:33 +02:00
Roland Franssen :)
f07cdfc129
Update Psalm.php 2023-07-01 16:50:25 +02:00
Roland Franssen :)
33b0693c4f
ugh 2023-07-01 16:47:16 +02:00
Roland Franssen :)
010306fda8
Update Psalm.php 2023-07-01 14:00:12 +02:00
Roland Franssen :)
ce9d9db115
Update Psalm.php 2023-07-01 13:54:15 +02:00
Roland Franssen :)
52c629c331
infer --debug in GHA 2023-07-01 13:48:58 +02:00
Roland Franssen :)
8ed4f94988
Infer output format from GITHUB_ACTIONS env
aka --output-format=github
2023-06-30 21:45:11 +02:00
kkmuffme
09a3b4b32c code style 2023-06-30 17:14:13 +02:00
kkmuffme
26eb870e47 fix mixed replace return types for arrays
* remove useless replace return type provider code that returned incorrect type for array replacements and was worse duplicate of existing stubs
* require preg patterns to be non-empty-strings as otherwise it will throw a PHP notice
* improve return type of array replacements to be more correct (not fully correct due to https://github.com/vimeo/psalm/issues/5994#issuecomment-1614601590)
2023-06-30 17:08:03 +02:00
kkmuffme
62475cb4e8 code style 2023-06-29 14:42:23 +02:00
kkmuffme
2dd26cb0f1 Fix sprintf single arg splat array
Fix https://github.com/vimeo/psalm/issues/9873#issuecomment-1612901224
2023-06-29 13:47:42 +02:00
Yannick Gottschalk
5a2f7c0a71 Use getParts() instead of $parts on PhpParser\Node\Name.
also use getFirst(), getLast() and getString()
2023-06-28 03:13:25 +02:00
kkmuffme
b877aa7096 misc consistency improvements for cache 2023-06-27 23:23:18 +02:00
kkmuffme
0584339657 if cache was created with missing composer.lock file use it too instead of ignoring it 2023-06-27 23:16:06 +02:00
Yannick Gottschalk
f93d23899d Fix glob CallMap and stub to prevent crash on alpine (and possibly other systems) 2023-06-25 13:17:13 +02:00
kkmuffme
d4dcee3203 code style 2023-06-24 18:11:15 +02:00
kkmuffme
0535c6b877 PHP 7 format with only placeholders isn't falsable if valid
limit tests to PHP 8 to avoid having to create them twice and add specific test for Issue 9941
2023-06-24 18:11:15 +02:00
kkmuffme
c5fee532f3 consistently ignore falsable return, remove unused suppress with new types 2023-06-24 18:11:15 +02:00
kkmuffme
7f0217d1e3 fix incorrect default stubs 2023-06-24 18:11:15 +02:00
kkmuffme
28b9e8dd95 run format checks for splat too 2023-06-24 18:11:15 +02:00
kkmuffme
9599c240b3 code style 2023-06-24 18:11:15 +02:00
kkmuffme
52ca871057 fix try/catch variable must be initialized 2023-06-24 18:11:15 +02:00
kkmuffme
fad17686bd Fix false positive for array unpacking
Fix https://github.com/vimeo/psalm/issues/9873
2023-06-24 18:11:15 +02:00
kkmuffme
f2a9e09136 reorganize code for PHP 7 to also check for invalid argument and reduce duplicate 2023-06-24 18:11:15 +02:00
kkmuffme
151f101f7c fix PHP 7 sprintf too many arguments false positive
Fix https://github.com/vimeo/psalm/issues/9941
2023-06-24 18:11:15 +02:00
Tinjo Schöni
a737ca8072
Consider a property type change as a signature change 2023-06-24 15:31:15 +02:00
Tinjo Schöni
1b1915eaf5
Make file storage cache handling consistent 2023-06-24 14:29:28 +02:00
Tinjo Schöni
9939cae52d
Support project analysis with file diffing in tests 2023-06-24 14:29:28 +02:00
Maximilian Bösing
f482a5cb31
bugfix: pass non-empty information when reconciling iterable
Signed-off-by: Maximilian Bösing <2189546+boesing@users.noreply.github.com>
2023-06-23 21:15:37 +02:00
orklah
01e2ac78d4
Merge pull request #9950 from orklah/iterableInt
fix reconciliation between a list and iterable
2023-06-22 23:45:39 +02:00
orklah
8929f8b4d8 fix reconciliation between a list and iterable 2023-06-22 23:37:40 +02:00
orklah
bb28c5aa64
Merge pull request #9932 from ygottschalk/fix/cache-fail-silent
Fix/cache fail silent
2023-06-21 21:09:56 +02:00
orklah
03b91561a7
Merge pull request #9935 from ygottschalk/fix/cache-config-warnings
Make config warn about missing cache related functions
2023-06-21 21:08:39 +02:00
Yannick Gottschalk
dbc4f48e2b Make config warn about missing cache related functions 2023-06-20 12:40:08 +02:00
Yannick Gottschalk
503c38df03 Make cache writes fail silent 2023-06-20 11:54:05 +02:00
Yannick Gottschalk
66848306f9 Make cache fail silent 2023-06-20 11:51:24 +02:00
Tinjo Schöni
1161edfa33
Invalidate cached methods when referenced files are deleted 2023-06-20 01:01:24 +02:00
Tinjo Schöni
3e2de9d152
Implement a way to test cache issues 2023-06-20 01:01:23 +02:00
orklah
8e636086b3
put config to true to prevent deprecations for new config files (#9857)
* put config to true to prevent deprecations for new config files
2023-06-19 22:02:29 +02:00
orklah
8ca4110e68
Merge pull request #9930 from orklah/volatile_cache
remove StementsVolatileCache for perf reasons
2023-06-19 22:00:19 +02:00
orklah
da8c1da8be remove StementsVolatileCache for perf reasons 2023-06-19 21:44:00 +02:00
orklah
1b571a1649 improve perfs for switch by not creating reverse assertions against constants 2023-06-19 21:24:46 +02:00
kkmuffme
9d1558b3ca make compressor configurable
Fix https://github.com/vimeo/psalm/issues/9905
Suppress throws for igbinary_unserialize like it was done for @unserialize
2023-06-18 20:22:02 +02:00
orklah
e2dde5d200
Merge pull request #9922 from robchett/elseif_shouldnt_be_modifying_outer_scope
Don't update types of the outer scope when in an elseif conditional
2023-06-18 11:00:16 +02:00
orklah
b5159517ce
Merge pull request #9920 from robchett/CoreGenericAttributes
Add a stub file for Attributes defined by PHP
2023-06-17 22:11:26 +02:00
robchett
4600d2b224 Fix line lenght 2023-06-17 14:13:04 +01:00
robchett
7792b6c36c Don't update types of the outer scope when in an elseif conditional 2023-06-17 13:36:29 +01:00
robchett
5fc48bbb62 Add a stub file for Attributes defined by PHP 2023-06-17 12:26:56 +01:00
robchett
721b65ce2f Add Type::getIntRange 2023-06-17 12:24:09 +01:00
robchett
338b50a959 Change __LINE__ to a positive-int 2023-06-17 12:24:09 +01:00