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

69 Commits

Author SHA1 Message Date
Matthew Brown
e3df0ec5e2 Apply same rules that Hack uses for bottom types 2019-01-19 18:51:18 -05:00
Matthew Brown
1d2a0f8b39 Add more robust template constraint checks 2019-01-19 18:35:53 -05:00
Matthew Brown
ed68cb973d Fix #1109 - add bad usort protection 2019-01-19 18:11:49 -05:00
Matthew Brown
e28bf1a29b Fix null ref 2019-01-19 16:01:43 -05:00
Matthew Brown
bf13ff2e7d Detect bad interface types 2019-01-19 12:19:51 -05:00
Brown
1ac51fcea6 Allow binding params of extended templates
Fixes #1207
2019-01-16 12:07:30 -05:00
Matthew Brown
ee97c9dbaf Add support for T of Foo 2019-01-16 09:23:25 -05:00
Brown
496bd97714 Make sure we’re not flipping the wrong constraint 2019-01-14 16:07:57 -05:00
Brown
ee004a91ac Fix #1068 by restricting template types to passed called closure returns 2019-01-14 15:50:25 -05:00
Matthew Brown
3ca5ec9281 Fix templated class conversion allowing child class 2019-01-13 14:40:21 -05:00
Matthew Brown
2c55e7aabb Support template-typeof in class again 2019-01-13 14:29:04 -05:00
Matthew Brown
9ef1ce1535 Make @template-extends more robust 2019-01-12 18:18:23 -05:00
Brown
eb7fc96ac1 Make param type checks use template_extends too 2019-01-11 11:18:51 -05:00
Brown
4ec8d1a8dd Fix #1198 - add support for template param extends checks 2019-01-11 10:55:44 -05:00
Matthew Brown
d891c068b4 Fix #1197 - add support for method templating without override 2019-01-11 09:35:32 -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
ddc2637fc5 Add support for @template-extends Foo<SomeClass> 2019-01-10 17:58:32 -05:00
Brown
f108badd03 Fix #1067 - add support for @template-extends 2019-01-10 16:59:44 -05:00
Brown
b8d822cd26 Prohibit leaking of template params across class boundaries 2019-01-10 12:13:49 -05:00
Brown
1e20cbfa79 Prevent template params leaking when extended 2019-01-10 10:27:40 -05:00
Brown
2201380c52 Fix type transformation issues in templated class strings 2019-01-08 17:34:58 -05:00
Brown
43bbd739a2 Fix generic param fetches 2019-01-08 16:55:53 -05:00
Matthew Brown
b19dd25881 Fix #742 - infer template type from closure 2019-01-06 12:16:09 -05:00
Matthew Brown
6f1d56a80f Upcast iterables to traversables when used in a templated class string 2019-01-05 10:32:39 -05:00
Matthew Brown
9d8c2792e2 Add array-key type and improve general type handling
Fixes #1144
2019-01-05 00:15:53 -05:00
Matthew Brown
34cbe70e6f Fix templated @return T::class output 2019-01-02 06:46:10 -05:00
Matthew Brown
ca6149ed17 Improve treatment of templated params within function analysis 2018-12-17 23:29:27 -05:00
Brown
2b7cd6b303 Add more tests for T as Bar 2018-12-17 15:49:59 -05:00
Matthew Brown
8b5e8402a1 Add support for @param T:class $foo 2018-12-13 00:09:01 -05:00
Matthew Brown
c6f451a8b7 Fix #1119 - prevent interesections on generic params from breaking stuff 2018-12-08 15:17:43 -05:00
Matthew Brown
f0969cb3bb Fix getId calls on callable return types
Ref #1119
2018-12-08 14:10:06 -05:00
Matthew Brown
8d488345ce Fix #1036 - at least the part I care about 2018-11-21 18:38:09 -05:00
Matthew Brown
ef7298c62c Improve treatment of getIterator calls
Fixes #991
2018-11-21 17:56:04 -05:00
Matthew Brown
6ef79a0432 Improve handling of byref vars passed into functions
Fixes #1066
2018-11-21 12:38:51 -05:00
Brown
dc834fdb01 Default allowStringToStandInForClass to true and fix errors found 2018-11-12 12:03:55 -05:00
Matthew Brown
4688b25fd9 Move internal classes to own namespace 2018-11-12 11:20:59 -05:00
Matt Brown
dce8d14e1b Fix syntax errors in tests 2018-09-17 12:15:45 -04:00
Matthew Brown
fee705f90c Fix #489 - support @psalm-template 2018-07-13 19:09:35 -04:00
Matt Brown
740279352e Fix #830 - unpack template param args appropriately 2018-06-20 10:40:50 -04:00
Matt Brown
11240eb193 Fix #826 allow better template replacements 2018-06-19 13:19:41 -04:00
Matthew Brown
dc02ca8a7a Fix - #816 - check we’re not just replacing a key with itself 2018-06-13 08:38:07 -04:00
Matthew Brown
6d4d0cf825 Fix #794 - use template types to restrict input 2018-06-09 10:14:18 -04:00
Matthew Brown
81ae1ca222 Fix #747 - allow Generator to replace Traversable in templated params 2018-05-28 22:26:43 +01:00
Matt Brown
c6aa396dea Fix #741 - make sure closures are cloned properly 2018-05-18 17:47:40 -04:00
Matt Brown
e9411eec76 Fix #730 - improve handling of templated closure params 2018-05-11 16:17:21 -04:00
Matthew Brown
3380de16a2 Fix #709 - detect intersection template matches a bit better 2018-05-08 23:17:11 -04:00
Matt Brown
8d7c365e5f Fix #679 - improve template param type checks 2018-04-20 10:52:23 -04:00
Matt Brown
fac5554e13 Fix errors around static class constants in template vars 2018-03-06 13:59:59 -05:00
Matt Brown
aff689deea Add support for __CLASS__ in template types 2018-03-05 17:36:08 -05:00