Maximilian Bösing
4068f5cbb0
feature: add Union#allFloatLiterals
as it was missing
...
Signed-off-by: Maximilian Bösing <2189546+boesing@users.noreply.github.com>
2022-06-12 02:50:48 +02:00
Maximilian Bösing
e13268f5c0
qa: use $assertion_var_id
over $arg_var_id
for better type reflection
...
Signed-off-by: Maximilian Bösing <2189546+boesing@users.noreply.github.com>
2022-06-12 01:33:13 +02:00
Maximilian Bösing
6c1ed90dc1
qa: ensure we use multiple isset
to verify the existence of $arg_var_id
...
Signed-off-by: Maximilian Bösing <2189546+boesing@users.noreply.github.com>
2022-06-12 01:29:30 +02:00
Maximilian Bösing
c68b6e9d26
bugfix: only allow narrowing down types in case the old type is not single
...
Signed-off-by: Maximilian Bösing <2189546+boesing@users.noreply.github.com>
2022-06-12 01:21:38 +02:00
Maximilian Bösing
4ee1b3feb4
bugfix: only extend existing logic instead of hijacking it
...
Signed-off-by: Maximilian Bösing <2189546+boesing@users.noreply.github.com>
2022-06-12 01:15:46 +02:00
Maximilian Bösing
2d9133b35a
bugfix: overriding types based on assertions have to pass more checks
...
Signed-off-by: Maximilian Bösing <2189546+boesing@users.noreply.github.com>
2022-06-12 00:32:36 +02:00
Maximilian Bösing
7c85e0c0d9
bugfix: only override templated values in case of literals
...
This will avoid issues with invalid intersection assertions.
Signed-off-by: Maximilian Bösing <2189546+boesing@users.noreply.github.com>
2022-06-11 23:30:52 +02:00
d352ae4e07
Skip native classlike aliases
2022-06-09 11:20:02 +02:00
Maximilian Bösing
40971ff57d
bugfix: allow non-single union types in assertions
...
fixes #5657
Signed-off-by: Maximilian Bösing <2189546+boesing@users.noreply.github.com>
2022-06-09 00:26:34 +02:00
Maximilian Bösing
a9daa3ba02
qa: add failing test for one-of assertion
...
Signed-off-by: Maximilian Bösing <2189546+boesing@users.noreply.github.com>
2022-06-09 00:26:06 +02:00
Matt Brown
a9775c656c
Fix style
2022-06-08 16:03:27 -04:00
Matt Brown
6d09c3c794
Remove nonsensical taint analysis rule
2022-06-08 16:00:06 -04:00
orklah
02d5beecb0
Merge pull request #8051 from AndrolGenhald/bugfix/8048
...
Fix possibly empty array shape appearing non-empty (fixes #8048 ).
2022-06-08 19:22:12 +02:00
orklah
b113d77a2c
Merge pull request #8069 from AndrolGenhald/bugfix/8068
...
Fix generic object comparison to use template constraint as default.
2022-06-08 19:20:40 +02:00
AndrolGenhald
271dce8b6c
Fix test format after cherry-pick from master.
2022-06-07 19:16:53 -05:00
AndrolGenhald
af5c191e7b
Fix generic object comparison to use template constraint as default ( fixes #8068 ).
2022-06-07 19:12:36 -05:00
orklah
53c3c9b7c5
Merge pull request #8064 from weirdan/null-is-cast-to-string-in-array-offsets
...
Coerce null to empty string in array keys
2022-06-07 07:33:16 +02:00
Bruce Weirdan
4e59398f77
Coerce null to empty string in array keys
...
Fixes vimeo/psalm#8063
Alters the fix for vimeo/psalm#2165 (1a48be8e9c
)
/cc: @iluuu1994, @muglug
2022-06-06 17:41:42 -04:00
AndrolGenhald
34322b79dd
Fix suppression comment.
2022-06-06 16:19:27 -05:00
orklah
d55988a78c
Merge pull request #8060 from bdsl/patch-8
...
Clarify in docs that zero is not considered a positive-int
2022-06-06 20:00:26 +02:00
Barney Laurance
c064edcbb7
use backticks in docs
2022-06-06 18:26:35 +01:00
orklah
006f441198
Merge pull request #8058 from Nicelocal/fix_disableVarParsing
...
Bring back disableVarParsing option
2022-06-06 18:33:37 +02:00
Barney Laurance
a7c92661fa
Use int<1,max> to define positivity
2022-06-06 17:05:59 +01:00
Barney Laurance
99372a2286
Clarify in docs that zero is not considered a positive-int
...
I wasn't sure from reading the docs whether or not Psalm consider zero to be positive.
2022-06-06 16:13:30 +01:00
acdbd3e5b5
Bring back disableVarParsing option
2022-06-06 11:57:04 +02:00
kkmuffme
74671e3a3c
fix false positives for partially incalid phpdoc
2022-06-05 12:16:01 +02:00
orklah
f47b4180fb
Merge pull request #8054 from kkmuffme/runtime-cache-origin-location
...
store origin location by ID to speed up psalm by up to 75%
2022-06-04 18:47:14 +02:00
orklah
4a54369e3d
Merge pull request #8055 from kkmuffme/performance-get-selected-text-from-snippet
...
Performance: cut the selected_text from snippet
2022-06-04 16:02:14 +02:00
kkmuffme
cb78f54d8a
Performance: cut the selected_text from snippet
...
instead of from full text
50% faster than cutting from full text, improves performance up to 3% depending on file length and number of errors in file
2022-06-04 15:53:02 +02:00
kkmuffme
8b20708063
stores origin location by ID to speed up psalm by up to 75% in certain cases
2022-06-04 14:26:27 +02:00
AndrolGenhald
c271b1245e
Fix possibly empty array shape appearing non-empty ( fixes #8048 ).
2022-06-02 14:00:52 -05:00
orklah
b5a0c5926b
Merge pull request #8049 from AndrolGenhald/fix-int-range-combination
...
Fix `TypeCombiner::combine` to not modify TIntRange arguments.
2022-06-02 19:46:56 +02:00
AndrolGenhald
2f090e5722
Fix TypeCombiner::combine
to not modify TIntRange arguments.
...
This keeps coming up in obscure places, hopefully this fixes it once and for all. I would reeeaaally love to have an immutable type system at some point...
2022-06-02 12:36:41 -05:00
orklah
e72e4488fc
Merge pull request #8042 from KevinVanSonsbeek/bugfix/splfileobject-fputcsv-invalidnamedargument
...
Bugfix/splfileobject fputcsv invalidnamedargument
2022-06-02 18:41:52 +02:00
Kevin van Sonsbeek
e402a3b822
Remove changes from delta, and retroactively fix param name in the historical callmap
2022-06-02 18:37:18 +02:00
Kevin van Sonsbeek
1042ececaf
Update the CallMap to have the correct param names
2022-06-02 00:30:58 +02:00
Kevin van Sonsbeek
943131688d
Updated the delta to accommodate the param name changes when going from 7.4 to 8.0
2022-06-02 00:30:33 +02:00
orklah
6c52683e7b
Merge pull request #8032 from VincentLanglet/stat
...
Precise stat return type
2022-05-30 18:39:42 +02:00
Vincent Langlet
087d7ce649
Update historical
2022-05-30 09:40:41 +03:00
Vincent Langlet
6352d9a855
Precise stat return type
2022-05-30 09:40:41 +03:00
orklah
3aadec6473
Merge pull request #8029 from weirdan/fix-shepherd-job
...
Run Shepherd with 8.0
2022-05-30 07:16:46 +02:00
Bruce Weirdan
8455d71a9b
Run Shepherd with 8.0
...
Because installing packages with 8.1 and checking them as if we're
running 7.1 just doesn't work.
2022-05-29 23:34:06 +03:00
Bruce Weirdan
30f07bf947
Merge pull request #8027 from weirdan/backport-7506
2022-05-29 23:28:40 +03:00
Bruce Weirdan
3a244881ae
Merge pull request #8024 from weirdan/update-master
2022-05-29 23:28:19 +03:00
Bruce Weirdan
e47171deab
Merge pull request #8028 from weirdan/fix-syntax-check-failures
2022-05-29 22:57:26 +03:00
Bruce Weirdan
c3ea97949d
Fix syntax check failures
...
They were caused by installing packages with `--ignore-platform-reqs`
which brought PHP 8.1 autoloaded packages and caused fatal errors when
running php-parallel-lint. Instead of ignoring platform requirements we
now remove packages that are incompatible with PHP 7.1 (phpunit and its
dependents).
2022-05-29 00:24:11 -04:00
AndrolGenhald
054ed300f0
Fix side effect when loading config.
2022-05-29 00:16:38 -04:00
Bruce Weirdan
9784fe4999
Use lowest supported PHP version for shepherd run
...
Having Psalm installed under 8.1 leads to installing composer
dependencies that use PHP syntax incompatible with 7.4, however Psalm
analyzes itself using 7.4 parser.
2022-05-28 16:51:17 -04:00
Bruce Weirdan
fce4272226
PHP 7.4 fixes
2022-05-28 16:40:49 -04:00
Bruce Weirdan
5d21ff98b6
Suppress false posisitives
2022-05-28 16:34:53 -04:00