Bruce Weirdan
806db287d2
Infer ::from()
and ::tryFrom()
return types on backed enums
...
Fixes vimeo/psalm#6429
2021-11-28 09:47:01 +02:00
Bruce Weirdan
ac903c5634
Include enum cases in const wildcards
...
Refs vimeo/psalm#6471
2021-11-28 05:49:39 +02:00
Bruce Weirdan
7660dc2f3e
Merge pull request #7009 from rarila/fix-symlink-test-error
2021-11-28 01:47:33 +02:00
Bruce Weirdan
66eb665b55
Merge pull request #4160 from Rarst/patch-2
2021-11-28 01:33:16 +02:00
ralila
2e56fcac93
Fix test on Windows
2021-11-28 00:18:13 +01:00
Bruce Weirdan
ec1571d261
Adjust link test to account for colors
2021-11-28 01:14:03 +02:00
Bruce Weirdan
03aea28c73
Merge pull request #6995 from vimeo/enum-constants
2021-11-27 21:49:13 +02:00
Bruce Weirdan
97445b52f3
Correctly process constant references on enum-valued variables
2021-11-27 04:32:32 +02:00
Bruce Weirdan
d19aad7db1
Display target PHP version
...
Historically it was often not quite clear to users what PHP version
Psalm assumes, and why. This PR addresses this issue by printing the
version and where we got it from right before scanning the files.
2021-11-27 02:18:09 +02:00
orklah
72de3b66cc
Merge pull request #7003 from rarila/no-phpdoc-return-void
...
Use return type hints instead of php doc "@return void"
2021-11-26 23:03:28 +01:00
ralila
7279f00e05
fix failing test
2021-11-26 21:55:30 +01:00
orklah
a27e729263
Merge pull request #7002 from orklah/listkeyedarray
...
Disable list flag for TKeyedArray after unset
2021-11-26 21:32:55 +01:00
ralila
fdaed941ad
use return type hints instead of php doc "@return void"
2021-11-26 20:59:41 +01:00
orklah
4f223db455
Disable list flag for TKeyedArray after unset
2021-11-26 20:52:34 +01:00
Bruce Weirdan
f215ed28d0
Drop special handling of constant references on enums
...
Internally enum cases are constants, and they should be resolved as
such.
Fixes vimeo/psalm#6994
2021-11-26 06:00:01 +02:00
orklah
2fbad1bbeb
Merge pull request #6993 from orklah/taint-numerics
...
Taint can't be transmitted through numerics nor bool
2021-11-25 23:20:38 +01:00
orklah
3bc06a8eab
Taint can't transmit through numerics nor bool
2021-11-25 22:40:01 +01:00
orklah
b4d25cbf60
Merge pull request #6984 from orklah/enumcase-in-attribute
...
allow using EnumCase in an Attribute
2021-11-24 19:52:19 +01:00
orklah
049285add2
allow using EnumCase in an Attribute
2021-11-24 19:43:43 +01:00
orklah
fdf3a8dbb8
Merge pull request #6979 from orklah/6975
...
don't accept unresolved literal string as valid callable-strings
2021-11-23 21:41:04 +01:00
Paweł Tomulik
dac8c98613
attempt to fix #6973
2021-11-23 20:26:07 +01:00
orklah
b42c2814a9
Merge pull request #6971 from orklah/empty-keys
...
fix counting array properties when some are Never
2021-11-23 20:11:47 +01:00
orklah
7c6b86cef3
suppress error and add test
2021-11-23 20:04:52 +01:00
Paweł Tomulik
a7b9a241f3
attempt to fix #6937
2021-11-22 23:24:20 +01:00
orklah
eca56c0c1a
Merge pull request #6972 from orklah/unused-throws
...
prevent Psalm from considering throwing methods as unused just because they're immutable
2021-11-22 22:00:55 +01:00
orklah
d8fcd783c8
fix parse
2021-11-22 21:38:25 +01:00
orklah
1c1e352e5f
prevent Psalm from considering throwing methods as unused just because they're immutable
2021-11-22 21:29:57 +01:00
orklah
0d47722195
fix counting array properties when some are Never
2021-11-22 21:13:25 +01:00
orklah
79fa7f5993
Merge pull request #6953 from orklah/callstatic-pure
...
check __callStatic purity instead of the pseudoMethod purity
2021-11-21 23:02:07 +01:00
orklah
41fd460db5
check __callStatic purity instead of the pseudoMethod purity
2021-11-21 13:51:19 +01:00
Sebastian Kehr
511ed99e46
expand type aliases when comparing unions
2021-11-19 14:15:38 +01:00
Maximilian Bösing
62b0a09741
qa: remove useless var
annotation and the psalm suppression
...
Signed-off-by: Maximilian Bösing <2189546+boesing@users.noreply.github.com>
2021-11-15 19:06:33 +01:00
Maximilian Bösing
dac82e95dc
qa: re-enable skipped test for class constant assertions
...
Signed-off-by: Maximilian Bösing <2189546+boesing@users.noreply.github.com>
2021-11-15 18:49:51 +01:00
Maximilian Bösing
665cea7fbf
bugfix: prevent psalm from yelling about docblock type contradiction
...
Signed-off-by: Maximilian Bösing <2189546+boesing@users.noreply.github.com>
2021-11-15 18:36:04 +01:00
Maximilian Bösing
a2bf87b1fc
qa: ensure psalm is able to understand already verified types
...
Signed-off-by: Maximilian Bösing <2189546+boesing@users.noreply.github.com>
2021-11-15 18:31:28 +01:00
Maximilian Bösing
68abcaab5c
feature: extract class constant by wildcard detection into dedicated resolver
...
Signed-off-by: Maximilian Bösing <2189546+boesing@users.noreply.github.com>
2021-11-15 18:27:19 +01:00
Maximilian Bösing
3e1be794c4
refactor: expand test cases and optimize handling of invalid class-constant references
...
Signed-off-by: Maximilian Bösing <2189546+boesing@users.noreply.github.com>
2021-11-15 17:56:39 +01:00
Maximilian Bösing
1a543aecb9
qa: add namespace to test asset
...
Signed-off-by: Maximilian Bösing <2189546+boesing@users.noreply.github.com>
2021-11-15 17:56:04 +01:00
Maximilian Bösing
49624169a5
bugfix: reconcile class-constant
...
Signed-off-by: Maximilian Bösing <2189546+boesing@users.noreply.github.com>
2021-11-15 17:53:26 +01:00
Bruce Weirdan
608e8d11fa
Merge pull request #6922 from weirdan/cases-references
2021-11-15 11:49:47 +02:00
Bruce Weirdan
0a9154b8bb
Allow references to enum cases in class constants
2021-11-15 05:56:09 +02:00
ralila
2e1b7b4c70
Add some tests
2021-11-15 03:09:37 +01:00
Bruce Weirdan
45e1a1c69a
Merge pull request #6850 from gharlan/hyperlink
2021-11-14 23:20:09 +02:00
Bruce Weirdan
db181bfc08
Test links output
2021-11-14 23:07:00 +02:00
Bruce Weirdan
d61e31bbaf
Merge pull request #6912 from weirdan/mbstrotolower-produces-nonlowercase-strings-sometimes
2021-11-14 21:03:24 +02:00
Bruce Weirdan
58f60b4be0
Use correct constant in tests
2021-11-14 05:23:12 +02:00
Bruce Weirdan
f5b71a3a5f
Infer mb_strtolower() result as string when encoding is specified
...
`mb_strtolower()` may return characters we generally consider uppercase
when it's given the encoding argument. This PR makes Psalm to err on the
side of caution and treat the return type as `string` rather than
`lowercase-string` in this case
Refs vimeo/psalm#6908
2021-11-14 03:57:10 +02:00
Aaron Piotrowski
1bb204db76
Fix detecting readonly promoted property visibility
2021-11-13 12:54:15 -06:00
Aaron Piotrowski
d06510833b
Fix detection of readonly on promoted properties
2021-11-13 12:37:08 -06:00
Jonathan Vollebregt
f5d7f6c405
SimpleXMLIterator is not always truthy
...
Fixes #6865
2021-11-12 13:49:31 +01:00