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 |
|
Brown
|
a0a9c9b7bc
|
Fix #4038 - don’t remove null types unnecessarily in mixed union
|
2021-01-29 11:38:45 +01:00 |
|
Brown
|
bd7f207e31
|
Preserve intersections when expanding templated types
Fixes #4043
|
2021-01-29 11:38:45 +01:00 |
|
Bruce Weirdan
|
1cc4715740
|
Fix windows tests (#4040)
* Fix windows tests by not mangling the expectations
* Use platform-dependent directory separator in expected messages
* fix CS
|
2021-01-29 11:38:04 +01:00 |
|
Matthew Brown
|
5c20a5295e
|
Improve solution to #3964
|
2020-08-16 13:03:30 -04:00 |
|
Matthew Brown
|
a356a43a51
|
Fix #3964 - prevent incorrect intersection of unions
|
2020-08-16 12:26:07 -04:00 |
|
m0003r
|
e81593f359
|
Localize types on magic properties (#3971)
* Fix #3949 - localize types on magic properties
* fix failing tests
* fix code style
Co-authored-by: m03r <m03r@m03r.net>
|
2020-08-10 12:45:21 -04:00 |
|
Matthew Brown
|
6085e42fc1
|
Detect mismatching param names effectively
|
2020-08-10 09:58:43 -04:00 |
|
Brown
|
afce2dc66f
|
Tighten up rules around instantiation a bit more
|
2020-08-06 10:18:55 -04:00 |
|
Brown
|
c0b0036109
|
Fix #3934 - prevent unsafe use of new static
|
2020-08-05 19:39:27 -04:00 |
|
Brown
|
1c8f9e94b1
|
Fix #3907 - allow template as types to be refined via instanceof
|
2020-07-29 17:46:45 -04:00 |
|
Brown
|
873970a4d1
|
Recursively transform template types before comparison
Fixes #3887
|
2020-07-24 14:47:24 -04:00 |
|
Brown
|
92fe9898a1
|
Fix #3879 - ensure interface templates are extended where nececssary
|
2020-07-24 11:29:36 -04:00 |
|
Brown
|
76bd5b6278
|
Refactor type comparison
|
2020-07-21 19:40:35 -04:00 |
|
Brown
|
ae89a71c84
|
Prevent false-positive comparing template to true
|
2020-07-21 12:59:50 -04:00 |
|
Brown
|
8349564cc4
|
Fix #3790 - removing false/null from template not redundant
|
2020-07-10 13:19:23 -04:00 |
|
Brown
|
ba44b952ba
|
Skip failing test
|
2020-07-10 13:08:50 -04:00 |
|
Brown
|
cd8420aa94
|
Skip optimisation for unpacked args
|
2020-07-10 13:04:37 -04:00 |
|
Brown
|
8ecee6df6d
|
Fix #3760 - prevent param remapping twice
|
2020-07-07 11:44:22 -04:00 |
|
Brown
|
ab6df0a5d1
|
Fix #3753 - resolve self-references in trait as statements earlier
|
2020-07-05 12:05:25 -04:00 |
|
Brown
|
5da29955ee
|
Use better replacement when analysing potentially-inherited templated type
|
2020-07-03 12:25:33 -04:00 |
|
Brown
|
6419788a49
|
Remove false from template param as necessary
Fixes #3737
|
2020-07-03 01:07:50 -04:00 |
|
Brown
|
ea82cdc6ea
|
Fix #3726 - infer generic template from class-string
|
2020-07-02 01:11:46 -04:00 |
|
Brown
|
fa0f43f0cf
|
Skip failing test
|
2020-07-02 00:22:14 -04:00 |
|
Brown
|
ae7c5b095b
|
Fix #3712 - allow taints to be suppressed with @psalm-suppress
|
2020-07-01 23:23:45 -04:00 |
|
Brown
|
137647a1a0
|
Fix #3603 - better typed value comparisons for loose equality
|
2020-06-18 09:31:38 -04:00 |
|
Brown
|
0a8b9b56ab
|
Fix #3600 - conditional return should be removed before comparison
|
2020-06-17 12:57:50 -04:00 |
|