1Class declaration
2-----
3<?php
4
5class A {
6    public string $a;
7    protected static D $b;
8    private ?float $c;
9    readonly static public ?int $d;
10}
11-----
12array(
13    0: Stmt_Class(
14        attrGroups: array(
15        )
16        flags: 0
17        name: Identifier(
18            name: A
19        )
20        extends: null
21        implements: array(
22        )
23        stmts: array(
24            0: Stmt_Property(
25                attrGroups: array(
26                )
27                flags: PUBLIC (1)
28                type: Identifier(
29                    name: string
30                )
31                props: array(
32                    0: PropertyItem(
33                        name: VarLikeIdentifier(
34                            name: a
35                        )
36                        default: null
37                    )
38                )
39                hooks: array(
40                )
41            )
42            1: Stmt_Property(
43                attrGroups: array(
44                )
45                flags: PROTECTED | STATIC (10)
46                type: Name(
47                    name: D
48                )
49                props: array(
50                    0: PropertyItem(
51                        name: VarLikeIdentifier(
52                            name: b
53                        )
54                        default: null
55                    )
56                )
57                hooks: array(
58                )
59            )
60            2: Stmt_Property(
61                attrGroups: array(
62                )
63                flags: PRIVATE (4)
64                type: NullableType(
65                    type: Identifier(
66                        name: float
67                    )
68                )
69                props: array(
70                    0: PropertyItem(
71                        name: VarLikeIdentifier(
72                            name: c
73                        )
74                        default: null
75                    )
76                )
77                hooks: array(
78                )
79            )
80            3: Stmt_Property(
81                attrGroups: array(
82                )
83                flags: PUBLIC | STATIC | READONLY (73)
84                type: NullableType(
85                    type: Identifier(
86                        name: int
87                    )
88                )
89                props: array(
90                    0: PropertyItem(
91                        name: VarLikeIdentifier(
92                            name: d
93                        )
94                        default: null
95                    )
96                )
97                hooks: array(
98                )
99            )
100        )
101    )
102)
103