Brown
07e5250292
Fix #3273 - add support for func_num_args() in conditional type
2020-05-01 16:02:53 -04:00
Brown
0d8b56dc78
Fix return type coalescing for conditional return types
2020-05-01 13:04:48 -04:00
Brown
6024447ca0
Expand function-based template types before comparing against inherited
...
Fixes #3276
2020-05-01 12:40:10 -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
9e6797d297
Add protection from ComplicatedExpression
2020-04-30 22:23:07 -04:00
Brown
8ab5a0f504
Probably safe to un-negate a class string assertion without autoloader
2020-04-30 12:48:21 -04:00
Brown
21f4deed3b
Fix #3268 - infer generator return for closure
2020-04-29 16:52:37 -04:00
Brown
891c66650b
Prevent unintersectable template lower bounds
...
Ref #3264
2020-04-29 14:57:57 -04:00
Brown
e782329821
Add slashes
2020-04-28 23:42:53 -04:00
Brown
63c190ff83
Fix #3257 - refine as type and clone where necessary
2020-04-28 22:26:54 -04:00
orklah
8571746f8a
Add hook for plugins after FunctionLikeAnalysis ( #3258 )
2020-04-28 15:30:51 -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
189cd2bdc8
Fix key stringg
2020-04-27 00:50:07 -04:00
Brown
755ada9114
Fix #3234 - infer iterator key types properly
2020-04-27 00:41:34 -04:00
Brown
f91e94b64e
Make sure to remember correct positions of @var references
2020-04-27 00:05:20 -04:00
Brown
10f3bef743
Fix type check
2020-04-26 20:21:24 -04:00
Brown
e65bffc94f
Support intersections with __toString
...
Fixes #3149
2020-04-26 20:04:41 -04:00
Brown
d88c31f461
Support templated @mixin
2020-04-26 16:49:52 -04:00
Brown
83fe3a2fd9
Complain about malformed @property annotation
2020-04-26 10:10:14 -04:00
Brown
e1c6fcc707
Fix #3215 - suppress PossiblyUndefinedMethod in synthetic call
2020-04-24 00:11:32 -04:00
Brown
e9666372d0
Fix coercion
2020-04-22 16:27:43 -04:00
Brown
507f5f4afa
Add context-sensitive conversion
2020-04-22 16:08:04 -04:00
Brown
a670aa7ddc
Fix #3214 - allow if/else branches of conditional to both be arrays
2020-04-22 16:07:13 -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
8f57d0c738
Fix #3204 - normalise function ids where possible
2020-04-20 21:38:35 -04:00
Brown
a3ae2a713b
Fix #3182 - don’t allow unnamespaced string references to functions in same context
2020-04-19 21:21:18 -04:00
Brown
e55fe0a0e8
Fix #3188 - register global variables as by-reference ones
2020-04-19 13:15:04 -04:00
Brown
bb46c30e38
Fix #3191 - don’t generate complex assertion from class-string
2020-04-19 12:53:50 -04:00
Brown
2188b6736f
Fix #3162
...
Descend into inherited templates to prevent function-defined templates mapping inappopriately
2020-04-19 12:19:39 -04:00
Brown
3e07684855
Fix iterable coercion for Traversable-extending types
...
Fixes #3159
2020-04-19 09:15:20 -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
b0455adced
Fix #3177 - prevent crash by using inherited templates
2020-04-18 11:48:22 -04:00
Brown
aa3846758e
Fix #3153 - narrow template types in conditional branches
2020-04-17 09:53:58 -04:00
Brown
5ef82b53f6
Fix #3137 - support nested templates in class definitions
2020-04-17 01:16:15 -04:00
Anthony Rainer
6f36f33630
Added new language server options and functionality. ( #3161 )
...
* Added new language server options and functionality.
Added new extended diagnostic code information to the language server.
-- It must be enabled via a command line switch.
Added telemetry data for language server initialization and operation.
Added verbose log messages for language server.
-- It must be enabled via a command line switch.
* fixed phpcs issues
* fixed failing tests
* changed the language server reported error code to be the help link
Co-authored-by: Anthony Rainer <0@0ze.ro>
2020-04-17 00:47:18 -04:00
Brown
35d376cbe7
Fix #3164 - allow nested templates in conditional classes
2020-04-17 00:46:27 -04:00
Matthew Brown
6f28ee684a
Fix #3156 - only override existing property types with @property suggestions
2020-04-16 00:22:00 -04:00
Brown
8533b866ab
Simplify template bounds message
...
Ref #3126
2020-04-12 22:19:49 -04:00
Brown
e17cfd8dba
Fix #3125 - only apply clauses where applicable
2020-04-12 21:50:10 -04:00
Brown
633b210a32
Fix test
2020-04-12 21:47:50 -04:00
Brown
73f8f963fa
Expand out class constants as early as possible
...
Fixes #3128
2020-04-12 20:38:36 -04:00
Brown
15df39f72f
Fix #3127 - allow templated param to be accepted where static is expected
2020-04-12 20:09:49 -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
Brown
370ffa28e4
Fix #3117 - invalidate all caches when composer lockfile changes
2020-04-12 11:41:37 -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