orklah
af28687708
fix reconciliation when the assertions is not part of the existing range and add tests
2022-01-07 19:39:19 +01:00
orklah
6296a60553
add new test that was failing before
2022-01-07 18:18:47 +01:00
Stefan Vetsch
7f2f0d99ec
Issue #7243 : Do not throw exception on xinclude with fallbacks
2022-01-07 09:40:19 +01:00
orklah
cbb0c6398f
allow short closure with never
2022-01-06 21:36:34 +01:00
Fabien Villepinte
b9d8dd9d3f
Fix analysis when __invoke() exists
2022-01-06 21:22:18 +01:00
Bruce Weirdan
46bcb626f5
Merge pull request #7321 from weirdan/dont-crash-on-array_map-first-class-callable
2022-01-06 14:11:35 +02:00
Bruce Weirdan
fe036d4db0
Prevent crashes on array_map(...)
...
Fixes vimeo/psalm#7305
2022-01-06 10:38:58 +02:00
orklah
18ab5a099f
Merge pull request #7309 from orklah/emptyStringKeyedArray
...
fix empty string not quoted in keyed array offset
2022-01-06 09:37:28 +01:00
orklah
a6a0769402
fix test
2022-01-05 22:39:13 +01:00
orklah
72216f9354
fix test
2022-01-05 22:36:22 +01:00
orklah
e7bc6f273a
don't crash when pushing a template to in_array
2022-01-05 22:33:20 +01:00
orklah
7e2b9d0fab
fix empty string in keyed array offset
2022-01-05 22:26:35 +01:00
Fabien Villepinte
1fa6b612b1
Fix parse_url() return type
2022-01-04 16:09:18 +01:00
orklah
6f9cbc698b
resolve type alias and class const on UnionTypeComparator
2022-01-04 00:14:08 +01:00
Bruce Weirdan
36d5a2a83c
Merge pull request #7019 from zoonru/no_ksort_list
2022-01-02 07:37:21 +02:00
Bruce Weirdan
697db76dc1
Merge pull request #7252 from AndrolGenhald/feature/allow-assertions-on-mutable-object-properties
2022-01-02 07:29:02 +02:00
Bruce Weirdan
094a0651d7
Increase composer timeout
...
This should prevent random failures we've been observing lately.
2022-01-02 07:06:16 +02:00
Bruce Weirdan
376d2a389e
Merge pull request #7259 from klimick/infer-this-context-for-psalm-if-this-is
2022-01-02 05:31:24 +02:00
orklah
2a6f12296e
Merge pull request #7260 from orklah/6691
...
forbid calling impure callable in immutable context
2022-01-01 12:08:07 +01:00
orklah
8e5c9f02bb
fix test
2022-01-01 11:21:43 +01:00
orklah
8049438408
forbid calling impure callable in immutable context
2022-01-01 11:13:45 +01:00
adrew
29af83bf61
Add tests for psalm-if-this-is variables and template inference
2022-01-01 13:03:17 +03:00
adrew
878dfa2250
Variable types inference in method context when method marked with psalm-if-this-is
2022-01-01 13:03:17 +03:00
orklah
51ba96c09d
Merge pull request #7253 from orklah/5874
...
allow calling mutation_free function inside a mutation_free context
2021-12-31 00:24:29 +01:00
AndrolGenhald
1b9f57f214
Fix directory separator cross-platform issue.
2021-12-30 16:29:40 -06:00
AndrolGenhald
dd631c0c85
Skip reference tests, allow assertions on magic properties ( fixes #6770 ).
2021-12-30 16:23:59 -06:00
orklah
6c6eac9f2f
fix test
2021-12-30 22:39:30 +01:00
orklah
392402cf6d
allow calling mutation_free function inside a mutation_free context
2021-12-30 22:29:36 +01:00
AndrolGenhald
cb9231b62f
Add failing tests for reference property mutation.
2021-12-30 14:44:03 -06:00
AndrolGenhald
3ac497c811
Allow assertions on mutable object properties.
...
All of the functionality is already there, we just have to not prevent it.
2021-12-30 14:07:55 -06:00
adrew
4a903c71a1
Checking psalm-if-this-is before applying psalm-this-out
2021-12-30 21:48:25 +03:00
546438bec1
Another small fix
2021-12-30 12:05:03 +01:00
ff7abec2bd
Fix tests
2021-12-30 12:01:25 +01:00
Bruce Weirdan
03b7e94748
Merge pull request #7232 from trowski/issue-7196
2021-12-30 10:03:17 +02:00
orklah
f047d5bc53
allow suppressing unevaluatedCode
2021-12-29 00:44:48 +01:00
orklah
3828db52b9
Merge pull request #7229 from orklah/cleanup5
...
remove always true/false conditions
2021-12-27 22:08:06 +01:00
Aaron Piotrowski
e23a915bb1
Fix first-class callables when used with magic method, built-in, or undefined methods
...
Closes #7196 .
2021-12-27 14:29:33 -06:00
orklah
3ae80983cc
fix unused and CS
2021-12-27 20:10:39 +01:00
orklah
9029e1d613
remove always true/false conditions
2021-12-27 19:59:11 +01:00
adrew
87deb19a87
Remove dead code from test
2021-12-27 19:43:06 +03:00
adrew
c0ca383020
Contextual inference for closure param types
2021-12-27 19:35:37 +03:00
sji
a90456ed8b
trim whitespaces in namespaces specified at @psalm-internal
2021-12-27 02:31:11 +02:00
adrew
3d212c642c
Add test for mismatch param type from docblock
2021-12-27 00:45:26 +02:00
adrew
d6d0fc6704
Remove undefined variables
2021-12-27 00:45:25 +02:00
adrew
2e4d75d6bd
Fix closure param type inference in generic context
2021-12-27 00:45:22 +02:00
Bruce Weirdan
fb56d5ce58
Merge pull request #7210 from vstm/improve-cli-utils-argv-handling
2021-12-27 00:35:32 +02:00
orklah
d4fcb7f61c
handle literal equality with integer ranges
2021-12-26 21:09:27 +01:00
orklah
fb97980bf9
fix test
2021-12-26 19:27:13 +01:00
orklah
f7b6c4e1b6
escape more special chars in keyed array names that won't be read by the parser
2021-12-26 19:27:13 +01:00
Stefan Vetsch
3893abff72
Use directory separator to make test more portable
2021-12-24 15:55:24 +01:00
Stefan Vetsch
c3752b4a2b
Fix psalm issues
2021-12-24 10:59:39 +01:00
Stefan Vetsch
5331091f5e
Simplify argv handling, the first element is always the script name
2021-12-24 10:05:52 +01:00
Stefan Vetsch
ecc7400530
Add CliUtilsTest with test cases for old behaviour
2021-12-24 09:54:37 +01:00
orklah
2c9541c1ed
flag the context as "inside_conditional" when analyzing leftover cases to prevent emitting unused error
2021-12-23 22:18:27 +01:00
Philip Hofstetter
fdeb1954c2
update docs for enum case deprecation
2021-12-22 06:16:42 +01:00
Philip Hofstetter
e8e968e8c2
recognize Deprecated attribute on enum cases
...
just like with properties, this recognizes both `Psalm\Deprecated` and
`JetBrains\PhpStorm\Deprecated`
2021-12-22 06:16:42 +01:00
Philip Hofstetter
d45cb64827
allow marking enum cases as @deprecated
2021-12-22 06:16:42 +01:00
orklah
cc618bc916
allow successful destructuring to also be null if the source was nullable
2021-12-20 22:48:27 +01:00
orklah
639b1b94a3
fix stub and fix test
2021-12-20 09:57:06 +01:00
Matthew Brown
2e32a18222
Fix callable negation
2021-12-18 19:42:43 +00:00
S.M. Ataur Rahman
e408abf119
Fixed ignoreTypeStats & useStrictTypes flag value detection for directories in config
2021-12-18 19:59:25 +06:00
orklah
ba6a4d8af5
fix test
2021-12-17 00:16:50 +01:00
orklah
9583d6a7e7
invert stub, add test
2021-12-17 00:12:54 +01:00
Matthew Brown
89a1c5acbc
Fix faulty comparison with typed closure
2021-12-16 16:39:08 +00:00
Bruce Weirdan
7e97c5c84e
Merge pull request #7167 from AndrolGenhald/bugfix/7164-conflicting-fake-variable
2021-12-15 20:56:51 +02:00
orklah
16c0496d1c
Merge pull request #7157 from nowaja/master
...
ISSUE-5962 Fixed wrong line number for @method annotations
2021-12-15 18:37:26 +01:00
orklah
2dfe45a96e
Merge pull request #7152 from orklah/7109
...
display class-strings in keyed arrays syntax and allow using them for assertions
2021-12-15 18:36:40 +01:00
AndrolGenhald
03ccb9b548
Add test for nested array_map
return type.
2021-12-15 11:09:10 -06:00
rarila
97e6511fab
Set number of lines before and after namespace.
2021-12-15 04:58:32 +01:00
rarila
7df7c1f070
Format declare(strict_types=1)
2021-12-15 04:42:37 +01:00
orklah
bb687aebba
add test
2021-12-15 00:51:59 +01:00
orklah
41fe5534b6
Merge pull request #7159 from AndrolGenhald/bugfix/number-format-optional-arguments
...
Fix optional arguments in number_format (fixes #7158 ).
2021-12-15 00:47:35 +01:00
orklah
5ddf5df10d
Merge pull request #7155 from rarila/partials-conversion-2
...
Convertion of partials to full imports
2021-12-15 00:39:20 +01:00
AndrolGenhald
10b6b9aef0
Fix optional arguments in number_format ( fixes #7158 ).
2021-12-14 09:10:05 -06:00
Jakub Nowak
14c181f280
ISSUE-5962 Fixed wrong line number for @method annotations
2021-12-14 10:57:02 +01:00
ralila
6ee3d44092
Conversion of misc
2021-12-14 02:52:44 +01:00
rarila
1c298c4605
Conversion of Psalm\Type
2021-12-14 02:31:22 +01:00
ralila
e32af3c05a
Conversion of Psalm\Type\Atomic
2021-12-14 02:26:28 +01:00
ralila
fed7d1ef3b
Conversion of Psalm\Plugin\Hook\*Interface
2021-12-14 02:08:35 +01:00
S.M. Ataur Rahman
f4512361b2
"No errors found!" message is now printed within a nice green block
2021-12-14 00:50:32 +06:00
orklah
fb07d5819c
Merge pull request #7141 from mathroc/fix/in-array-return-type
...
in_array returns false in strict mode if types are incompatibles
2021-12-13 00:20:43 +01:00
Mathieu Rochette
39fb4222d5
in_array returns false in strict mode if types are incompatibles
...
see #5552
2021-12-13 00:00:53 +01:00
adrew
de0d3a3be3
Allow IssueBuffer::remove to remove recorded issues
2021-12-13 01:42:33 +03:00
adrew
a8d23538b7
Fix closure param type inference with named params
2021-12-12 13:17:15 +03:00
Bruce Weirdan
41ca7f7f7a
Merge pull request #7136 from klimick/forbid-positional-args-after-named
2021-12-12 02:22:51 +02:00
orklah
f79f857ded
Merge pull request #7133 from AndrolGenhald/remove-unused-suppressed
...
Allow suppressing UnusedPsalmSuppress, remove unused suppressions.
2021-12-11 23:24:31 +01:00
orklah
6632ddf884
Merge pull request #7135 from klimick/fix-closure-param-type-inference
...
Fix type inference of closure params
2021-12-11 23:10:32 +01:00
adrew
63de45f0ad
Remove use of nonexistent class
2021-12-11 23:45:34 +03:00
adrew
6cf2e31c4a
Forbid positional arg after named arg
2021-12-11 23:37:15 +03:00
adrew
603e1c944b
Fix type inference of closure params
2021-12-11 23:00:18 +03:00
adrew
989c3ada2e
Fix type inference of closure params
2021-12-11 22:51:18 +03:00
AndrolGenhald
23b781163a
Use getSingleAtomic() instead of array_values(getAtomicTypes())[0].
2021-12-11 13:44:34 -06:00
AndrolGenhald
bfe7f96b56
Allow suppressing UnusedPsalmSuppress, remove unused suppressions.
2021-12-11 13:23:00 -06:00
orklah
0ba5b0b30a
Merge pull request #7130 from AndrolGenhald/bugfix/fix-class-property-suppression
...
Class property issue suppression fixes.
2021-12-11 19:12:49 +01:00
AndrolGenhald
51d9652b70
Class property issue suppression fixes.
...
Fix @psalm-suppress and @psalm-allow-private-mutation being ignored if nothing else is in the docblock.
Fix @psalm-suppress not allowing extra text after the issue name.
Fix PossiblyUnusedProperty and UnusedProperty suppression not working at the property level.
Fix MissingPropertyType suppression not working at the property level.
2021-12-11 11:45:06 -06:00
Matthew Brown
b558748db2
Detect unused properties that are written to inside arrays
2021-12-11 11:42:05 -05:00
Aaron Piotrowski
1f3a37ff02
Add support for first-class callables
2021-12-09 10:54:49 -06:00
orklah
761d5f35b4
Merge pull request #7094 from kamil-tekiela/count_chars-fix
...
Fix count_chars stubs
2021-12-09 00:14:11 +01:00
Kamil Tekiela
098238ff7f
Create test for count_chars
2021-12-08 22:57:32 +00:00
orklah
eefdb95765
Merge pull request #7093 from orklah/7090
...
don't stop analyzing array, even if we already have a type and we can't create an object like
2021-12-08 22:37:57 +01:00
orklah
604f47d52a
Merge pull request #7106 from orklah/7098
...
fix reconciliation between positive-int and inferior/superior assertions
2021-12-08 22:29:15 +01:00
Bruce Weirdan
eb2f4dca89
Merge pull request #7103 from AndrolGenhald/feature/3938-decimal-operator-overloads
2021-12-08 23:22:24 +02:00
orklah
be9037f7b1
fix reconciliation between positive-int and inferior/superior assertions
2021-12-08 21:38:12 +01:00
AndrolGenhald
a89e8ec28c
Fix non-empty-literal-string to behave as subtype of non-empty-string ( fixes #7095 ).
2021-12-08 13:38:32 -06:00
AndrolGenhald
b29fc6ad3c
Allow operator overloading for Decimal extension ( fixes #3938 ).
2021-12-08 10:59:37 -06:00
orklah
574c8f74dd
fix test
2021-12-07 19:48:37 +01:00
orklah
c17af4128e
don't stop analyzing array, even if we already have a type and we can't create an object like
2021-12-07 19:38:52 +01:00
marcosh
9c4187fd2f
fix abs tests
2021-12-07 12:00:52 +01:00
Bruce Weirdan
2530b33dbd
Merge pull request #7076 from klimick/fix-generic-assertion
2021-12-07 08:08:48 +02:00
orklah
75312d93b1
Don't crash when checking purity of __callStatic in a trait
2021-12-06 19:00:37 +01:00
Ricardo Boss
2ec77fe29c
Make name property of enum cases return non-empty-strings ( vimeo/psalm#6964 )
2021-12-06 00:33:57 +01:00
adrew
dee3fc4358
try to fix generic assertions for list and array
2021-12-06 02:25:40 +03:00
rarila
39402c233d
Return type hints ( #7065 )
...
Co-authored-by: ralila <>
2021-12-05 19:51:26 +02:00
adrew
bc61547bce
detect yield in array expression
2021-12-05 15:33:18 +03:00
Bruce Weirdan
e9d9481ea6
Merge pull request #7060 from rarila/codingstyle-convert-fqn
2021-12-05 02:46:03 +02:00
ralila
8fb2e0f885
Handle some partials
2021-12-04 21:55:53 +01:00
Bruce Weirdan
14dcbc908a
Don't output console links in CI env ( #7049 )
2021-12-04 19:49:24 +02:00
ralila
f833085a15
Fix fqn usage in php-doc
2021-12-04 03:37:19 +01:00
ralila
d5d277f579
Set further phpcs fqn options
2021-12-03 22:44:41 +01:00
ralila
30a65685a2
Import instead of using fqn classes
2021-12-03 21:40:18 +01:00
ralila
7c32325e03
Import instead of using fqn constants
2021-12-03 21:25:22 +01:00
ralila
2a956498bf
Import instead of using fqn functions
2021-12-03 21:07:25 +01:00
ralila
711be643c6
Import instead of using fqn exceptions
2021-12-03 20:29:06 +01:00
ralila
245920e53c
Import instead of using fqn
2021-12-03 20:11:20 +01:00
orklah
a7e9eea0ca
flag usage of get_class outside class without args ( #7043 )
2021-12-02 00:38:45 +02:00
Bruce Weirdan
28c4f86993
Merge pull request #7027 from rarila/issue-6914
2021-11-30 23:34:00 +02:00
orklah
2c6ea7c551
Merge pull request #7022 from orklah/7007
...
remove the remaining dynamic property assignment
2021-11-30 19:41:42 +01:00
ralila
9a7d0809d2
Restrict tests with PREG_UNMATCHED_AS_NULL to PHP >= 7.2
2021-11-30 03:29:41 +01:00
ralila
fef41461ed
Allow skipping tests for PHP <= 7.2
2021-11-30 03:25:39 +01:00
ralila
c29e943244
Add some tests
2021-11-30 03:19:27 +01:00
orklah
466137a4c4
Merge pull request #7025 from orklah/6256
...
flag DeprecatedProperty on static fetch
2021-11-29 23:46:25 +01:00
orklah
9de9c12851
flag DeprecatedProperty on static fetch
2021-11-29 23:32:27 +01:00
orklah
8ca0fc209a
remove the remaining dynamic property assignment
2021-11-29 20:12:59 +01:00
Paweł Słowik
18b6fbc907
Add tests for UnresolvableInclude
2021-11-29 18:37:14 +01:00
ralila
e5c1a35e31
Adjust tests
2021-11-29 14:24:15 +01:00
Bruce Weirdan
28a75652ac
Merge pull request #6997 from zoonru/list_values_paradox
2021-11-29 00:47:12 +02:00
orklah
8bc71fcf85
Merge pull request #7013 from orklah/6951
...
Allow overriding the signature type by a param docblock for promoted properties
2021-11-28 11:50:43 +01:00
orklah
a6e4230d2d
Allow overriding the signature type by a param docblock for promoted properties
2021-11-28 11:10:55 +01:00
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
ee8c5c9c35
Remove some array_values
2021-11-26 21:47:17 +01:00