DefinitionTree {
    definitions: [
        Interface(
            InterfaceDefinition {
                comments: CommentGroup {
                    comments: [],
                },
                attributes: [
                    AttributeGroupDefinition {
                        hash_left_bracket: 0,
                        members: CommaSeparated {
                            inner: [
                                AttributeDefinition {
                                    name: Identifier {
                                        position: 2,
                                        value: "A",
                                    },
                                    arguments: None,
                                },
                                AttributeDefinition {
                                    name: Identifier {
                                        position: 5,
                                        value: "B",
                                    },
                                    arguments: None,
                                },
                            ],
                            commas: [
                                3,
                            ],
                        },
                        right_bracket: 6,
                    },
                    AttributeGroupDefinition {
                        hash_left_bracket: 8,
                        members: CommaSeparated {
                            inner: [
                                AttributeDefinition {
                                    name: Identifier {
                                        position: 10,
                                        value: "C",
                                    },
                                    arguments: None,
                                },
                                AttributeDefinition {
                                    name: Identifier {
                                        position: 13,
                                        value: "D",
                                    },
                                    arguments: None,
                                },
                            ],
                            commas: [
                                11,
                            ],
                        },
                        right_bracket: 14,
                    },
                ],
                interface: Keyword {
                    value: "interface",
                    position: 16,
                },
                name: Identifier {
                    position: 26,
                    value: "A",
                },
                templates: None,
                extends: Some(
                    InterfaceDefinitionExtends {
                        extends: Keyword {
                            value: "extends",
                            position: 28,
                        },
                        parents: CommaSeparated {
                            inner: [
                                TemplatedIdentifier {
                                    name: Identifier {
                                        position: 36,
                                        value: "B",
                                    },
                                    templates: None,
                                },
                                TemplatedIdentifier {
                                    name: Identifier {
                                        position: 39,
                                        value: "C",
                                    },
                                    templates: None,
                                },
                            ],
                            commas: [
                                37,
                            ],
                        },
                    },
                ),
                body: InterfaceDefinitionBody {
                    left_brace: 41,
                    members: [
                        Constant(
                            ClassishConstantDefinition {
                                comments: CommentGroup {
                                    comments: [],
                                },
                                attributes: [
                                    AttributeGroupDefinition {
                                        hash_left_bracket: 47,
                                        members: CommaSeparated {
                                            inner: [
                                                AttributeDefinition {
                                                    name: Identifier {
                                                        position: 49,
                                                        value: "R",
                                                    },
                                                    arguments: None,
                                                },
                                            ],
                                            commas: [],
                                        },
                                        right_bracket: 50,
                                    },
                                ],
                                modifiers: ModifierGroupDefinition {
                                    position: 56,
                                    modifiers: [],
                                },
                                const: Keyword {
                                    value: "const",
                                    position: 56,
                                },
                                entries: CommaSeparated {
                                    inner: [
                                        ConstantDefinitionEntry {
                                            name: Identifier {
                                                position: 62,
                                                value: "F",
                                            },
                                            equals: 64,
                                            value: Literal(
                                                Integer(
                                                    LiteralInteger {
                                                        comments: CommentGroup {
                                                            comments: [],
                                                        },
                                                        value: "344",
                                                        position: 66,
                                                    },
                                                ),
                                            ),
                                        },
                                    ],
                                    commas: [],
                                },
                                semicolon: 69,
                            },
                        ),
                        Constant(
                            ClassishConstantDefinition {
                                comments: CommentGroup {
                                    comments: [],
                                },
                                attributes: [
                                    AttributeGroupDefinition {
                                        hash_left_bracket: 76,
                                        members: CommaSeparated {
                                            inner: [
                                                AttributeDefinition {
                                                    name: Identifier {
                                                        position: 78,
                                                        value: "R",
                                                    },
                                                    arguments: None,
                                                },
                                            ],
                                            commas: [],
                                        },
                                        right_bracket: 79,
                                    },
                                ],
                                modifiers: ModifierGroupDefinition {
                                    position: 92,
                                    modifiers: [
                                        Public(
                                            Keyword {
                                                value: "public",
                                                position: 85,
                                            },
                                        ),
                                    ],
                                },
                                const: Keyword {
                                    value: "const",
                                    position: 92,
                                },
                                entries: CommaSeparated {
                                    inner: [
                                        ConstantDefinitionEntry {
                                            name: Identifier {
                                                position: 98,
                                                value: "O",
                                            },
                                            equals: 100,
                                            value: Literal(
                                                Integer(
                                                    LiteralInteger {
                                                        comments: CommentGroup {
                                                            comments: [],
                                                        },
                                                        value: "344",
                                                        position: 102,
                                                    },
                                                ),
                                            ),
                                        },
                                    ],
                                    commas: [],
                                },
                                semicolon: 105,
                            },
                        ),
                        Constant(
                            ClassishConstantDefinition {
                                comments: CommentGroup {
                                    comments: [],
                                },
                                attributes: [
                                    AttributeGroupDefinition {
                                        hash_left_bracket: 112,
                                        members: CommaSeparated {
                                            inner: [
                                                AttributeDefinition {
                                                    name: Identifier {
                                                        position: 114,
                                                        value: "R",
                                                    },
                                                    arguments: None,
                                                },
                                            ],
                                            commas: [],
                                        },
                                        right_bracket: 115,
                                    },
                                    AttributeGroupDefinition {
                                        hash_left_bracket: 121,
                                        members: CommaSeparated {
                                            inner: [
                                                AttributeDefinition {
                                                    name: Identifier {
                                                        position: 123,
                                                        value: "P",
                                                    },
                                                    arguments: None,
                                                },
                                            ],
                                            commas: [],
                                        },
                                        right_bracket: 124,
                                    },
                                ],
                                modifiers: ModifierGroupDefinition {
                                    position: 143,
                                    modifiers: [
                                        Final(
                                            Keyword {
                                                value: "final",
                                                position: 130,
                                            },
                                        ),
                                        Public(
                                            Keyword {
                                                value: "public",
                                                position: 136,
                                            },
                                        ),
                                    ],
                                },
                                const: Keyword {
                                    value: "const",
                                    position: 143,
                                },
                                entries: CommaSeparated {
                                    inner: [
                                        ConstantDefinitionEntry {
                                            name: Identifier {
                                                position: 149,
                                                value: "R",
                                            },
                                            equals: 151,
                                            value: Literal(
                                                Integer(
                                                    LiteralInteger {
                                                        comments: CommentGroup {
                                                            comments: [],
                                                        },
                                                        value: "344",
                                                        position: 153,
                                                    },
                                                ),
                                            ),
                                        },
                                        ConstantDefinitionEntry {
                                            name: Identifier {
                                                position: 158,
                                                value: "P",
                                            },
                                            equals: 160,
                                            value: Literal(
                                                Integer(
                                                    LiteralInteger {
                                                        comments: CommentGroup {
                                                            comments: [],
                                                        },
                                                        value: "214",
                                                        position: 162,
                                                    },
                                                ),
                                            ),
                                        },
                                    ],
                                    commas: [
                                        156,
                                    ],
                                },
                                semicolon: 165,
                            },
                        ),
                        Constant(
                            ClassishConstantDefinition {
                                comments: CommentGroup {
                                    comments: [],
                                },
                                attributes: [
                                    AttributeGroupDefinition {
                                        hash_left_bracket: 172,
                                        members: CommaSeparated {
                                            inner: [
                                                AttributeDefinition {
                                                    name: Identifier {
                                                        position: 174,
                                                        value: "R",
                                                    },
                                                    arguments: None,
                                                },
                                            ],
                                            commas: [],
                                        },
                                        right_bracket: 175,
                                    },
                                    AttributeGroupDefinition {
                                        hash_left_bracket: 181,
                                        members: CommaSeparated {
                                            inner: [
                                                AttributeDefinition {
                                                    name: Identifier {
                                                        position: 183,
                                                        value: "P",
                                                    },
                                                    arguments: None,
                                                },
                                            ],
                                            commas: [],
                                        },
                                        right_bracket: 184,
                                    },
                                ],
                                modifiers: ModifierGroupDefinition {
                                    position: 196,
                                    modifiers: [
                                        Final(
                                            Keyword {
                                                value: "final",
                                                position: 190,
                                            },
                                        ),
                                    ],
                                },
                                const: Keyword {
                                    value: "const",
                                    position: 196,
                                },
                                entries: CommaSeparated {
                                    inner: [
                                        ConstantDefinitionEntry {
                                            name: Identifier {
                                                position: 202,
                                                value: "M",
                                            },
                                            equals: 204,
                                            value: Literal(
                                                Integer(
                                                    LiteralInteger {
                                                        comments: CommentGroup {
                                                            comments: [],
                                                        },
                                                        value: "34",
                                                        position: 206,
                                                    },
                                                ),
                                            ),
                                        },
                                    ],
                                    commas: [],
                                },
                                semicolon: 208,
                            },
                        ),
                        Method(
                            AbstractMethodDefinition {
                                comments: CommentGroup {
                                    comments: [],
                                },
                                attributes: [
                                    AttributeGroupDefinition {
                                        hash_left_bracket: 215,
                                        members: CommaSeparated {
                                            inner: [
                                                AttributeDefinition {
                                                    name: Identifier {
                                                        position: 217,
                                                        value: "M",
                                                    },
                                                    arguments: None,
                                                },
                                            ],
                                            commas: [],
                                        },
                                        right_bracket: 218,
                                    },
                                ],
                                modifiers: ModifierGroupDefinition {
                                    position: 231,
                                    modifiers: [
                                        Public(
                                            Keyword {
                                                value: "public",
                                                position: 224,
                                            },
                                        ),
                                    ],
                                },
                                function: Keyword {
                                    value: "function",
                                    position: 231,
                                },
                                name: Identifier {
                                    position: 240,
                                    value: "bar",
                                },
                                templates: None,
                                parameters: FunctionLikeParameterListDefinition {
                                    comments: CommentGroup {
                                        comments: [],
                                    },
                                    left_parenthesis: 243,
                                    parameters: CommaSeparated {
                                        inner: [],
                                        commas: [],
                                    },
                                    right_parenthesis: 244,
                                },
                                return_type: FunctionLikeReturnTypeDefinition {
                                    colon: 245,
                                    type_definition: Void(
                                        Keyword {
                                            value: "void",
                                            position: 247,
                                        },
                                    ),
                                },
                                constraints: None,
                                semicolon: 251,
                            },
                        ),
                        Method(
                            AbstractMethodDefinition {
                                comments: CommentGroup {
                                    comments: [],
                                },
                                attributes: [
                                    AttributeGroupDefinition {
                                        hash_left_bracket: 258,
                                        members: CommaSeparated {
                                            inner: [
                                                AttributeDefinition {
                                                    name: Identifier {
                                                        position: 260,
                                                        value: "Q",
                                                    },
                                                    arguments: None,
                                                },
                                            ],
                                            commas: [],
                                        },
                                        right_bracket: 261,
                                    },
                                    AttributeGroupDefinition {
                                        hash_left_bracket: 267,
                                        members: CommaSeparated {
                                            inner: [
                                                AttributeDefinition {
                                                    name: Identifier {
                                                        position: 269,
                                                        value: "S",
                                                    },
                                                    arguments: None,
                                                },
                                            ],
                                            commas: [],
                                        },
                                        right_bracket: 270,
                                    },
                                ],
                                modifiers: ModifierGroupDefinition {
                                    position: 290,
                                    modifiers: [
                                        Public(
                                            Keyword {
                                                value: "public",
                                                position: 276,
                                            },
                                        ),
                                        Static(
                                            Keyword {
                                                value: "static",
                                                position: 283,
                                            },
                                        ),
                                    ],
                                },
                                function: Keyword {
                                    value: "function",
                                    position: 290,
                                },
                                name: Identifier {
                                    position: 299,
                                    value: "baz",
                                },
                                templates: None,
                                parameters: FunctionLikeParameterListDefinition {
                                    comments: CommentGroup {
                                        comments: [],
                                    },
                                    left_parenthesis: 302,
                                    parameters: CommaSeparated {
                                        inner: [],
                                        commas: [],
                                    },
                                    right_parenthesis: 303,
                                },
                                return_type: FunctionLikeReturnTypeDefinition {
                                    colon: 304,
                                    type_definition: Void(
                                        Keyword {
                                            value: "void",
                                            position: 306,
                                        },
                                    ),
                                },
                                constraints: None,
                                semicolon: 310,
                            },
                        ),
                    ],
                    right_brace: 312,
                },
            },
        ),
    ],
    eof: 314,
}