1
0
mirror of https://github.com/danog/psalm.git synced 2024-12-11 16:59:45 +01:00
Commit Graph

5743 Commits

Author SHA1 Message Date
kkmuffme
9bc4752e29 add checks for complex empty format and make return type more specific 2023-06-12 19:44:22 +02:00
kkmuffme
9232e4e76b code style 2023-06-12 19:44:22 +02:00
kkmuffme
697d06b24d fix empty format return type, add errors for empty format or format without placeholders 2023-06-12 19:44:22 +02:00
orklah
715a91d15c
Merge pull request #9889 from dkarlovi/feat/cache.gz
feat: cache.gz
2023-06-12 18:50:01 +02:00
Yannick Gottschalk
d11bb90c96 Style fixes 2023-06-12 15:29:22 +02:00
Yannick Gottschalk
40ce0cf7d7 Fixes #9827 2023-06-12 15:25:17 +02:00
orklah
b6cba5a377
Merge pull request #9877 from kkmuffme/sprintf-improve-return-param-type-validation
Sprintf improve return param type validation
2023-06-11 13:08:24 +02:00
Dalibor Karlović
495a466c5e
init cache in child classes 2023-06-09 15:57:29 +02:00
kkmuffme
3179498643 check args for sprintf + printf
* check args for (s)printf for Invalid/TooMany/TooFew
* don't change the return type when we cannot infer it more specifically (nullable return)
* fix https://github.com/vimeo/psalm/issues/9874
* implement https://github.com/vimeo/psalm/issues/9817
* add tests
2023-06-09 12:59:13 +02:00
kkmuffme
0a54c84055 readonly does not have write access, therefore is safe as long as the type is contained in the parent type
Fix https://github.com/vimeo/psalm/issues/9831#issuecomment-1569022701
2023-06-09 12:37:41 +02:00
orklah
08d5b719c7
Merge pull request #9878 from ygottschalk/fix/9820-glob-stub
Glob return type stub
2023-06-07 20:32:40 +02:00
andrew
4f5dfa7350 Better intersection of template types during inheritance check 2023-06-07 17:58:25 +03:00
Yannick Gottschalk
8bab567aac Merge branch 'master' into fix/9820-glob-stub 2023-06-07 11:45:16 +02:00
Yannick Gottschalk
c74d431fdf Fixed style issues 2023-06-07 08:52:54 +02:00
kkmuffme
08d515d7af don't autoload AllowDynamicProperties 2023-06-07 08:41:44 +02:00
kkmuffme
ed9fbab1c4 don't autoload Mockery/Closure 2023-06-07 08:31:53 +02:00
kkmuffme
40679e9a82 fix failing mock tests 2023-06-07 08:12:31 +02:00
Yannick Gottschalk
a130e2f06c Fixes #9820 2023-06-06 17:02:28 +02:00
orklah
9d1c2c4596
Merge pull request #9866 from klimick/fix-generic-type-params-mapping
Fix generic type params mapping
2023-06-04 23:05:04 +02:00
orklah
43df1dc9ba
Merge pull request #9865 from klimick/intersection-with-template
Intersect template types during inheritance check
2023-06-04 23:01:28 +02:00
orklah
c15860508b
Merge pull request #9853 from kkmuffme/multiple-psalm-assert-if-for-array-list
Allow if/false assert for same variable to allow array/list distinction
2023-06-04 22:59:37 +02:00
andrew
02addbe79c Fix generic type params mapping 2023-06-02 17:36:13 +03:00
andrew
38bd4d8c0d Intersect template 2023-06-02 14:48:20 +03:00
orklah
75baaf7889
Merge pull request #9844 from kkmuffme/property-no-set-in-constructor-abstract-false-positive
PropertyNotSetInConstructor should not report for abstract constructors
2023-06-01 07:21:23 +02:00
kkmuffme
103e7b343c PropertyNotSetInConstructor should not report for abstract constructors
since they do not have any code

Fix https://github.com/vimeo/psalm/issues/9830
2023-06-01 01:38:33 +02:00
kkmuffme
1f2db5f31c Allow if/false assert for same variable to allow array/list distinction
Fix https://github.com/vimeo/psalm/issues/9037
2023-06-01 01:08:06 +02:00
orklah
a762b6c3bb
Merge pull request #9841 from kkmuffme/sprintf-basic-return-type-provider
sprintf basic non-empty-string return type provider
2023-05-31 23:36:03 +02:00
Alies Lapatsin
174cd5c0fe Introduce and use IssueData constants for severity
they are not the same as Config::REPORT_* constants
2023-05-31 12:38:15 +02:00
kkmuffme
8606d5585f sprintf basic non-empty-string return type provider
Fix https://github.com/vimeo/psalm/issues/9819
This PR is a starting point for improving the sprintf return type and eventually validate the format, param types and param count.
(see https://github.com/vimeo/psalm/issues/9817, https://github.com/vimeo/psalm/issues/9818)
2023-05-30 22:11:17 +02:00
orklah
88aae91e55
Merge pull request #9835 from staabm/patch-5
Fixed typo in ConstantTest
2023-05-30 21:08:47 +02:00
kkmuffme
e3e7373e99 fix test string format 2023-05-30 16:55:13 +02:00
kkmuffme
c185437955 fix string format in test 2023-05-30 16:49:10 +02:00
kkmuffme
9d7d4bff28 non-empty-string always returs non-empty-string, fix tests 2023-05-30 16:44:23 +02:00
kkmuffme
25c7f37a44 add test, fix wrong test and fix shepherd 2023-05-30 16:29:47 +02:00
Markus Staab
9af897f328
Fixed typo in ConstantTest 2023-05-30 08:43:54 +02:00
orklah
2bbfca6d9f
Merge pull request #9829 from klimick/map-closed-inheritance-to-union
Mapping closed inheritance to union during assertion
2023-05-29 20:14:31 +02:00
Yannick Gottschalk
a41eb35b24 Fix #9824 2023-05-28 17:37:16 +02:00
klimick
38c93db889 More closed inheritance assertion tests 2023-05-27 18:55:27 +03:00
klimick
b7b20771c0 Add closed inheritance assertion tests 2023-05-27 13:40:23 +03:00
Jack Worman
f279c39503 GH-9825 2023-05-26 18:03:05 -04:00
Demmie
cab10721e6 Add a support for multilevel glob wildcards
This works just like in Python with "**".
2023-05-24 01:13:26 -04:00
orklah
f90118cdea
Merge pull request #9805 from orklah/memory-psalter
allow using more than 8G of memory in psalter
2023-05-22 23:19:03 +02:00
orklah
d23616cafa allow using more than 8G of memory in psalter 2023-05-22 23:06:02 +02:00
orklah
ed94de5146 fix offset for type param changes 2023-05-21 18:56:54 +02:00
orklah
22fd6fb9db
Merge pull request #9788 from robchett/strpos_stripos_assert_non_empty
Narrow the type of $haystack when strpos(...) !== false
2023-05-21 11:42:18 +02:00
RobChett
bd0ba6ee95 Narrow the type of haystack when strpos != false 2023-05-21 10:35:19 +01:00
RobChett
100907b61f Improve return types of pow() 2023-05-15 01:22:45 +01:00
Jack Worman
f41da745d1 UnsupportedPropertyReferenceUsage 2023-05-12 14:12:12 -05:00
Valentin Vion
3d122a745f Removed return type false from date and gmdate 2023-05-09 12:02:44 +08:00
orklah
d4c5f85eb0
Merge pull request #9687 from robchett/limit_inheritance
WIP - Limit inheritance to a subset of classes #1450
2023-05-07 22:46:05 +02:00
RobChett
aa85669645 Change the Issue type and add documentation 2023-05-07 11:34:33 +01:00
RobChett
cad5288484 Support interfaces 2023-05-07 11:33:39 +01:00
RobChett
de877f1dcf Add support for @psalm-inheritors 2023-05-07 11:33:38 +01:00
kkmuffme
ad7be63c0b fix tests/internal code
@var comments needed due to https://github.com/vimeo/psalm/issues/9754 and https://github.com/vimeo/psalm/issues/9753
2023-05-06 19:18:27 +02:00
orklah
0ea2a6a567
Merge pull request #9742 from fluffycondor/allow-phpdoc-dynamic-properties
Allow dynamic properties from PHPDoc
2023-05-06 15:56:16 +02:00
andrew
cfd0f062f7 Fix union argument types check against templated param 2023-05-06 16:01:16 +03:00
orklah
8d15fa1d79
Merge pull request #9735 from tscni/fix/missing-global-override-file-storage
Fix missing global class type when scanning cached files
2023-05-05 22:08:21 +02:00
fluffycondor
86fd504965 Allow dynamic properties from PHPDoc 2023-05-04 18:49:41 +02:00
orklah
7483f4d809
Merge pull request #9740 from edsrzf/better-property-error
Fix OverriddenPropertyAccess error message
2023-05-04 18:49:00 +02:00
orklah
f8895edf4d
Merge pull request #9738 from klimick/fix-invalid-cast-for-templated-class-string
Fix invalid cast for templated class-string
2023-05-04 18:43:41 +02:00
orklah
32bd8f66e6
Merge pull request #9739 from klimick/match-paradoxical-condition-with-complex-expr
Fix ParadoxicalCondition with complex match expression
2023-05-04 18:39:17 +02:00
andrew
a18eb447e0 Test match on class const fetch 2023-05-04 17:21:50 +03:00
andrew
948ece9dea Fix string negation to never 2023-05-04 15:34:18 +03:00
Tinjo Schöni
595388b7d7
Add test case for FileScanner adding class reference for configured global 2023-05-04 12:05:32 +02:00
Evan Shaw
d2f0f6ce30 Fix OverriddenPropertyAccess error message
The message previously didn't mention the base class, which made it
confusing.
2023-05-04 21:51:16 +12:00
klimick
ac8d489413 Fix ParadoxicalCondition with complex match expression 2023-05-04 11:58:39 +03:00
andrew
57b3876796 Fix invalid cast for templated class-string 2023-05-04 11:25:52 +03:00
orklah
a5effd2d2d
Merge pull request #9681 from robchett/no-seal-methods_and_no-seal-propeties
Add support for @psalm-no-seal-properties and @psalm-no-seal-methods
2023-05-02 19:20:34 +02:00
orklah
4843a350a0
Merge pull request #9720 from Jean85/fix-ambiguous-constant-inheritance
Fix ambiguous constant inheritance false positive
2023-04-28 23:22:31 +02:00
Alessandro Lai
54531a1d31
Add regression test for non-ambiguous constant inheritance 2023-04-27 22:39:52 +02:00
481a5bd61d Fix date return type provider 2023-04-25 11:41:39 +02:00
orklah
720f3f1dc2
Merge pull request #9704 from Nicelocal/fix_new_template_object
Allow running new on template objects
2023-04-24 16:29:34 +02:00
f6e0c5b6ac Fix 2023-04-24 14:29:45 +02:00
7a2a68bb46 Update 2023-04-24 13:40:19 +02:00
bff2154b23 cs-fix 2023-04-24 13:16:11 +02:00
8288b00ef9 Allow running new on template objects 2023-04-24 13:08:12 +02:00
orklah
2b68046115
Merge pull request #9694 from Nicelocal/unsealed_array_generic_syntax
Implement unsealed array generic syntax
2023-04-24 12:50:57 +02:00
orklah
eae04f25f6
Merge pull request #9693 from Nicelocal/fix_9692
Fix #9692
2023-04-24 12:48:20 +02:00
orklah
41796e324a
Merge pull request #9700 from klimick/method-contextual-closure-arg-inference
Contextual closure arg inference for class methods
2023-04-24 12:47:38 +02:00
Evan Shaw
82090f58c5 Handle included directory paths without crashing
If an include or require resolves to a directory, this now raises a
MissingFile error rather than throwing an unhandled UnexpectedValueException.
2023-04-24 11:09:48 +12:00
klimick
cf0ca8b57a Test contextual closure arg inference for class methods 2023-04-24 00:00:15 +03:00
8078b6dcbf Fixes 2023-04-21 15:58:05 +02:00
b77ed37d45 Rewrite 2023-04-21 15:49:37 +02:00
d8b85f1c04 Implement unsealed array generic syntax 2023-04-21 14:05:05 +02:00
b8672949ec Fix #9692 2023-04-21 12:33:08 +02:00
orklah
a97b6b8a5e
Merge pull request #9685 from Nicelocal/avoid_wrong_assertions
Avoid wrong assertions when working with objects returned by methods
2023-04-21 11:34:15 +02:00
orklah
40d4e560bc
Merge pull request #9691 from robchett/date_gmdate_return_type
Add return type provider for date/gmdate
2023-04-21 11:33:02 +02:00
orklah
1dcc4c4fe0
Merge pull request #9686 from Nicelocal/fix_is_object
Fix is_object assertions on final classes
2023-04-21 11:32:25 +02:00
RobChett
1a1d9c9bf5 Add return type provider for date/gmdate 2023-04-21 08:12:49 +01:00
orklah
b781bd922e
Merge pull request #9679 from robchett/mixedAssignment_from_template_var
Don't throw UnnecesseryVarAnnotation when hinting a mixed template var
2023-04-20 23:52:52 +02:00
orklah
0dcaf1c706
Merge pull request #9678 from robchett/mb_strtolower_maintain_non_empty
Return a non-empty-(lowercase-)string from mb_strtolower
2023-04-20 23:44:21 +02:00
RobChett
74c1576b9c Return a non-empty-(lowercase-)string from mb_strtolower 2023-04-20 15:54:13 +01:00
baff6fb36a fix is_object assertions 2023-04-20 14:03:35 +02:00
efb5aed879 Avoid wrong assertions when working with objects returned by methods 2023-04-20 13:00:28 +02:00
RobChett
4d9d7cebd9 Add support for @psalm-no-seal-properties and @psalm-no-seal-methods 2023-04-20 07:47:50 +01:00
RobChett
0a40286830 Don't throw UnnecesseryVarAnnotation when hinting a mixed template var 2023-04-19 21:23:40 +01:00
orklah
5efddb4201
Merge pull request #9675 from robchett/master
Valid array access on a non-empty-string yields a non-empty-string
2023-04-19 21:12:29 +02:00
RobChett
836953eb7d Switch TSingleLetter to extend TNonEmptyString instead of TString as it is more precise 2023-04-19 19:27:25 +01:00
orklah
76ebf54262
Merge pull request #9676 from Nicelocal/fix_callable_union_comparison
Fix comparison of unions of multiple callables
2023-04-19 13:02:01 +02:00
42fb38403d Update 2023-04-19 12:37:06 +02:00