Matt Brown
15f51a3a0c
Ensure PHP 8 continuation of 7.4 method signature features
2021-01-29 11:39:47 +01:00
orklah
db45ff1ba4
More return types ( #4173 )
...
* add native return types
* redundant phpdoc
2021-01-29 11:38:57 +01:00
Brown
b148221e18
Always detect return type mismatches from docblock parents
2021-01-29 11:38:56 +01:00
Brown
6def99d653
Add ConstructorSignatureMismatch issue distinct from MethodSignatureMismatch
2020-08-10 12:26:25 -04:00
Matthew Brown
6085e42fc1
Detect mismatching param names effectively
2020-08-10 09:58:43 -04:00
Brown
c0b0036109
Fix #3934 - prevent unsafe use of new static
2020-08-05 19:39:27 -04:00
Brown
cb94764d22
Prevent false-positive for Exception::__toString overriding
2020-07-02 14:09:56 -04:00
Grégoire Paris
e7b8983b7e
Make Throwable methods overridable ( #3203 )
...
Methods from \Exception cannot be overriden, but that does not mean
methods from \Throwable cannot be.
Closes #3202
2020-04-20 17:17:47 -04:00
Brown
4f07a8fc5d
Fix false positive in trait comparison in 7.4
...
Fixes #3042
2020-04-03 15:11:37 -04:00
Brown
467da32f84
Fix instanceof static and isa (static::class) handling
2020-03-24 18:58:15 -04:00
Brown
dbdf7473f4
Fix abstract trait method implementation errors when using self
2020-01-24 11:15:35 -05:00
Brown
0132b3789b
Fix #2665 - warn about abstract class interface inheritance issues
2020-01-21 11:46:51 -05:00
Matthew Brown
c50fa27025
Identify trait method access level violations as less serious
2020-01-17 00:28:08 -05:00
Matthew Brown
257ebfd205
Improve trait method mismatch failure rules
2020-01-16 22:36:30 -05:00
Matthew Brown
d1c4c85f97
Support covariant return types & contravariant param types
...
Fixes #2102 and #2264
2019-11-27 00:19:36 -05:00
Bruce Weirdan
79acbadfad
Added InvalidParent issue ( #2320 )
...
Refs vimeo/psalm#2304
2019-11-11 00:21:43 -05:00
lhchavez
216f991b0c
Normalize stringified type names ( #2239 )
...
This change makes stringified types more normalized. Concretely it sorts
all union types, reconciled types, and sorts the keys within object-like
types.
2019-10-17 01:14:33 -04:00
Brown
3de056cdc2
Remove test that’s a bit broken
2019-10-04 14:00:53 -04:00
Jay Klehr
27961045a0
allowing null as type for mysqli real_connect for host and passwd parameters ( #2210 )
2019-10-04 13:07:28 -04:00
Matthew Brown
da42be175f
Apply PHPCS fixes
...
Fixes #1880
2019-07-05 16:27:53 -04:00
LeSuisse
f29826b958
Fully qualify constants and function calls ( #1849 )
...
This should give a small performance boost.
Part of #1837 .
The change is enforced via phpcs and can be autofixed
with phpcbf.
2019-06-26 16:52:29 -04:00
Brown
b00d51b7db
Allow misplaced required params so Psalm still inspects the code
2019-06-07 09:25:12 -04:00
Matthew Brown
790bc53bfd
Fix #1681 - interpret parent annotation properly
2019-05-25 11:51:09 -04:00
Brown
0bd4dbcbc4
Bump to PHP 7.1
...
Fixes #1650
2019-05-16 18:36:36 -04:00
Brown
e7f4a52d2b
Use better metric for a properly mismatching type
2019-05-14 16:15:38 -04:00
Brown
30cbcb6c36
Add ImplementedParamTypeMismatch issue
...
Fixes #1633
2019-05-14 15:44:46 -04:00
Brown
24dbc34bbe
Use better solution for inherited more-specific return types
2019-05-09 10:41:30 -04:00
Brown
0e4c8ce482
Split apart TypeCoercion issues, allowing more granular issue filtering
2019-04-25 18:02:19 -04:00
Brown
1348d634ed
Improve handling of variadic parameters
2019-04-09 13:58:49 -04:00
Brown
af4d10cb63
Fix #1499 - use TraitMethodSignatureMismatch when dealing with trait methods
2019-03-29 14:09:06 -04:00
Matthew Brown
230680fd1c
Fix #1513 - use correct param types when examining abstract trait methods
2019-03-28 22:47:17 -04:00
Brown
691d71cdb4
Fix #1504 and ignore SoapClient errors
2019-03-25 11:49:05 -04:00
Matthew Brown
c772914910
Add some formatting
2019-03-23 14:27:54 -04:00
bugreportuser
c8fffe362a
Allow capitalized @inheritDoc
2019-03-09 20:26:17 -05:00
Matthew Brown
becef300b1
Add test for #1422
2019-03-02 15:29:43 -05:00
Matthew Brown
f9b1a63146
Fix #1421 - variadic params are extra
2019-03-02 15:26:18 -05:00
Bruce Weirdan
9bdc9f774f
More provider typing
2019-03-02 08:43:19 -05:00
Brown
601f303de2
Fix position of invalid param
2019-02-27 16:00:44 -05:00
SignpostMarv
4a56688800
adding DIRECTORY_SEPARATOR to tests that fail under windows
2019-02-06 14:29:10 -05:00
Brown
c195e8fd21
Add more nuanced analysis of array access fetch
2019-01-30 15:40:37 -05:00
Brown
0d52dc4e00
Fix #1232 - allow checking of extended templated function returns
2019-01-24 15:03:13 -05:00
Brown
006801f661
Fix #1233 - inherit docblock return types from interfaces and classes when signature exists
2019-01-24 11:55:59 -05:00
Brown
67a14cefde
Still complain about less specific types when signature type is present
...
Ref #1233
2019-01-24 10:58:59 -05:00
Matthew Brown
4f3d7fca0d
Fix issue where @inheritdoc could override local param types
2019-01-19 12:42:46 -05:00
Matthew Brown
9bd5f06c7d
Allow inheritdoc to propogate param types
2019-01-19 12:19:07 -05:00
Brown
d068f1535d
Fix issue with implemented class interface in subclass
2019-01-16 15:08:11 -05:00
Matthew Brown
94aa51ba6d
abstract trait method return type override should not be MethodSignatureMistmatch
2019-01-13 13:27:07 -05:00
Matthew Brown
9f16ab9cb5
Fix issue where documented self param confuses
2019-01-05 08:45:12 -05:00
Matthew Brown
4b9ea5472d
Fix #1117 - enforce argument counts on interface __constructors
2018-12-12 22:35:27 -05:00
Matthew Brown
4688b25fd9
Move internal classes to own namespace
2018-11-12 11:20:59 -05:00