Maximilian Bösing
7e033d8051
bugfix: do not extend the type - only narrow down
...
Signed-off-by: Maximilian Bösing <2189546+boesing@users.noreply.github.com>
2022-06-12 19:20:38 +02:00
Maximilian Bösing
ed1bb8a9a6
bugfix: in case the old type is already more accurate than the new type, do not consider the new type as a replacement
...
Signed-off-by: Maximilian Bösing <2189546+boesing@users.noreply.github.com>
2022-06-12 03:35:59 +02:00
Maximilian Bösing
02d4f0c614
feature: add more accurate equals
checks for TLiteralFloat
, TLiteralInt
and TLiteralString
...
Signed-off-by: Maximilian Bösing <2189546+boesing@users.noreply.github.com>
2022-06-12 03:34:45 +02:00
Maximilian Bösing
92b4bf1f01
qa: use dedicated variable for asserting a specific value
...
Signed-off-by: Maximilian Bösing <2189546+boesing@users.noreply.github.com>
2022-06-12 02:58:08 +02:00
Maximilian Bösing
083da24551
qa: add more specific unit test(s) for the oneOf
detection
...
Signed-off-by: Maximilian Bösing <2189546+boesing@users.noreply.github.com>
2022-06-12 02:53:04 +02:00
Maximilian Bösing
6a73fbd1d2
bugfix: tighten the detection of types which narrow down other types
...
Signed-off-by: Maximilian Bösing <2189546+boesing@users.noreply.github.com>
2022-06-12 02:51:36 +02:00
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
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
006f441198
Merge pull request #8058 from Nicelocal/fix_disableVarParsing
...
Bring back disableVarParsing option
2022-06-06 18:33:37 +02:00
acdbd3e5b5
Bring back disableVarParsing option
2022-06-06 11:57:04 +02:00
Bruce Weirdan
3a244881ae
Merge pull request #8024 from weirdan/update-master
2022-05-29 23:28:19 +03: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
Rudolph Gottesheim
6f00a72446
Fix a typo in MissingConstructor.md
2022-05-27 11:04:00 +02:00
AndrolGenhald
6df50159a7
Fix trailing comma in parameter list for PHP 7.4.
2022-05-26 18:41:00 -05:00
AndrolGenhald
31b4dceaf4
Improve handling of unsupported references ( fixes #8018 ).
2022-05-26 18:28:23 -05:00
orklah
06d8e3e399
Merge pull request #8011 from kkmuffme/performance-only-load-files-once
...
Performance only load files once
2022-05-26 18:03:08 +02:00
orklah
d94f56a88a
Merge pull request #8007 from kkmuffme/add-missing-igbinary-serialize-code
...
igbinary_serialize code was missing in file
2022-05-26 17:57:02 +02:00
Bruce Weirdan
48db4f24c4
Merge pull request #8009 from kkmuffme/microoptimize-phpversion-check-as-requested
2022-05-26 18:12:27 +03:00
kkmuffme
278e8777d9
dont strolower filename, since file names on linux are case sensitive
2022-05-25 14:12:15 +02:00
kkmuffme
06178d0a6b
only load files once
...
* use static to keep opened files with content
* move position of file cache population to the place where we read files to ensure cache always gets populated and not on open only (since it's called directly in some places)
2022-05-25 13:53:32 +02:00
kkmuffme
5d8b5d197d
micro-optimize condition
...
https://github.com/vimeo/psalm/pull/7997#pullrequestreview-983975049
2022-05-25 11:25:19 +02:00
kkmuffme
ed0db0f7ce
igbinary_serialize code was missing in file
2022-05-25 10:52:41 +02:00
orklah
ee6c10563a
Merge pull request #7997 from kkmuffme/change-cache-hash-type-for-better-performance
...
change cache hash type for better performance
2022-05-24 18:27:42 +02:00
kkmuffme
acffb851f6
debug CI
2022-05-24 10:00:54 +02:00
kkmuffme
c1cef60e21
change cache hash type for better performance
2022-05-24 09:59:47 +02:00
orklah
4ce8a06227
Merge pull request #7981 from mathroc/callmap/array_unique-improvements
...
Improve array_unique callmap stubs
2022-05-23 21:29:40 +02:00
Mathieu Rochette
e2aafdeab2
Improve array_unique callmap stubs
...
see #7956
2022-05-23 21:19:00 +02:00
orklah
b46fb1460d
Merge pull request #7992 from AndrolGenhald/bugfix/7973
...
Fix class const issue when using floats declared in future consts (fixes #7973 ).
2022-05-21 14:02:05 +02:00
AndrolGenhald
80e94daefb
Fix class const issue when using floats declared in future consts ( fixes #7973 ).
...
- Calculate literal type for float arithmetic instead of only for int arithmetic
- Fix copy/paste fail causing InvalidConstantAssignmentValue to be marked as fixable
2022-05-20 14:46:05 -05:00
orklah
50fb396bbb
Merge pull request #7988 from GromNaN/completion
...
Fix conflict of option -c with shell completion
2022-05-20 20:43:44 +02:00
Jerome TAMARELLE
afed93b6bd
Fix conflict of option -c with shell completion
2022-05-20 09:42:57 +02:00
Matt Brown
990887148c
Fix #7968 - combine and simplify types where necessary in ternary analysis
2022-05-19 22:32:14 -04:00
orklah
5c1d95b335
Merge pull request #7982 from KevinVanSonsbeek/bugfix/#7912-class-APCuIterator-does-not-exist
...
Bugfix/#7912 class APCuIterator does not exist
2022-05-18 19:36:55 +02:00