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

5902 Commits

Author SHA1 Message Date
Matthew Brown
f21150b8ad Fix #2384 - fix resolution of @param-out template types 2019-12-01 10:40:53 -05:00
Matthew Brown
ef829002bf Fix ref 2019-12-01 10:33:27 -05:00
Matthew Brown
e40aaafe61 Allow explicit @var mixed docblocks
Fixes #2397
2019-12-01 10:19:42 -05:00
Bruce Weirdan
f36766bf99 Improve CoreGenericClasses (#2402)
- general formatting
- Better definition for iterator class for `ArrayObject`
- Better definition for callable parameters to `ArrayObject`/`ArrayIterator` `uksort`/`uasort`
- Fixed signature for `ArrayIterator::current()`
- Fixed signature for `DOMNodeList::item()`
2019-12-01 09:53:48 -05:00
Matthew Brown
4e07779497 Allow callable-string to be used for callable 2019-12-01 01:15:14 -05:00
Matthew Brown
abdf37afb8 Add workarounds for class-string tests 2019-11-30 12:57:18 -05:00
Matthew Brown
088228f119 Fix template default type issue 2019-11-30 12:54:08 -05:00
Matthew Brown
b1e8c386fd Remove unused function 2019-11-30 12:39:17 -05:00
Matthew Brown
a8c2b7a525 Fix #2400 - string should subsume class-string 2019-11-30 12:32:31 -05:00
Matthew Brown
04879af105 Be less forgiving when extending builtin generic classes 2019-11-30 09:32:21 -05:00
Matthew Brown
952484c64d Add workaround for pcre.jit bug 2019-11-30 08:26:26 -05:00
Matthew Brown
0fa654e011 Suppress issue 2019-11-30 01:30:55 -05:00
Matthew Brown
d7c3ce2fa8 Fix test to be more accomodating 2019-11-30 01:28:02 -05:00
Matthew Brown
6ff06a4b32 Don’t bypass generator second arg when checking variance 2019-11-30 01:27:27 -05:00
Matthew Brown
8f8301b6de Align Generator covariance with PHPStan 2019-11-30 01:11:50 -05:00
Matthew Brown
d134482ee7 Fix style 2019-11-30 01:06:48 -05:00
Matthew Brown
1b9273c8c0 Make other Generator params covariant 2019-11-30 01:02:51 -05:00
Matthew Brown
baef67e0d8 Fix evaluation order of covariant template params before invariant ones 2019-11-30 01:02:23 -05:00
Matthew Brown
21f36c3dbd Add slashes 2019-11-30 00:49:06 -05:00
Matthew Brown
e777f5227d Don’t run classloader test in 7.1 2019-11-30 00:46:19 -05:00
Matthew Brown
c65540a323 Fix some templating issues in CoreGenericClasses 2019-11-30 00:27:07 -05:00
Bruce Weirdan
9027bc6190 Added SuicidalAutoloader test (#2399)
The idea behind this is that Psalm should not use project autoloader for
its own things. So if we have a project with autoloader and no code,
then any project autoloader hit means Psalm failed to load something
itself.

Right now it highlights several issues in CoreGenericClasses stub:
- usage of `callback` instead of `callable`
- `@property-read` not resolving template parameters
2019-11-30 00:09:07 -05:00
Jeroen De Dauw
4b597d4ef9 Fix typo: mosts costs -> most costs (#2394) 2019-11-30 00:07:17 -05:00
Matthew Brown
a179076de5 Break apart callabletest 2019-11-29 23:46:21 -05:00
Matthew Brown
ccd6718582 Fix templating of objects with properties 2019-11-29 22:57:45 -05:00
Matthew Brown
2383945fb9 Support __METHOD__ and __FUNCTION__ magic constants better 2019-11-29 22:47:20 -05:00
Matthew Brown
227ea2042a Fix foreach test 2019-11-29 11:29:22 -05:00
Matthew Brown
45bf8eee00 Add test that should always work 2019-11-29 11:25:29 -05:00
Matthew Brown
1e3ecb5fd0 Fix #2387 - ensure docblock return types are checked 2019-11-29 11:20:37 -05:00
Matthew Brown
6a98108deb Apply @ShiraNai7’s fix for null const values 2019-11-29 10:12:46 -05:00
Pavel Batečko
dc78e9c57b Update password function types for PHP 7.4 (#2396)
* Support NULL predefined constants

* Fix #2395 - update password_hash() and password_needs_rehash() types for PHP 7.4

* Change $fq_const_name check so it still uses isset
2019-11-29 09:30:01 -05:00
Matthew Brown
a4e18f9b5e Fix #2386 - make generator params invariant 2019-11-29 01:44:31 -05:00
Alfred Bez
e2d1eca2b4 fixed RarArchive signatures (#2385) 2019-11-29 01:22:36 -05:00
Bruce Weirdan
377e47c8bd Added WeakReference support (#2389) 2019-11-29 01:21:38 -05:00
Bruce Weirdan
33142e7637 Use unalised trait name when importing aliased trait (#2393)
Fixes vimeo/psalm#2392
Refs vimeo/psalm#2278
2019-11-29 01:21:00 -05:00
Matthew Brown
4052e6dfac Allow isset to check for property initialisation
Ref #2382
2019-11-28 09:12:17 -05:00
Valentin Udaltsov
4a742f9940 Added array_key_first and array_key_last stubs (#2381) 2019-11-27 10:59:12 -05:00
Matthew Brown
113bf921f6 Add support for arrow function inference 2019-11-27 10:12:59 -05:00
Matthew Brown
a154191922 Fix #2380 - prevent string docblock for callable param 2019-11-27 09:18:47 -05:00
Matthew Brown
4334ddcaa3 Fix style 2019-11-27 02:11:18 -05:00
Matthew Brown
3f2d57c7a3 Fix #2379 - support spread array RFC 2019-11-27 02:07:17 -05:00
Matthew Brown
f7ec5c5003 Make sure 7.4 with high deps works 2019-11-27 01:14:09 -05:00
Matthew Brown
1b850c4026 Skip descendants if required class in && expr cannot be found
Fixes #2375
2019-11-27 00:44:41 -05:00
Matthew Brown
c75f7dc4d5 Fix #2339 - add support for null coalescing operator 2019-11-27 00:34:23 -05:00
Matthew Brown
d1c4c85f97 Support covariant return types & contravariant param types
Fixes #2102 and #2264
2019-11-27 00:19:36 -05:00
Matthew Brown
2c08321603 Ignore union types for now 2019-11-27 00:00:46 -05:00
Matthew Brown
d1fbd1fa26 Add working arrow-functions implementation 2019-11-26 23:52:26 -05:00
Brown
90cb3f4472 Speed up accessing node data
Ref #1837
2019-11-26 17:48:47 -05:00
Brown
f97a8f0d5b Use more accurate way to determine list size 2019-11-26 16:34:19 -05:00
Pavel Batečko
4e594e0a65 Improve array function list handling (#2377)
* array_column() returns a list unless the 3rd arg is passed

* array_pad() return type provider

* array_chunk() return type provider

* array_map() preserve list types
2019-11-26 14:48:49 -05:00