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            )
40            1: Stmt_Property(
41                attrGroups: array(
42                )
43                flags: PROTECTED | STATIC (10)
44                type: Name(
45                    name: D
46                )
47                props: array(
48                    0: PropertyItem(
49                        name: VarLikeIdentifier(
50                            name: b
51                        )
52                        default: null
53                    )
54                )
55            )
56            2: Stmt_Property(
57                attrGroups: array(
58                )
59                flags: PRIVATE (4)
60                type: NullableType(
61                    type: Identifier(
62                        name: float
63                    )
64                )
65                props: array(
66                    0: PropertyItem(
67                        name: VarLikeIdentifier(
68                            name: c
69                        )
70                        default: null
71                    )
72                )
73            )
74            3: Stmt_Property(
75                attrGroups: array(
76                )
77                flags: PUBLIC | STATIC | READONLY (73)
78                type: NullableType(
79                    type: Identifier(
80                        name: int
81                    )
82                )
83                props: array(
84                    0: PropertyItem(
85                        name: VarLikeIdentifier(
86                            name: d
87                        )
88                        default: null
89                    )
90                )
91            )
92        )
93    )
94)
95