1New in initializers
2-----
3<?php
4
5const C = new Foo;
6
7function a($x = new Foo) {
8    static $y = new Foo;
9}
10
11#[Attr(new Foo)]
12class Bar {
13    const C = new Foo;
14    public $prop = new Foo;
15}
16-----
17array(
18    0: Stmt_Const(
19        consts: array(
20            0: Const(
21                name: Identifier(
22                    name: C
23                )
24                value: Expr_New(
25                    class: Name(
26                        name: Foo
27                    )
28                    args: array(
29                    )
30                )
31            )
32        )
33    )
34    1: Stmt_Function(
35        attrGroups: array(
36        )
37        byRef: false
38        name: Identifier(
39            name: a
40        )
41        params: array(
42            0: Param(
43                attrGroups: array(
44                )
45                flags: 0
46                type: null
47                byRef: false
48                variadic: false
49                var: Expr_Variable(
50                    name: x
51                )
52                default: Expr_New(
53                    class: Name(
54                        name: Foo
55                    )
56                    args: array(
57                    )
58                )
59            )
60        )
61        returnType: null
62        stmts: array(
63            0: Stmt_Static(
64                vars: array(
65                    0: StaticVar(
66                        var: Expr_Variable(
67                            name: y
68                        )
69                        default: Expr_New(
70                            class: Name(
71                                name: Foo
72                            )
73                            args: array(
74                            )
75                        )
76                    )
77                )
78            )
79        )
80    )
81    2: Stmt_Class(
82        attrGroups: array(
83            0: AttributeGroup(
84                attrs: array(
85                    0: Attribute(
86                        name: Name(
87                            name: Attr
88                        )
89                        args: array(
90                            0: Arg(
91                                name: null
92                                value: Expr_New(
93                                    class: Name(
94                                        name: Foo
95                                    )
96                                    args: array(
97                                    )
98                                )
99                                byRef: false
100                                unpack: false
101                            )
102                        )
103                    )
104                )
105            )
106        )
107        flags: 0
108        name: Identifier(
109            name: Bar
110        )
111        extends: null
112        implements: array(
113        )
114        stmts: array(
115            0: Stmt_ClassConst(
116                attrGroups: array(
117                )
118                flags: 0
119                type: null
120                consts: array(
121                    0: Const(
122                        name: Identifier(
123                            name: C
124                        )
125                        value: Expr_New(
126                            class: Name(
127                                name: Foo
128                            )
129                            args: array(
130                            )
131                        )
132                    )
133                )
134            )
135            1: Stmt_Property(
136                attrGroups: array(
137                )
138                flags: PUBLIC (1)
139                type: null
140                props: array(
141                    0: PropertyItem(
142                        name: VarLikeIdentifier(
143                            name: prop
144                        )
145                        default: Expr_New(
146                            class: Name(
147                                name: Foo
148                            )
149                            args: array(
150                            )
151                        )
152                    )
153                )
154            )
155        )
156    )
157)
158