Matt Brown
|
388e804ed8
|
Allow opt-in to strict return type checking
|
2020-11-05 18:20:04 -05:00 |
|
Matt Brown
|
67554dd017
|
Fix #4453 - sanitise @extends types before attempting to parse
|
2020-10-30 15:08:23 -04:00 |
|
Matt Brown
|
fce5c26600
|
Remove subpar test
|
2020-10-28 13:55:51 -04:00 |
|
Matt Brown
|
d27d86a84c
|
Fix #4422 - be aware of nested template params
|
2020-10-27 10:01:17 -04:00 |
|
Matt Brown
|
f3cc7a7f2f
|
Break apart ReflectorVisitor
|
2020-10-23 19:53:04 -04:00 |
|
Matt Brown
|
2902a8cc60
|
Fix #4326 - Prevent later remapping of properties
|
2020-10-14 21:35:57 -04:00 |
|
Matt Brown
|
4539a2f27e
|
Fix #4326 - prevent more mapping than necessary
|
2020-10-14 21:22:51 -04:00 |
|
Pol Dellaiera
|
31c924c314
|
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>
|
2020-10-13 11:35:49 -04:00 |
|
Matt Brown
|
fcfa746ba8
|
Fix #4310 - prevent literal class check on union
|
2020-10-12 14:45:11 -04:00 |
|
Matt Brown
|
14efde286f
|
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
|
2020-09-30 12:28:13 -04:00 |
|
orklah
|
37a2f8a33d
|
unused use statements (#4228)
|
2020-09-22 01:10:46 -04:00 |
|
Brown
|
8f8dbfbd72
|
Fix #4122 - detect yield in function arguments
|
2020-09-13 17:13:26 -04:00 |
|
orklah
|
ead107fa9e
|
More return types (#4173)
* add native return types
* redundant phpdoc
|
2020-09-12 11:24:05 -04:00 |
|
Brown
|
00ad09816f
|
Fix tests
|
2020-09-10 19:05:47 -04:00 |
|
Brown
|
92239add4d
|
Add some backwards-incompatible changes for 4.x
|
2020-08-30 11:44:14 -04:00 |
|
Brown
|
9878613594
|
Refine iterable key after is_array check
Ref #4038
|
2020-08-26 11:00:38 -04:00 |
|
Brown
|
57ac0a3310
|
Refine test for windows compat
|
2020-08-25 17:37:37 -04:00 |
|
Brown
|
59e7f69d7b
|
Fix get_class-inferred templating
|
2020-08-25 17:25:05 -04:00 |
|
Brown
|
6ab3e732fb
|
Fix #4038 - don’t remove null types unnecessarily in mixed union
|
2020-08-25 15:50:33 -04:00 |
|
Brown
|
6e1218065d
|
Preserve intersections when expanding templated types
Fixes #4043
|
2020-08-25 14:12:57 -04:00 |
|
Bruce Weirdan
|
4dcb7183f5
|
Fix windows tests (#4040)
* Fix windows tests by not mangling the expectations
* Use platform-dependent directory separator in expected messages
* fix CS
|
2020-08-22 10:00:36 -04: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 |
|
Matthew Brown
|
427f470806
|
Fix #3586 - ensure templated trait params more accurate
|
2020-06-13 16:37:39 -04:00 |
|
Matthew Brown
|
74a34f066c
|
Don’t check classes if literal strings are allowed
Fixes #3538
|
2020-06-06 19:31:42 -04:00 |
|
Brown
|
fcf0a681d9
|
Fix #3531 - ignore mixed returns from template
|
2020-06-06 10:33:49 -04:00 |
|
Brown
|
be8fd3ea19
|
Fix #3481 - treat an iterable like a Traversable when comparing to object
|
2020-05-31 01:22:43 -04:00 |
|
Brown
|
4e21e54ee1
|
Fix #3491 - provide correct types for substitution
|
2020-05-30 19:11:41 -04:00 |
|
Brown
|
3da3d61270
|
Fix #3434 by removing extraneous call to simplifyType
|
2020-05-26 17:55:54 -04:00 |
|