1
0
mirror of https://github.com/danog/psalm.git synced 2025-01-10 15:09:04 +01:00
Commit Graph

11550 Commits

Author SHA1 Message Date
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
Bruce Weirdan
242ee344ec
CS fix 2022-05-28 16:26:08 -04:00
Bruce Weirdan
de49946e4d
Update empty list/array notation 2022-05-28 16:19:49 -04:00
Bruce Weirdan
ff50516fbd
Post-merge fixes 2022-05-28 15:05:17 -04:00
Bruce Weirdan
e0acf22e40
Merge branch '4.x' into update-master 2022-05-28 14:49:12 -04:00
orklah
ec9a9994f5
Merge pull request #8022 from AndrolGenhald/bugfix/8018-improve-failure-case-for-references
Improve handling of unsupported references (fixes #8018).
2022-05-27 19:09:05 +02:00
orklah
430e1eeb12
Merge pull request #8023 from MidnightDesign/patch-1
Fix a typo in MissingConstructor.md
2022-05-27 16:48:26 +02:00