Matt Brown
d81d57a30e
Fix #5029 - remember staticness of types when combining
2021-01-29 11:47:32 +01:00
Matt Brown
dfb82b8487
Fix #4955 - catch invalid passing class constant where templated class string expected
2021-01-29 11:47:29 +01:00
Matt Brown
99da1daae5
Fix #4958 - honour template as inheritance when comparing template types
2021-01-29 11:47:29 +01:00
Matt Brown
387abc1cb6
Fix #4943
...
Prevent input types becoming part of the inferred generic params when a match is found
2021-01-29 11:47:29 +01:00
Matt Brown
4c5c32bc93
Fix #4945 - use assertion string for scalar templated assertions
2021-01-29 11:47:28 +01:00
orklah
31be6212b7
add stubs for standard iterators ( #4725 )
...
* add stubs for standard iterators
* Apply suggestions from code review cc @weirdan
Co-authored-by: Bruce Weirdan <weirdan@gmail.com>
* complete stub + delete code made redundant by stubs + fix some syntax in stubs
* fix parse error
Co-authored-by: Bruce Weirdan <weirdan@gmail.com>
2021-01-29 11:47:28 +01:00
orklah
d8fea8aabb
implement DTO for plugins ( #4881 )
...
* implement DTO for plugins
* introduce EventHandler + reintroduce legacy API for plugins
2021-01-29 11:47:27 +01:00
Matthew Brown
7142c53f18
Fix test
2021-01-29 11:47:24 +01:00
Matthew Brown
ba823602ea
Fix #4901 - simplify mapping of template types within class
2021-01-29 11:47:23 +01:00
Matt Brown
1f295e4597
Fix psl inheritance stuff cc @azjezz
2021-01-29 11:47:20 +01:00
Matt Brown
c33ea06ffa
Improve accuracy of optional example
2021-01-29 11:47:19 +01:00
Matt Brown
d64c49be92
Be smarter when choosing inherited param types
...
Ref #4803
2021-01-29 11:47:19 +01:00
Matt Brown
3e2d998cfe
Fix #4817 - allow optional inference
2021-01-29 11:47:19 +01:00
Matt Brown
35ed9d4d8d
Fix #4812 - reconcile array assertion on template as type correctly
2021-01-29 11:47:18 +01:00
Matt Brown
2ff3f867c5
Fix #4803 - always derive method params the same way
2021-01-29 11:47:18 +01:00
2e3s
df8d2e2296
Overwrite memoized return type after sum-type candidate is calculated ( #4805 )
...
* Overwrite memoized return type after sum-type candidate is calculated
* Fix mismatched types
* Fix code style
2021-01-29 11:47:18 +01:00
Matt Brown
7825a71351
Fix #4797 - sanitise assertion output of template result
2021-01-29 11:47:18 +01:00
Matt Brown
8bfb0412e7
Fix #4782 - don’t replace closure types with upper bounds when replacing class param types
2021-01-29 11:47:16 +01:00
Matt Brown
73fc7d9491
Fix #4767 - rescan directly-affected class-interface relationships
2021-01-29 11:47:14 +01:00
Matt Brown
9789b53617
Fix #4731 - expand out class-bound generic types when evaluating instance method
2021-01-29 11:47:06 +01:00
Matt Brown
8c33bedfca
Fix #4733 - don’t replace template types when they’re defined on the same class
2021-01-29 11:47:06 +01:00
Matt Brown
fb474c2e07
Expand out constants in param types earlier
2021-01-29 11:47:06 +01:00
Matt Brown
ad5ec9501d
Ensure class template types are mapped to static methods where necessary
...
Ref #4733
2021-01-29 11:47:06 +01:00
Matt Brown
e9ec1b28a2
Simplify storage and retrieval of extended template params
2021-01-29 11:47:05 +01:00
Matt Brown
9fdc56ff75
Fix template type selection
2021-01-29 11:47:04 +01:00
Matt Brown
ecbb5c77b2
Fix test failures
2021-01-29 11:46:26 +01:00
Matt Brown
5219932408
Fix #4545 - allow intersections in more places
2021-01-29 11:46:10 +01:00
Matt Brown
63bf00513b
Split out trait template tests
2021-01-29 11:46:09 +01:00
Matt Brown
e8c755c7c0
Fix #4537 - use more rigorous inerhitance for return and param types
2021-01-29 11:46:09 +01:00
Matt Brown
bd20313a14
Use better way to determine which signture to use
...
Fixes #4524
2021-01-29 11:46:09 +01:00
Matt Brown
fb5ee1e46d
Bind lower bounds to upper bounds as well when no upper bound can be inferred
...
Ref #4485
2021-01-29 11:46:08 +01:00
Matt Brown
e624f972dd
Fix #4524 - do better template param inheritance
2021-01-29 11:46:08 +01:00
Matt Brown
1389dc6adf
Allow opt-in to strict return type checking
2021-01-29 11:46:03 +01:00
Matt Brown
0ea0604cf3
Fix #4453 - sanitise @extends types before attempting to parse
2021-01-29 11:44:36 +01:00
Matt Brown
ab90097baf
Remove subpar test
2021-01-29 11:44:35 +01:00
Matt Brown
7f975045f4
Fix #4422 - be aware of nested template params
2021-01-29 11:44:33 +01:00
Matt Brown
e90b595b92
Break apart ReflectorVisitor
2021-01-29 11:44:29 +01:00
Matt Brown
05f2d01cb6
Fix #4326 - Prevent later remapping of properties
2021-01-29 11:39:55 +01:00
Matt Brown
1915f34959
Fix #4326 - prevent more mapping than necessary
2021-01-29 11:39:55 +01:00
Pol Dellaiera
2b437ad672
Add more standard iterators ( #4320 )
...
* Add CachingIterator, LimitIterator, InfiniteIterator, CallbackFilterIterator, NoRewindIterator.
Signed-off-by: Pol Dellaiera <pol.dellaiera@protonmail.com>
* Add related Iterator tests.
Signed-off-by: Pol Dellaiera <pol.dellaiera@protonmail.com>
2021-01-29 11:39:54 +01:00
Matt Brown
bb42c12d7b
Fix #4310 - prevent literal class check on union
2021-01-29 11:39:53 +01:00
Matt Brown
63953d5676
4.x - refactor unused variable detection
...
This turns unused variable detection into an explicit control-flow problem, where before we had a more simplistic mark-and-sweep algorithm
2021-01-29 11:39:44 +01:00
orklah
e3e5a55907
unused use statements ( #4228 )
2021-01-29 11:39:42 +01:00
Brown
db55f608be
Fix #4122 - detect yield in function arguments
2021-01-29 11:39:36 +01:00
orklah
db45ff1ba4
More return types ( #4173 )
...
* add native return types
* redundant phpdoc
2021-01-29 11:38:57 +01:00
Brown
568cbfb1be
Fix tests
2021-01-29 11:38:56 +01:00
Brown
c96ba8d1f5
Add some backwards-incompatible changes for 4.x
2021-01-29 11:38:48 +01:00
Brown
11ee00442d
Refine iterable key after is_array check
...
Ref #4038
2021-01-29 11:38:46 +01:00
Brown
ab8d794709
Refine test for windows compat
2021-01-29 11:38:45 +01:00
Brown
4735ca39e2
Fix get_class-inferred templating
2021-01-29 11:38:45 +01:00