[
    FullOpeningTag(
        Span {
            line: 1,
            column: 1,
            position: 0,
        },
    ),
    Trait(
        TraitStatement {
            trait: Span {
                line: 3,
                column: 1,
                position: 7,
            },
            name: SimpleIdentifier {
                span: Span {
                    line: 3,
                    column: 7,
                    position: 13,
                },
                value: "foo",
            },
            attributes: [],
            body: TraitBody {
                left_brace: Span {
                    line: 3,
                    column: 11,
                    position: 17,
                },
                members: [
                    ConcreteMethod(
                        ConcreteMethod {
                            comments: CommentGroup {
                                comments: [
                                    Comment {
                                        span: Span {
                                            line: 4,
                                            column: 5,
                                            position: 23,
                                        },
                                        format: SingleLine,
                                        content: "// it's okay to have `parent` type",
                                    },
                                    Comment {
                                        span: Span {
                                            line: 5,
                                            column: 5,
                                            position: 62,
                                        },
                                        format: SingleLine,
                                        content: "// since it's not known at this time if",
                                    },
                                    Comment {
                                        span: Span {
                                            line: 6,
                                            column: 5,
                                            position: 106,
                                        },
                                        format: SingleLine,
                                        content: "// `foo` will have a parent.",
                                    },
                                ],
                            },
                            attributes: [],
                            modifiers: MethodModifierGroup {
                                modifiers: [
                                    Public(
                                        Span {
                                            line: 7,
                                            column: 5,
                                            position: 139,
                                        },
                                    ),
                                ],
                            },
                            function: Span {
                                line: 7,
                                column: 12,
                                position: 146,
                            },
                            ampersand: None,
                            name: SimpleIdentifier {
                                span: Span {
                                    line: 7,
                                    column: 21,
                                    position: 155,
                                },
                                value: "bar",
                            },
                            parameters: FunctionParameterList {
                                comments: CommentGroup {
                                    comments: [],
                                },
                                left_parenthesis: Span {
                                    line: 7,
                                    column: 24,
                                    position: 158,
                                },
                                parameters: CommaSeparated {
                                    inner: [],
                                    commas: [],
                                },
                                right_parenthesis: Span {
                                    line: 7,
                                    column: 25,
                                    position: 159,
                                },
                            },
                            return_type: Some(
                                ReturnType {
                                    colon: Span {
                                        line: 7,
                                        column: 26,
                                        position: 160,
                                    },
                                    data_type: ParentReference(
                                        Span {
                                            line: 7,
                                            column: 28,
                                            position: 162,
                                        },
                                    ),
                                },
                            ),
                            body: MethodBody {
                                comments: CommentGroup {
                                    comments: [],
                                },
                                left_brace: Span {
                                    line: 7,
                                    column: 35,
                                    position: 169,
                                },
                                statements: [
                                    Expression(
                                        ExpressionStatement {
                                            expression: Exit {
                                                exit: Span {
                                                    line: 8,
                                                    column: 9,
                                                    position: 179,
                                                },
                                                argument: Some(
                                                    SingleArgument {
                                                        comments: CommentGroup {
                                                            comments: [],
                                                        },
                                                        left_parenthesis: Span {
                                                            line: 8,
                                                            column: 13,
                                                            position: 183,
                                                        },
                                                        argument: Positional {
                                                            comments: CommentGroup {
                                                                comments: [],
                                                            },
                                                            ellipsis: None,
                                                            value: Literal(
                                                                Integer(
                                                                    LiteralInteger {
                                                                        value: "1",
                                                                        span: Span {
                                                                            line: 8,
                                                                            column: 14,
                                                                            position: 184,
                                                                        },
                                                                    },
                                                                ),
                                                            ),
                                                        },
                                                        right_parenthesis: Span {
                                                            line: 8,
                                                            column: 15,
                                                            position: 185,
                                                        },
                                                    },
                                                ),
                                            },
                                            ending: Semicolon(
                                                Span {
                                                    line: 8,
                                                    column: 16,
                                                    position: 186,
                                                },
                                            ),
                                        },
                                    ),
                                ],
                                right_brace: Span {
                                    line: 9,
                                    column: 5,
                                    position: 192,
                                },
                            },
                        },
                    ),
                ],
                right_brace: Span {
                    line: 10,
                    column: 1,
                    position: 194,
                },
            },
        },
    ),
]
