DefinitionTree {
    definitions: [
        Namespace(
            NamespaceDefinition {
                namespace: Keyword {
                    value: "namespace",
                    position: 0,
                },
                name: Identifier {
                    position: 10,
                    value: "Foo\Bar",
                },
                semicolon: 17,
                definitions: [
                    Class(
                        ClassDefinition {
                            comments: CommentGroup {
                                comments: [],
                            },
                            attributes: [],
                            modifiers: ClassModifierDefinitionGroup {
                                modifiers: [
                                    Final(
                                        20,
                                    ),
                                ],
                            },
                            class: Keyword {
                                value: "class",
                                position: 26,
                            },
                            name: Identifier {
                                position: 32,
                                value: "Baz",
                            },
                            templates: None,
                            extends: None,
                            implements: None,
                            body: ClassDefinitionBody {
                                left_brace: 36,
                                members: [
                                    ConcreteConstructor(
                                        ConcreteConstructorDefinition {
                                            comments: CommentGroup {
                                                comments: [],
                                            },
                                            attributes: [],
                                            modifiers: MethodModifierDefinitionGroup {
                                                modifiers: [
                                                    Public(
                                                        43,
                                                    ),
                                                ],
                                            },
                                            function: Keyword {
                                                value: "function",
                                                position: 50,
                                            },
                                            name: Identifier {
                                                position: 59,
                                                value: "__construct",
                                            },
                                            parameters: ConstructorParameterListDefinition {
                                                comments: CommentGroup {
                                                    comments: [],
                                                },
                                                left_parenthesis: 70,
                                                parameters: CommaSeparated {
                                                    inner: [
                                                        ConstructorParameterDefinition {
                                                            attributes: [],
                                                            comments: CommentGroup {
                                                                comments: [],
                                                            },
                                                            modifiers: PromotedPropertyModifierDefinitionGroup {
                                                                modifiers: [
                                                                    Public(
                                                                        82,
                                                                    ),
                                                                    Readonly(
                                                                        89,
                                                                    ),
                                                                ],
                                                            },
                                                            type_definition: String(
                                                                Keyword {
                                                                    value: "string",
                                                                    position: 98,
                                                                },
                                                            ),
                                                            ellipsis: None,
                                                            variable: Variable {
                                                                position: 105,
                                                                name: "$name",
                                                            },
                                                            default: Some(
                                                                FunctionLikeParameterDefaultValueDefinition {
                                                                    equals: 111,
                                                                    value: Literal(
                                                                        String(
                                                                            LiteralString {
                                                                                comments: CommentGroup {
                                                                                    comments: [],
                                                                                },
                                                                                value: "'foo'",
                                                                                position: 113,
                                                                            },
                                                                        ),
                                                                    ),
                                                                },
                                                            ),
                                                        },
                                                    ],
                                                    commas: [
                                                        118,
                                                    ],
                                                },
                                                right_parenthesis: 125,
                                            },
                                            body: BlockStatement {
                                                comments: CommentGroup {
                                                    comments: [],
                                                },
                                                left_brace: 127,
                                                statements: [],
                                                right_brace: 128,
                                            },
                                        },
                                    ),
                                ],
                                right_brace: 130,
                            },
                        },
                    ),
                ],
            },
        ),
    ],
    eof: 132,
}