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

53 Commits

Author SHA1 Message Date
Matthew Brown
d1c4c85f97 Support covariant return types & contravariant param types
Fixes #2102 and #2264
2019-11-27 00:19:36 -05:00
Brown
1f07ea7ee7 Tighten up Psalm’s inference 2019-11-25 15:20:31 -05:00
Matthew Brown
8f421dc0bb Refactor template calculation out from Psalm\Type\Union 2019-11-03 21:27:40 -05:00
Brown
5e47cda6e5 Fix #2170 - allow @method annotations to override inherited immutable ones 2019-09-25 17:39:32 -04:00
Matthew Brown
add051c2be Enforce immutability constraints only on interface methods 2019-09-22 09:26:26 -04:00
Matthew Brown
914ef5a5dd Fix #2091 - $this properties should be replaced in trait types 2019-09-01 15:45:28 -04:00
Matthew Brown
c5f62d261d Remove redundant @psalm-suppress in Psalm’s codebsae 2019-08-18 16:10:12 -04:00
Matthew Brown
1ae9ea5fed Use object instead of by-ref params 2019-07-10 01:35:57 -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
Matthew Brown
c0b86bd40d Use uppercase template_type_extends keys 2019-06-24 23:43:04 -04:00
Matthew Brown
7fc11af49e Fix docblocks with @andrew-demb’s suggestions 2019-06-16 09:12:32 -04:00
Matthew Brown
2fa0f27872 Prevent LessSpecificImplementedReturnType with extended template 2019-06-07 18:42:26 -04:00
Matthew Brown
0bcf61dee7 Remove more commas 2019-05-25 12:18:12 -04:00
Matthew Brown
857314e095 Remove trailing comma 2019-05-25 12:11:46 -04:00
Matthew Brown
790bc53bfd Fix #1681 - interpret parent annotation properly 2019-05-25 11:51:09 -04:00
Barney Laurance
6fbe2b0837 Extract function NamespaceAnalyzer::nameSpaceRootsMatch 2019-05-14 18:54:16 -04:00
Barney Laurance
14843ed58a psalm-internal - extract function NamespaceAnalyzer::isWithin
Also adjust behaviour so things can be internal to classes, not just to
namespace, and namespace comparision is case insensitive
2019-05-14 18:54:16 -04:00
Barney Laurance
cd673538f1 psalm-internal - refactor - use snake_case not camelCase 2019-05-14 18:54:16 -04:00
Barney Laurance
c35d21580f psalm-return - remove unusued variable 2019-05-14 18:54:16 -04:00
Barney Laurance
b29e041d3c psalm-internal - prevent call to method marked psalm-internal from other namespace 2019-05-14 18:54:16 -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
751253ddf0 Fix #1603 - prevent invalid covariant template classes from being passed 2019-05-06 16:38:08 -04:00
Brown
ff14f671b1 Add hopefully-more-portable method for evaluating method/property usage 2019-04-16 16:07:48 -04:00
Brown
af4d10cb63 Fix #1499 - use TraitMethodSignatureMismatch when dealing with trait methods 2019-03-29 14:09:06 -04:00
Brown
691d71cdb4 Fix #1504 and ignore SoapClient errors 2019-03-25 11:49:05 -04:00
Brown
b9ba24929d Refactor storage of template names to prevent clashes 2019-03-22 15:59:10 -04:00
Matthew Brown
136429dfd4 Fix location of @method docblocks for issues 2019-03-18 21:05:37 -04:00
Matthew Brown
f66af3e267 Fix #1475 - allow self params in traits 2019-03-17 11:31:04 -04:00
Matthew Brown
a0659a02f1 Fix #1418 - support templated union types 2019-03-16 11:15:25 -04:00
Matthew Brown
9e8c3b8c6e Only check interfaces for static matchup 2019-03-03 18:13:15 -05:00
Matthew Brown
5b38082454 Complain about non-static comparison
Fixes #1383
2019-03-03 17:41:15 -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
081ba4b204 Fix #1072 - add support for @use SomeTrait<T> 2019-01-27 23:12:40 -05:00
Brown
0d52dc4e00 Fix #1232 - allow checking of extended templated function returns 2019-01-24 15:03:13 -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
1c5f6963a6 Skip callable tests for PHP 7 2019-01-21 18:01:15 -05:00
Matthew Brown
1b0c426c52 Improve error message when type cannot be inferred, fixes #1110 2019-01-21 17:29:12 -05:00
Brown
d068f1535d Fix issue with implemented class interface in subclass 2019-01-16 15:08:11 -05:00
Brown
ee366015f7 Fix #1205 - allow traits to override inheritance checks 2019-01-16 10:59:06 -05:00
Matthew Brown
94aa51ba6d abstract trait method return type override should not be MethodSignatureMistmatch 2019-01-13 13:27:07 -05:00
Brown
eb7fc96ac1 Make param type checks use template_extends too 2019-01-11 11:18:51 -05:00
Brown
9947bc56f6 Fix Psalm errors and improve error output 2019-01-10 19:18:02 -05:00
Brown
0d28d5d82b Add check for @template-extends return types 2019-01-10 19:01:30 -05:00
Brown
4d959626d5 Fix #1175 - support trait method visibility changes 2019-01-07 11:53:22 -05:00
Matthew Brown
9f16ab9cb5 Fix issue where documented self param confuses 2019-01-05 08:45:12 -05:00
Matthew Brown
ca6149ed17 Improve treatment of templated params within function analysis 2018-12-17 23:29:27 -05:00
Matthew Brown
4b9ea5472d Fix #1117 - enforce argument counts on interface __constructors 2018-12-12 22:35:27 -05:00
Matthew Brown
29aff6e088 Add more specific return type better messages 2018-12-08 14:26:16 -05:00
Matthew Brown
fd0ab47b80 Fix #1118 - detect possible issues with unions of mixed 2018-12-08 13:18:55 -05:00