Theodore Brown
0f4db694df
Allow conditions inside loops to preserve or narrow int range
...
Fixes #7555 , fixes #8020 , fixes #8865
2022-12-18 17:35:14 -06:00
orklah
156c1089a9
Merge pull request #8927 from jack-worman/Trailing_commas
...
Trailing commas
2022-12-19 00:04:47 +01:00
Jack Worman
e7d4d697ac
Reflection class stub updates
2022-12-18 14:35:41 -06:00
Jack Worman
1c19260cdd
Require trailing commas
2022-12-18 13:20:31 -06:00
orklah
8223332185
Merge pull request #8926 from danog/fix_8925
...
Skip intersection of template types during inheritance check
2022-12-18 18:53:07 +01:00
orklah
da001c46cd
Merge pull request #8929 from danog/fix_8923
...
Fix #8923
2022-12-18 18:52:37 +01:00
2f5d0a4a9f
Fix #8923
2022-12-18 18:19:22 +01:00
70d1a5a3c5
Add test
2022-12-18 18:14:43 +01:00
c454a181cc
Fixes
2022-12-18 15:00:15 +01:00
098d5020d0
array_merge_recursive
2022-12-18 14:52:44 +01:00
1dd062a810
Fix #2481
2022-12-18 14:50:51 +01:00
b83226a0db
More array_merge improvements
2022-12-18 14:37:19 +01:00
fluffycondor
dd76a1e481
Fix tests
2022-12-18 16:57:36 +06:00
fluffycondor
6f230edc8b
Add one more test
2022-12-18 16:53:19 +06:00
fluffycondor
a8b249b786
Remove no longer necessary @vars
2022-12-18 16:53:19 +06:00
fluffycondor
987981b12a
Make sprintf return non-empty-string when arguments non-empty-strings too
2022-12-18 16:53:19 +06:00
orklah
62ced63375
Merge pull request #8910 from jack-worman/Last_property_typehints
...
Last property typehints
2022-12-17 15:53:36 +01:00
Bruce Weirdan
425d9fa8bf
Recognize casts from object-with-properties to array
...
Previously `(array)(object)['a' => 1, 'b' => 'foo']` would result in
`array<array-key, mixed>`. Now it would be inferred as
`array{a:1,b:foo,...<array-key,mixed>}`
2022-12-16 20:12:02 -04:00
Jack Worman
a52f35e5e1
Even more property typehints
2022-12-16 13:24:21 -06:00
992f26a8e7
Fix array_merge edge case
2022-12-16 18:10:46 +01:00
orklah
5132de22e0
Merge pull request #8900 from othercorey/fix-unreflectable
...
Fix remaining invalid unreflectable methods
2022-12-15 21:19:10 +01:00
orklah
e69f88af5a
Merge pull request #8897 from jack-worman/Add_some_more_property_typehints
...
Add property typehints in Internal directory
2022-12-15 21:11:43 +01:00
Corey Taylor
067d0649ca
Fix remaining invalid unreflectable methods
2022-12-15 04:09:02 -06:00
Jack Worman
2b5407d2fb
Added SlevomatCodingStandard.TypeHints.ParameterTypeHint sniff and removed php-cs-fixer
2022-12-14 20:26:17 -06:00
Jack Worman
69658e8315
SlevomatCodingStandard.Commenting.DocCommentSpacing
2022-12-14 13:34:41 -06:00
Jack Worman
643542346b
Add codesniffer rules and expand php-cs-fixer to bin and test
2022-12-14 13:29:09 -06:00
Corey Taylor
902ea9d7e2
Fix DOM and Reflection unreflectable methods
2022-12-14 10:18:15 -06:00
027354cabc
Improve parsing of list shapes ( #8841 )
...
* Improve parsing of list shapes
* Improve logic
* One more test
* Fix tests
2022-12-13 22:30:40 +01:00
6347a21546
Literal inferring for array_column, array_combine, array_fill_keys, array_fill ( #8850 )
...
* Squash
* Remove BC break
* Suppress
* Possibly fix
* Fixes
* Fix test
* Implement literal array_column
* Improve array_column inference
* Improve logic
* Add array_combine return type provider
* Cleanup
* Fix #8868 (add array_fill_keys/array_fill return type)
* cs-fix
* Fix
2022-12-13 22:29:35 +01:00
cca276768e
List refactoring v5 ( #8820 )
...
* Squash
* Remove BC break
* Suppress
* Possibly fix
* Fixes
* Fix test
* Trigger build
* Update psl
* Update psl
* Fixes
* Fixes
* Cleanup
* fix
* Fix build
* Do not consider never when getting the max count
* Add assertion
* Cleanup
* Fix
* Cleanup
2022-12-13 21:40:19 +01:00
orklah
00706de18e
Merge pull request #8826 from othercorey/callmap-methods
...
Add validation for Class::Method names in CallMap
2022-12-13 18:47:23 +01:00
Corey Taylor
e57079f581
Add validation for Class::Method names in CallMap
2022-12-13 03:34:47 -06:00
orklah
72e7386eb5
Merge pull request #8722 from Ocramius/feature/#8720-improve-types-and-purity-for-reflection-symbols
...
Declaring more precise types and purity boundaries on `ext-reflection` symbols in `.phpstub` files
2022-12-12 21:27:47 +01:00
Bruce Weirdan
9db0eb3e03
InvalidEnumMethod requires PHP8.1+
2022-12-12 03:12:55 -04:00
Bruce Weirdan
19a1005bc3
Forbid most magic methods on enums
...
Fixes vimeo/psalm#8889
Additionally this fixes case-sensitivity of
MethodSignatureMustOmitReturnType issue
Fixes vimeo/psalm#8888
2022-12-12 03:03:20 -04:00
Bruce Weirdan
a4ff9eb204
Allow true
in native types
...
Fixes vimeo/psalm#8872
For `null` and `false`, we already allowed them even as standalone
types, even though PHP before 8.2 only allowed them as part of a union.
2022-12-09 20:17:09 -04:00
orklah
e4b64af599
Merge pull request #8861 from VincentLanglet/count
...
Precise count range
2022-12-09 00:41:00 +01:00
Vincent Langlet
f6051bc417
Precise count range
2022-12-08 16:44:10 +01:00
Marco Pivetta
30a49633a5
Corrected AttributeTest
expectation: ReflectionAttribute
s always come in a list
2022-12-07 15:44:38 +01:00
Mark McEver
9764803c55
Allowed taints to pass through urlencode()
2022-12-05 17:25:36 -06:00
orklah
cc9c67d7ee
Merge pull request #8834 from danog/fix_class_string_unions
...
Fix parsing of class string of unions
2022-12-04 20:44:41 +01:00
orklah
f3e1a2c0e4
impossible constructor
2022-12-04 20:33:05 +01:00
4c277052e3
Fix parsing of class string of unions
2022-12-04 20:28:53 +01:00
orklah
2490230f1f
fix missing break handling in loop
2022-12-04 13:57:59 +01:00
Corey Taylor
d9b651a126
Fix return types for date functions in callmap
2022-12-03 17:55:29 -06:00
Bruce Weirdan
a157743140
Prevent crashes on conditional traits
...
Fixes vimeo/psalm#7863
2022-12-03 01:21:10 -04:00
Bruce Weirdan
4d8af74d92
Don't crash when accessing immutable static property
...
Fixes vimeo/psalm#8313
2022-12-03 00:51:22 -04:00
Bruce Weirdan
7364988934
Fix crash when using phantom methods as first-class callable
...
Fixes vimeo/psalm#8377
2022-12-02 23:28:22 -04:00
Barney Laurance
a29f65ecfe
Fix too lax function visibility in test
2022-12-02 00:24:44 +00:00
Barney Laurance
6693421379
Code style fix
2022-12-02 00:24:05 +00:00