Brown
28349c6423
Remove mixin_fqcln hack
2020-05-10 09:04:30 -04:00
Brown
640ffdb324
Fix #3323 - make short object-like arrays sealed tuples
2020-05-08 14:36:06 -04:00
Brown
2d5c2a9dd1
Fix #3324 - prevent crash asserting on possibly-undefined variable
2020-05-08 14:21:10 -04:00
Brown
a089d8bd58
Fix #3296 - propagate final flag to static calls in return types
2020-05-03 20:42:06 -04:00
Brown
d99fbc0d4d
Remove blank line
2020-05-03 00:26:50 -04:00
Brown
b8a1f5d5c9
Allow destructuring on arrayaccess implementers
2020-05-03 00:08:03 -04:00
Brown
bf5e178d16
Fix #3289 - treat property on non-generic type like actual value
2020-05-02 23:37:59 -04:00
Brown
618a54ff41
Fix #3240 - check arguments when class cannot be found
2020-05-02 22:13:59 -04:00
Brown
d3fba74f75
Fix false-positive
2020-05-02 21:56:28 -04:00
Brown
3e0c4cfb75
Fix #3210 - prevent possibly-null array access from destructure
2020-05-02 20:36:41 -04:00
Brown
29741cd76d
Remove earlier now-unnecessary fix
2020-05-02 19:24:48 -04:00
Matthew Brown
da5e8a4324
Increase type coverage for projects that use assert after mixed
2020-05-02 14:55:30 -04:00
Brown
07e5250292
Fix #3273 - add support for func_num_args() in conditional type
2020-05-01 16:02:53 -04:00
Brown
5e76467378
Fix #3279 - make sure self/parent references in mixin use existing class
2020-05-01 11:23:02 -04:00
Brown
8ab5a0f504
Probably safe to un-negate a class string assertion without autoloader
2020-04-30 12:48:21 -04:00
Brown
891c66650b
Prevent unintersectable template lower bounds
...
Ref #3264
2020-04-29 14:57:57 -04:00
Brown
a402d4598b
Define with single argument should not trigger a notice
...
Fixes #3254
2020-04-28 14:43:12 -04:00
Brown
95dbb93732
Fix #3237 - allow mixin to reference generic params
2020-04-27 09:10:24 -04:00
Brown
f91e94b64e
Make sure to remember correct positions of @var references
2020-04-27 00:05:20 -04:00
Brown
d88c31f461
Support templated @mixin
2020-04-26 16:49:52 -04:00
Brown
52c0346b65
Fix #3213 - make sure static is bound from a static call with set class
2020-04-22 11:34:46 -04:00
Fabien Villepinte
a93bf28532
Fix #3045 - ignore mixed assignments to variables named $_ ( #3211 )
2020-04-21 20:18:38 -04:00
Matthew Brown
1b752d06ab
Fix #3201 - add additional constraints on constructor initialisation
2020-04-21 00:04:47 -04:00
Brown
bb46c30e38
Fix #3191 - don’t generate complex assertion from class-string
2020-04-19 12:53:50 -04:00
Brown
d2d795018f
Fix #3138 - fix inherited property template type inference
2020-04-18 16:57:13 -04:00
Brown
edb07952fc
Static call inside throw does not violate purity
2020-04-18 12:43:51 -04:00
Brown
8533b866ab
Simplify template bounds message
...
Ref #3126
2020-04-12 22:19:49 -04:00
Brown
73f8f963fa
Expand out class constants as early as possible
...
Fixes #3128
2020-04-12 20:38:36 -04:00
Brown
5988149272
Prevent checking assertions on $this-> types, always accessible
2020-04-12 14:13:42 -04:00
Brown
c733d6d373
Only perform assertions where the property type is known
...
cc @m0003r
2020-04-12 12:56:33 -04:00
m0003r
77270dc9b7
Getters automagic ( #3122 )
...
* When method is a plain getter: (1) correct method return type if property type is known (2) auto assert-if-true that corresponding property is not falsy
* do not use getter automagic if getter is overridden somewhere
2020-04-12 08:40:24 -04:00
Brown
9d2957d339
Fix a few more edge-cases
2020-04-12 01:26:11 -04:00
Brown
db7447abd7
Make array coercion-to--mixed rules a little more lenient
2020-04-10 16:21:48 -04:00
Brown
672baea6fc
Fix #3116 - allow class to be compared to a templated class-string
2020-04-10 00:26:11 -04:00
m0003r
1749c19a29
Fix $assertion_var_id calculation in method calls ( #3115 )
2020-04-09 23:03:53 -04:00
Brown
3a4dd70403
Prevent MixedMethodCall from generated array offsetGet calls
2020-04-09 11:45:15 -04:00
Brown
bd92ec6cd3
Detect nested issues
2020-04-09 10:42:54 -04:00
Brown
bd2104c5ba
Merge with mixed in nested arrays
2020-04-09 09:27:21 -04:00
m0003r
4d1be3f0c4
Allow plain assertions (@psalm-assert) about $this ( fixes #3105 ) ( #3108 )
...
* Allow plain assertions (@psalm-assert) about $this (fixes #3105 )
* Fix multiple assertion combining
* Fix multiple assertion combining for $this again
* Add test for multiple assertion combining for $this again
2020-04-09 08:15:07 -04:00
Brown
d868710b2b
Fix handling of built arrays
2020-04-08 16:11:11 -04:00
Brown
a117c48bb2
Add back nuance to error messages for conflicting type bounds
2020-04-08 12:37:46 -04:00
Brown
067104e170
Fix #3084 - keep track of upper and lower bounds of inferred template types
2020-04-07 00:13:56 -04:00
Brown
fca6585f6e
Be more lenient when inside isset
2020-04-04 11:15:13 -04:00
Brown
c0e573ab6a
Try harder to understand templated array_map callable array
...
Fixes #3039
2020-04-03 16:53:56 -04:00
Brown
5876635d6d
Always be clonin
2020-04-01 00:45:29 -04:00
Matthew Brown
194f02507d
Allow conditional types to reference class constants
2020-03-29 13:37:37 -04:00
Matthew Brown
1b2017e4f4
Add slash
2020-03-29 10:44:38 -04:00
Matthew Brown
5ad55ae693
Fix type inference on simple conditional function calls
2020-03-29 10:42:57 -04:00
Matthew Brown
0e919a0696
Allow arithmetic on simple templated types
2020-03-29 10:34:46 -04:00
Matthew Brown
7fdccc0439
Fix #3014 - change constant class access rules
2020-03-29 09:47:29 -04:00