1
0
mirror of https://github.com/danog/psalm.git synced 2024-11-30 04:39:00 +01:00
Commit Graph

386 Commits

Author SHA1 Message Date
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