orklah
f9e392316f
remove unused imports
2022-01-21 00:17:06 +01:00
orklah
fe9d3f02a8
nitpicks
2022-01-20 23:47:41 +01:00
Matthew Brown
0a81f8cd6c
Use objects, not strings, for assertions ( #7410 )
...
* Use objects, not strings, for assertions
* Remove unnecessary param
* Remove some unnecessary checks
* Fix bad find/replace
* Add note about assertions no longer stored as strings in UPGRADING.md
2022-01-20 17:33:06 -05:00
orklah
6f1a5e8a47
Merge pull request #7417 from klimick/partially-applied-closure-inference
...
Contextual type inference for high order function arg
2022-01-20 21:03:46 +01:00
orklah
2f052a8781
Merge pull request #7437 from orklah/mb_internal_encoding
...
create a return type provider for mb_internal_encoding
2022-01-20 20:51:08 +01:00
orklah
2aeaadee5b
Merge pull request #7442 from M1ke/m1ke/config-threads
...
Allow config to define thread count
2022-01-20 19:39:00 +01:00
Matthew Brown
1ff3161584
Remove array_unique call
2022-01-20 11:36:18 -05:00
Matthew Brown
70479444e3
Remove untested likely-unnecessary code
2022-01-20 11:29:36 -05:00
Matthew Brown
473631fb34
Remove unused & untested code in AlgebraAnalyzer
2022-01-20 11:16:33 -05:00
m1ke
6107148fce
Alter order of precedence and upated docs to match
2022-01-20 15:24:21 +00:00
m1ke
0dc4249d43
Fix phpcs
2022-01-20 10:09:15 +00:00
m1ke
2fdae4ae16
Use config threads if lower than detected threads
2022-01-20 09:50:01 +00:00
Vincent Quatrevieux
c7bfc03a6b
Merge branch '4.x' into call-docblock-method-using-parent
2022-01-20 08:59:50 +01:00
orklah
ac858e353d
create a return type provider for mb_internal_encoding
2022-01-19 21:45:44 +01:00
orklah
5a6dccd4a9
Merge pull request #7420 from orklah/remove-old-things
...
Remove forbidEcho
2022-01-19 20:32:19 +01:00
orklah
bbfdd57d5c
Merge pull request #7363 from zoonru/81_returntypewillchange
...
PHP 8.1: Report missing typehints in overridden native methods
2022-01-19 20:31:54 +01:00
Vincent
f7252417e4
Fix typing (ref #7430 )
2022-01-19 13:49:41 +01:00
1914be4ca1
Rollback
2022-01-19 12:44:55 +01:00
38945018f5
Run analysis on all PHP versions
2022-01-19 12:39:08 +01:00
d970661182
Add separate issue
2022-01-19 12:20:50 +01:00
e54d666a2e
cs-fix
2022-01-19 12:06:38 +01:00
d8be15a83d
More legacy php changes
2022-01-19 12:06:38 +01:00
c98930d6ce
Fix syntax
2022-01-19 12:06:38 +01:00
cee9eb0ead
PHP 8.1: Report missing typehints in overridden native methods
2022-01-19 12:06:35 +01:00
Vincent
7b25ca75f4
Resolve generics of inherited pseudo methods ( fix #7419 )
2022-01-19 11:45:19 +01:00
adrew
5fb1df8de7
Fix psalm issues in CallableTypeComparator
2022-01-19 00:48:50 +03:00
adrew
7e623ed48e
Upcast invokable to callable during hof arg analysis
2022-01-19 00:37:05 +03:00
adrew
fca72ee151
Fix psalm issues
2022-01-18 22:05:32 +03:00
orklah
477c0113c2
Merge remote-tracking branch 'upstream/4.x' into upstream-master3
2022-01-18 18:37:04 +01:00
orklah
dceaa117cf
remove forbidEcho
2022-01-18 18:25:18 +01:00
orklah
5f749c8a33
remove forbidEcho
2022-01-18 18:14:39 +01:00
adrew
6e1957e40a
Support higher order func arg inference for static and instance calls
2022-01-18 18:45:28 +03:00
adrew
12648f4c9e
Comments for describe how works higher order func arg inference
2022-01-18 13:36:16 +03:00
adrew
ffdf97c44d
Remove unused function
2022-01-18 13:17:50 +03:00
adrew
a0bda8683a
Rename method
2022-01-18 13:13:17 +03:00
adrew
6f9b6f8538
Fix psalm issues
2022-01-18 12:53:39 +03:00
adrew
cce1f9a407
Some refactoring and doc for high order function argument handling
2022-01-18 12:44:36 +03:00
adrew
00ce1107d3
Infer partially applied closure arg by previous function arg
2022-01-18 03:02:21 +03:00
Fabien Villepinte
c9eafa15ad
Improve signature of DOMDocument::loadXML()
2022-01-17 22:52:58 +00:00
Vincent
09fc43a4d8
Add support of docblock method using parent keyword ( fix #7411 )
2022-01-17 19:26:42 +01:00
Ricardo Boss
26dd4c5b8f
Try to provide literal int types when possible ( fixes #6966 ) ( #7071 )
...
* Fixed vimeo/psalm#6966
* Only accept >= 0 values for mode argument in round()
* Made round() only return float or literal float values and remove unneeded test
* Registered RoundReturnTypeProvider
* Updated cast analyzer to handle single string literal int values as literal ints
* Fixed psalm errors
* Fix invalid property accesses
* Addressed comments
* Added Tests
* Marked RoundReturnTypeProvider as internal
* Fixed CS
2022-01-16 21:33:04 +01:00
andrew
10012c9e09
Fix self parsing for psalm-if-this-is and psalm-self-out
2022-01-16 16:11:40 +03:00
orklah
de824d6724
Merge pull request #7403 from orklah/readonly_phpdoc_promoted
...
support @readonly for promoted properties
2022-01-16 09:38:37 +01:00
orklah
e26e022428
support @readonly for promoted properties
2022-01-16 09:31:58 +01:00
orklah
3c726e76df
Merge pull request #7401 from orklah/getObjectVarsNoValue
...
Psalm can't be sure get_object_vars will return an empty array unless object is known AND final
2022-01-15 23:27:33 +01:00
orklah
bf9845a4aa
Psalm can't be sure get_object_vars will return an empty array unless object is known AND final
2022-01-15 21:36:46 +01:00
orklah
dc1132a915
Better Handling of TPositiveInt combined with TIntRange
2022-01-15 21:29:24 +01:00
orklah
5b82082bbd
Merge remote-tracking branch 'upstream/4.x' into upstream-master2
2022-01-15 20:21:00 +01:00
orklah
4e27889736
Merge pull request #7384 from tm1000/bugfix/catch-additional-InvalidArgumentException
...
Catch additional InvalidArgumentException
2022-01-15 11:32:15 +01:00
orklah
9a9243e5fe
Merge pull request #7385 from b2pweb/handle-template-on-pseudo-method
...
Add support of template for docblock methods
2022-01-15 11:26:03 +01:00
orklah
75947c97c6
Merge pull request #7391 from b2pweb/docblock-method-inheritance
...
Handle inherited docblock method
2022-01-15 11:24:06 +01:00
orklah
b3e7f12933
Prevent NoValue when there is no phpdoc
2022-01-14 21:39:23 +01:00
orklah
d2faa5b94f
fix errors after merge
2022-01-14 21:13:34 +01:00
orklah
b633619a2c
Merge remote-tracking branch 'upstream/4.x' into upstream-master
2022-01-14 21:01:25 +01:00
orklah
4a85fed181
use Reconciler::RECONCILIATION_*
2022-01-14 19:39:18 +01:00
orklah
93fe3e81d4
Merge pull request #7304 from orklah/classconst5
...
Refactor Reconciler::handleLiteralEquality
2022-01-14 19:16:23 +01:00
Vincent
a52362465b
Handle inherited docblock method ( fix #7198 )
2022-01-14 10:30:09 +01:00
Vincent Langlet
9f84da4d6f
Try another strategy
2022-01-13 23:57:02 +01:00
Vincent Langlet
cbfa6a10da
Fix
2022-01-13 22:43:57 +01:00
Vincent Langlet
f2138ace7b
Avoid calling autoloader
2022-01-13 22:12:39 +01:00
Vincent Langlet
b1285bd058
Fix cs
2022-01-13 21:53:34 +01:00
Vincent Langlet
31c5845a30
Register provider
2022-01-13 21:46:01 +01:00
Vincent Langlet
1d6ae16504
Add Exception code return type provider
2022-01-13 21:44:06 +01:00
Matthew Brown
99b7b46e42
Simplify some array access
2022-01-13 10:07:17 -05:00
Vincent
fe7665aaaf
Add support of template for docblock methods ( fix #7320 )
2022-01-13 11:04:37 +01:00
Andrew Nagy
6910461b76
Catch additional InvalidArgumentException
2022-01-12 21:04:35 +00:00
Matthew Brown
9f9573ade5
Remove an unnecessary null arg
2022-01-11 17:10:08 -05:00
Andrew Nagy
0eb00e8ae2
Fix closure to have storage bug in codeAction
2022-01-10 23:36:21 +00:00
orklah
af37af7d8c
Merge pull request #7242 from zoonru/seal_all_properties
...
PHP 8.2: seal all properties configuration
2022-01-10 21:36:31 +01:00
Patrick Remy
a555543c0c
fix: pass static class name to ReturnTypeAnalyzer
2022-01-10 21:23:52 +01:00
b9e3979c3f
Cs-fix
2022-01-10 10:22:51 +01:00
a35ccfb0cb
Revert misguided changes
2022-01-10 10:19:12 +01:00
b530f23acc
PHP 8.2: seal all properties by default, add configuration key for lower versions
2022-01-10 10:11:28 +01:00
Matthew Brown
72fd3de886
Simplify return type for TypeExpander::expandAtomic
2022-01-09 16:19:04 -05:00
Matthew Brown
7dc1c454fb
Don’t perform containedness check twice
2022-01-09 15:35:47 -05:00
Matthew Brown
a435bc57b9
Rename was_static property to is_static to be more accurate
2022-01-09 14:45:07 -05:00
orklah
549c02d661
Merge pull request #7356 from orklah/keep-class-strings-through-array_merge
...
keep class-strings through array_merge
2022-01-09 16:16:55 +01:00
orklah
413da78568
Merge pull request #7326 from orklah/short_closures_returning_never
...
allow short closure to return never
2022-01-09 16:01:26 +01:00
orklah
65efab3a8d
keep class-strings through array_merge
2022-01-09 15:48:58 +01:00
orklah
c94e25fa7f
refactor the TooFewArguments check to start checking with named arguments
2022-01-09 00:37:16 +01:00
orklah
ce2c6cf438
set the is_list flag for the array inferred for hrtime
2022-01-08 22:48:05 +01:00
orklah
a9bc132842
Merge pull request #7349 from orklah/hrtime2
...
Seal the array inferred for hrtime
2022-01-08 22:40:20 +01:00
Bruce Weirdan
1a1b5a9e6a
Merge branch '4.x' into upstream-master
2022-01-08 23:38:29 +02:00
Bruce Weirdan
3502f0460a
Merge branch '4.18.x' into 4.x
2022-01-08 23:32:50 +02:00
orklah
afc3a76bc0
Seal the array inferred for hrtime
2022-01-08 22:22:21 +01:00
Bruce Weirdan
a4878ac2b5
Revert "Merge pull request #7239 from DeyV/master"
...
This reverts commit 33628cad51
, reversing
changes made to 216cf6c534
.
2022-01-08 22:26:24 +02:00
Matthew Brown
4abbd9cb1b
Simplify object comparison
2022-01-07 18:50:13 -05:00
orklah
abd499c9c9
Merge pull request #7337 from orklah/broken-phar
...
replace class name by full FQN for scoper
2022-01-07 21:58:14 +01:00
orklah
90ada3774c
replace class name by full FQN for scoper
2022-01-07 21:51:11 +01:00
orklah
9d225086e9
replace empty checks on Union with dedicated method
2022-01-07 21:27:45 +01:00
orklah
0d9480ad00
Merge pull request #7335 from orklah/errors_on_int_reconciliation
...
Errors on superior/inferior reconciliation
2022-01-07 20:19:35 +01:00
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
c0864b2652
emit errors on failure to reconcile ints
2022-01-07 18:32:24 +01:00
Bruce Weirdan
762ef8dab4
Merge branch '4.x' into upstream-master
2022-01-07 08:44:32 +02: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
fe036d4db0
Prevent crashes on array_map(...)
...
Fixes vimeo/psalm#7305
2022-01-06 10:38:58 +02:00
Bruce Weirdan
3fb3db3516
Merge branch '4.x' into upstream-master
2022-01-06 10:05:53 +02:00
orklah
f3bc55e409
Merge pull request #7312 from orklah/empty-array
...
Support PHPStan notation for empty-arrays
2022-01-06 08:45:40 +01:00
Bruce Weirdan
b6559dcefb
Merge pull request #7315 from weirdan/rector-ClosureToArrowFunctionRector
2022-01-06 02:04:10 +02:00
orklah
bf4bf92cb2
Merge pull request #7313 from orklah/empty-arrays
...
replace `array<never, never>` as a way to detect empty arrays by a dedicated method
2022-01-05 23:58:45 +01:00
Bruce Weirdan
8726065d21
Applied ClosureToArrowFunctionRector
2022-01-06 00:48:04 +02:00
orklah
7f40489202
fix inverted condition
2022-01-05 23:41:56 +01:00
orklah
ee99deaa50
fix a case not always on TArray
2022-01-05 23:28:08 +01:00
orklah
3c468b3eeb
replace array<never, never>
as a way to detect empty arrays by a dedicated method
2022-01-05 23:14:54 +01:00
orklah
9d3a51db6a
remove obsolete test and fix a missing exception
2022-01-05 23:08:34 +01:00
orklah
030195a395
parse array{} into an empty array
2022-01-05 23:08:33 +01:00
orklah
e7bc6f273a
don't crash when pushing a template to in_array
2022-01-05 22:33:20 +01:00
Bruce Weirdan
83f1d52528
Applied ListToArrayDestructRector
2022-01-05 23:29:18 +02:00
orklah
27c4b07d5b
fix wrong not literal loose check
2022-01-05 22:11:22 +01:00
orklah
c22670d851
use the correct type for float function
2022-01-05 20:05:56 +01:00
orklah
57e054931e
remove unused param
2022-01-05 20:01:34 +01:00
orklah
fac7317af3
refactor float as well
2022-01-05 20:00:56 +01:00
orklah
26542afdf4
accept more loose literal equalities and loop over non-literal types on a separate loop
2022-01-05 19:45:22 +01:00
orklah
7dccfa4ff9
CS
2022-01-05 18:44:58 +01:00
Bruce Weirdan
94395f18a4
Applied JsonThrowOnErrorRector
2022-01-05 19:32:43 +02:00
orklah
e0fb87596d
typo
2022-01-05 18:21:38 +01:00
orklah
c1575d29fd
consistency with string handling
2022-01-05 18:06:08 +01:00
orklah
8099126958
make sure to keep the origin of the type (from_docblock)
2022-01-05 17:52:04 +01:00
orklah
16bb62b499
Fixup!!! don't allow checks on literals
2022-01-05 12:41:08 +01:00
orklah
411399b600
Fixup!!! don't allow checks on literals
2022-01-05 12:22:44 +01:00
orklah
83a02d9a61
Fixup!!! don't allow checks on literals
2022-01-05 12:21:50 +01:00
orklah
5c0fc46734
Fixup!!! be more flexible on loose_equality for strings
2022-01-05 12:10:32 +01:00
Bruce Weirdan
dd09450092
Applied NullCoalescingOperatorRector
2022-01-05 13:09:37 +02:00
Bruce Weirdan
758e0afd96
Merge branch 'master' into rector-literal-number-separator
2022-01-05 12:32:52 +02:00
orklah
3fc8139205
Fixup!!! only allow general TInt to pass
2022-01-05 11:17:39 +01:00
orklah
950710a47a
Fixup!!! make sure to add atomics with the correct offset key
2022-01-05 09:58:56 +01:00
orklah
36349a1370
refactor literal string equality check
2022-01-05 09:52:47 +01:00
orklah
2ada8ee8b0
refactor literal int equality check
2022-01-05 09:52:47 +01:00
orklah
a8c2fcde76
resolve ClassConst before checking equalities and fix things
2022-01-05 09:52:47 +01:00
Matthew Brown
f5d6d2380f
Remove now-unnecessary code
...
Originally added in 8bc17e47be
2022-01-05 01:54:00 +00:00
Matthew Brown
7595a3c579
Make treatment of interfaces and classes more symmetrical
2022-01-05 01:10:57 +00:00
Matthew Brown
31dd30f3d1
Reduce by-ref args
2022-01-05 00:50:09 +00:00
Matthew Brown
26de4faa51
Unify names with intersection creation
2022-01-05 00:38:40 +00:00
Matthew Brown
0a78b320da
Remove commas for now
2022-01-04 23:15:16 +00:00
Matthew Brown
9e64375e25
Break up two intersection methods
...
At some later date it may be worth seeing whether these can be consolidated into a single intersection method
2022-01-04 23:09:02 +00:00
Bruce Weirdan
5758d31161
Apply literal number separator rector
...
I opted for customary 3-digit groups, except version id, where 2-digit
groups are used to match the version id encoding.
2022-01-05 01:00:05 +02:00
Bruce Weirdan
0c13d8e719
Indent heredoc
...
PHP 7.3 allows indenting of heredoc / nowdoc strings.
2022-01-04 19:57:41 +02:00
Bruce Weirdan
f5dc2ee964
Merge branch '4.x' into upstream-master
2022-01-04 19:42:08 +02:00
Matthew Brown
63f3460df7
Make clear that class string check for trait $this key only applies to certain assertions
2022-01-04 17:08:34 +00:00
Matthew Brown
4e81d0c5ab
Remove an untested chunk of issue-triggering code that has only ever caused anguish
2022-01-04 16:36:33 +00:00
Matthew Brown
0fffb55a83
Simplify some logic around negations to prevent unecessary looping
2022-01-04 16:08:06 +00:00
Matthew Brown
2c6d4f8687
Fix erroneous intersection
...
Found during a line-for-line port. We’re using this value in two different places, and it only makes sense to use it in one
2022-01-04 16:04:36 +00:00
Fabien Villepinte
c42f3d51bd
Fix typo
2022-01-04 16:27:06 +01:00
Fabien Villepinte
2f3af4a5bc
Remove unused import
2022-01-04 16:13:48 +01:00
Fabien Villepinte
1fa6b612b1
Fix parse_url() return type
2022-01-04 16:09:18 +01:00
Bruce Weirdan
02b91cc54e
Replaced deprecated webmozart/path-util
2022-01-04 15:15:34 +02:00
Bruce Weirdan
30013cb81a
Drop orphaned token
...
Refs vimeo/psalm#7285
2022-01-04 10:13:44 +02:00
Bruce Weirdan
ff9b214f65
Merge branch '4.x' into upstream-master
2022-01-04 10:07:18 +02:00
orklah
6f9cbc698b
resolve type alias and class const on UnionTypeComparator
2022-01-04 00:14:08 +01:00