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