Matthew Brown
|
e6bd30cc0b
|
Allow closures to contain templated @var docblocks
Fixes #1865
|
2019-07-06 00:18:53 -04:00 |
|
Matthew Brown
|
cd33430616
|
Fix #1885 - allow comparison to templated class string
|
2019-07-05 22:57:38 -04:00 |
|
Matthew Brown
|
b4f03abca6
|
Fix #1886 - allow empty array to be coerced to a mixed one
|
2019-07-05 17:44:22 -04:00 |
|
Matthew Brown
|
da42be175f
|
Apply PHPCS fixes
Fixes #1880
|
2019-07-05 16:27:53 -04:00 |
|
Matthew Brown
|
20b7ff1f9d
|
Add unused test
|
2019-07-04 22:25:49 -04:00 |
|
Matthew Brown
|
9c95dfad44
|
Skip failing test
|
2019-07-04 16:44:06 -04:00 |
|
Matthew Brown
|
d0f6f85dba
|
Fix #1899 - detect dead code after array assignment
|
2019-07-04 16:38:31 -04:00 |
|
Brown
|
ba121a94e7
|
Allow union of class-strings in signature
Ref #1851
|
2019-06-27 11:44:35 -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
|
1864d9a2be
|
Allow templated @var on return docblocks
|
2019-06-26 16:26:14 -04:00 |
|
Brown
|
16bf5f11e1
|
Fix #1845 - prevent string return when expecting template
|
2019-06-25 15:06:02 -04:00 |
|
Brown
|
6cb52d2d0e
|
Move strings that reference T::class
|
2019-06-25 14:15:58 -04:00 |
|
Brown
|
e5016a4ffc
|
Break out function class-string tests in a separate file
|
2019-06-25 14:13:00 -04:00 |
|
Brown
|
91686bef4b
|
Improve robustness of template checks
|
2019-06-25 13:20:30 -04:00 |
|
Brown
|
4f9c040a15
|
Broke apart some large test files
|
2019-06-25 13:00:06 -04:00 |
|
Matthew Brown
|
5cb6fe14d7
|
Add support for doubly-extended non-template params
|
2019-06-24 23:57:19 -04:00 |
|
Matthew Brown
|
9d998bf3ac
|
Fix handling of inherited method call
|
2019-06-24 23:43:06 -04:00 |
|
Matthew Brown
|
c0b86bd40d
|
Use uppercase template_type_extends keys
|
2019-06-24 23:43:04 -04:00 |
|
Brown
|
23a3b0dbc0
|
Fix #1842 - prevent bad templated object returns
|
2019-06-24 19:07:29 -04:00 |
|
Brown
|
44d52c8649
|
Add a couple more tests for currently-working behaviour
|
2019-06-24 17:57:01 -04:00 |
|
Brown
|
fe5138f1a6
|
Move misplaced tests
|
2019-06-24 17:51:06 -04:00 |
|
Brown
|
69b05f5052
|
Improve handling of parent method calls
|
2019-06-24 17:45:10 -04:00 |
|
Brown
|
2a1ed6ca6a
|
Prevent incorrect template being passed to function
|
2019-06-24 10:54:03 -04:00 |
|
Brown
|
a5a9da6e50
|
Fix #1818 - handle intersection when expanding template
|
2019-06-20 10:09:03 -04:00 |
|
Brown
|
0246f600f4
|
Fix #1813 - convert object&Foo into Foo after template resolution
|
2019-06-19 12:00:19 -04:00 |
|
Matthew Brown
|
42bafc1e64
|
Fix #1775 - allow true|false to be accepted as bool
|
2019-06-13 08:55:36 -04:00 |
|
Brown
|
9c4599a0f0
|
Add better support for inheriting docblocks
|
2019-06-11 11:19:57 -04:00 |
|
Brown
|
7cf8c362f0
|
Fix #1766 - interpret interface parent extends properly
|
2019-06-11 10:49:39 -04:00 |
|
Matthew Brown
|
395057c6df
|
Fix #1738 - constrain template type when class-string<T> is a param
|
2019-06-08 11:08:08 -04:00 |
|
Matthew Brown
|
42cc201e9e
|
Fix #1698 - better understand inherited docblock return types
|
2019-06-08 09:44:22 -04:00 |
|
Matthew Brown
|
b0678bdc74
|
Improve treatment of key-of
Ref #1698
|
2019-06-07 21:27:50 -04:00 |
|
Matthew Brown
|
2fa0f27872
|
Prevent LessSpecificImplementedReturnType with extended template
|
2019-06-07 18:42:26 -04:00 |
|
Brown
|
2f29dcce93
|
Fix #1728 - remove extra data in template-extends annotation
|
2019-06-03 10:28:54 -04:00 |
|
Brown
|
b19d256b14
|
Add better error message for templated key-of param
|
2019-05-28 14:23:22 -04:00 |
|
Brown
|
a89892a41f
|
Prevent more broad template types being captured
|
2019-05-28 11:54:07 -04:00 |
|
Brown
|
cf02e9c22c
|
Fix access on matched T[K]
|
2019-05-27 18:36:34 -04:00 |
|
Matthew Brown
|
052599192a
|
Fix #1680 - narrow nullable templated matching
|
2019-05-25 12:44:47 -04:00 |
|
Matthew Brown
|
9fb96793cd
|
Fix #1676 - don’t modify original param types with templated by-reference
|
2019-05-24 18:17:48 -04:00 |
|
Matthew Brown
|
62dacaf97b
|
Also replace templated intersection types that aren’t direct templates
Ref #1675
|
2019-05-24 17:34:40 -04:00 |
|
Matthew Brown
|
7a48225184
|
Fix leaky template type
|
2019-05-24 13:35:14 -04:00 |
|
Matthew Brown
|
3e2b7163ca
|
Fix #1674 - treat intersections more equally regardless of order
|
2019-05-24 12:48:37 -04:00 |
|
Matthew Brown
|
9e3724bb0c
|
Prevent class-string<T> from assigning unknown type to mixed
Fixes #1672
|
2019-05-24 10:20:37 -04:00 |
|
Matthew Brown
|
c80f9d8ecd
|
Add class-based support for key-of
Ref #762
|
2019-05-24 02:12:58 -04:00 |
|
Matthew Brown
|
574545e149
|
Add initial support for key-of<T>
Ref #762
|
2019-05-23 23:53:48 -04:00 |
|
Brown
|
56daa390fc
|
Allow array access on @template T as array
Ref #1607
|
2019-05-23 18:06:22 -04:00 |
|
Brown
|
1c30270d89
|
Remove 7.4 syntax
|
2019-05-23 13:55:55 -04:00 |
|
Brown
|
888776cebd
|
Fix duplicate test
|
2019-05-23 13:10:23 -04:00 |
|
Brown
|
034ea725e8
|
Coerce generic types from empty
|
2019-05-21 12:12:13 -04:00 |
|
Matthew Brown
|
ec2ee04fe8
|
Allow coercion from empty to array param
|
2019-05-21 12:12:13 -04:00 |
|
Brown
|
4035823d51
|
Fix #1652 - allow totally-templated intersections
|
2019-05-17 15:40:52 -04:00 |
|