1Property promotion
2-----
3<?php
4
5class Point
6{
7    public function __construct(
8        public float $x = 0.0,
9        protected array $y = [],
10        private string $z = 'hello',
11        public readonly int $a = 0,
12    ) {
13    }
14}
15-----
16class Point
17{
18    public function __construct(public float $x = 0.0, protected array $y = [], private string $z = 'hello', public readonly int $a = 0)
19    {
20    }
21}
22-----
23<?php
24class Test
25{
26    public $z;
27    public function __construct(
28        public int $x,
29        /** @SomeAnnotation() */
30        public string $y = "123",
31        string $z = "abc"
32    )
33    {
34    }
35}
36-----
37class Test
38{
39    public $z;
40    public function __construct(
41        public int $x,
42        /** @SomeAnnotation() */
43        public string $y = "123",
44        string $z = "abc"
45    )
46    {
47    }
48}
49