1
0
mirror of https://github.com/danog/psalm.git synced 2024-12-15 02:47:02 +01:00
Commit Graph

76 Commits

Author SHA1 Message Date
Matthew Brown
9c45f33403 Don’t automatically inherit __construct from parent as overridden method id 2019-03-17 14:16:52 -04:00
Bruce Weirdan
51460e6078 Codebase::classExtends() now rejects unpopulated classes
This is done to prevent false negatives, when class storage hasn't been
populated yet.

Fixes vimeo/psalm#1387
2019-03-17 13:51:00 -04:00
Matthew Brown
a0659a02f1 Fix #1418 - support templated union types 2019-03-16 11:15:25 -04:00
Matthew Brown
b73dd8ebe4 Fix #1447 - always inherit docs from parents 2019-03-16 00:31:17 -04:00
Matthew Brown
312be71be1 Localise overridden templated param types 2019-03-14 10:11:45 -04:00
Brown
e5f7a5a4bc Coerce class string types together 2019-03-08 17:35:09 -05:00
Brown
b3a59d2638 Fix #1435 - prevent classes extending interfaces 2019-03-07 11:16:40 -05:00
Brown
cfa0829a38 Make scanner more accepting of reflection errors 2019-03-04 13:20:19 -05:00
Matthew Brown
f9b1a63146 Fix #1421 - variadic params are extra 2019-03-02 15:26:18 -05:00
Matthew Brown
4bbe13e28f Fix #1412 - use proper method name where appropriate 2019-03-01 13:33:23 -05:00
Matthew Brown
317f790bde
New plugin hooks (#1405)
* Add a bunch of new hooks

* Add more integrations

* Add some broken tests

* Add more things

* Fix remaining interfaces

* Suppress proper issue

* UndefinedMethod should not stop analysis

* Add handlers for two custom method return types
2019-03-01 08:57:10 -05:00
Matthew Brown
3ad1abece4 Add generation of json artifacts 2019-02-24 01:33:25 -05:00
Matthew Brown
cdae79b9fe Fix unnecessary params in Psalm codebase 2019-02-23 11:31:33 -05:00
Matthew Brown
1c8a573b5f Change TGenericParam to TTemplateParam 2019-02-21 21:40:06 -05:00
Brown
d2968081f8 Fix #1370 - allow phpstorm generic iterator 2019-02-20 11:13:40 -05:00
Bruce Weirdan
cb453a8da9 Allow suppressing UnusedClass on specific classes
This allows suppressing UnusedClass with either `referencedMethod` or
`@psalm-suppress`

Fixes vimeo/psalm#1353
2019-02-18 09:32:09 -05:00
Bruce Weirdan
8408effe57 Dropped unused uses 2019-02-17 13:17:45 -05:00
Matthew Brown
356a45a155 Improve ergonomics of PHPStorm meta parsing 2019-02-16 18:50:25 -05:00
Matthew Brown
0739d017ac Use information from .phpstorm.meta.php files in stubs 2019-02-16 11:16:52 -05:00
Matthew Brown
d76459e138 Move to a PHPStan-like return type provider class model 2019-02-15 18:00:40 -05:00
Matthew Brown
8fc0b43973 Fix typecercion issues 2019-02-10 21:13:06 -05:00
Brown
c68209b8f3 Fix #1300 - add functions mentioned in class file where class is used 2019-02-08 17:41:03 -05:00
Matthew Brown
6d0e78540a Only move issue once 2019-02-07 18:47:50 -05:00
Matthew Brown
fbe5801345 Prevent issues being forgotten when another error crops up 2019-02-07 14:06:37 -05:00
Matthew Brown
17541b415f Fix #1191 - allow Psalm to check against different versions of PHP 2019-02-07 12:25:57 -05:00
Brown
3f289731bb Add ability to check descendants in ignored exceptions 2019-01-31 18:40:40 -05:00
Brown
c195e8fd21 Add more nuanced analysis of array access fetch 2019-01-30 15:40:37 -05:00
Brown
3e4c63eb9a Fix template extension in grandchildren 2019-01-28 16:56:42 -05:00
Matthew Brown
081ba4b204 Fix #1072 - add support for @use SomeTrait<T> 2019-01-27 23:12:40 -05:00
Matthew Brown
2d32e4b92a Remove 7.0-incompatible type 2019-01-27 18:43:36 -05:00
Matthew Brown
d8783c277f Add support for getPsalmTypeFromReflectionType 2019-01-27 17:16:22 -05:00
Matthew Brown
22ee72808a Remove a bunch of hacks around generic offsets
Also fixes #1245
2019-01-26 16:58:49 -05:00
Brown
5352084188 Fix #1234 - apply @template-extends to inherited method signatures 2019-01-24 16:09:04 -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
184ee76176 Remove erroneous regular namespace check
Fixes #1235
2019-01-24 10:41:06 -05:00
Matthew Brown
8bc17e47be Fix #1227 - allow genric params in @psalm-assert 2019-01-22 23:42:54 -05:00
Matthew Brown
5cc3fe6b67 Fix #760 - coerce __invoke method to closure 2019-01-21 17:08:12 -05:00
Matthew Brown
590bea305d Fix #1218 - find issues with bad callables 2019-01-19 19:49:58 -05:00
Matthew Brown
9c5ef33997 Allow @property to override parent class property type
Fixes #1214
2019-01-19 14:26:27 -05:00
Matthew Brown
4f3d7fca0d Fix issue where @inheritdoc could override local param types 2019-01-19 12:42:46 -05:00
Matthew Brown
11dc78fd76 Don’t override local docblocks when inheritdoc is present 2019-01-19 12:30:14 -05:00
Matthew Brown
9bd5f06c7d Allow inheritdoc to propogate param types 2019-01-19 12:19:07 -05:00
Matthew Brown
94af3b6c51 Add automatic inheritance to properties
Fixes #1210
2019-01-19 10:09:26 -05:00
Brown
1ac51fcea6 Allow binding params of extended templates
Fixes #1207
2019-01-16 12:07:30 -05:00
Matthew Brown
9ef1ce1535 Make @template-extends more robust 2019-01-12 18:18:23 -05:00
Matthew Brown
cfcb65aaac Fix #1113 - treat class_alias as always global 2019-01-12 07:28:01 -05:00
Matthew Brown
ff958ef643 Fix inheritance of method params 2019-01-11 08:54:10 -05:00
Brown
0d28d5d82b Add check for @template-extends return types 2019-01-10 19:01:30 -05:00
Brown
ddc2637fc5 Add support for @template-extends Foo<SomeClass> 2019-01-10 17:58:32 -05:00