[
    FullOpeningTag(
        Span {
            line: 1,
            column: 1,
            position: 0,
        },
    ),
    Class(
        ClassStatement {
            attributes: [],
            modifiers: ClassModifierGroup {
                modifiers: [],
            },
            class: Span {
                line: 4,
                column: 1,
                position: 9,
            },
            name: SimpleIdentifier {
                span: Span {
                    line: 4,
                    column: 7,
                    position: 15,
                },
                value: "enum",
            },
            extends: None,
            implements: None,
            body: ClassBody {
                left_brace: Span {
                    line: 4,
                    column: 12,
                    position: 20,
                },
                members: [],
                right_brace: Span {
                    line: 4,
                    column: 13,
                    position: 21,
                },
            },
        },
    ),
    Interface(
        InterfaceStatement {
            attributes: [],
            interface: Span {
                line: 5,
                column: 1,
                position: 23,
            },
            name: SimpleIdentifier {
                span: Span {
                    line: 5,
                    column: 11,
                    position: 33,
                },
                value: "enum",
            },
            extends: None,
            body: InterfaceBody {
                left_brace: Span {
                    line: 5,
                    column: 16,
                    position: 38,
                },
                members: [],
                right_brace: Span {
                    line: 5,
                    column: 17,
                    position: 39,
                },
            },
        },
    ),
    Trait(
        TraitStatement {
            trait: Span {
                line: 6,
                column: 1,
                position: 41,
            },
            name: SimpleIdentifier {
                span: Span {
                    line: 6,
                    column: 7,
                    position: 47,
                },
                value: "enum",
            },
            attributes: [],
            body: TraitBody {
                left_brace: Span {
                    line: 6,
                    column: 12,
                    position: 52,
                },
                members: [],
                right_brace: Span {
                    line: 6,
                    column: 13,
                    position: 53,
                },
            },
        },
    ),
    UnitEnum(
        UnitEnumStatement {
            attributes: [],
            enum: Span {
                line: 7,
                column: 1,
                position: 55,
            },
            name: SimpleIdentifier {
                span: Span {
                    line: 7,
                    column: 6,
                    position: 60,
                },
                value: "enum",
            },
            implements: [],
            body: UnitEnumBody {
                left_brace: Span {
                    line: 7,
                    column: 11,
                    position: 65,
                },
                members: [],
                right_brace: Span {
                    line: 7,
                    column: 12,
                    position: 66,
                },
            },
        },
    ),
    Function(
        FunctionStatement {
            comments: CommentGroup {
                comments: [],
            },
            attributes: [],
            function: Span {
                line: 8,
                column: 1,
                position: 68,
            },
            ampersand: None,
            name: SimpleIdentifier {
                span: Span {
                    line: 8,
                    column: 10,
                    position: 77,
                },
                value: "enum",
            },
            parameters: FunctionParameterList {
                comments: CommentGroup {
                    comments: [],
                },
                left_parenthesis: Span {
                    line: 8,
                    column: 14,
                    position: 81,
                },
                parameters: CommaSeparated {
                    inner: [],
                    commas: [],
                },
                right_parenthesis: Span {
                    line: 8,
                    column: 15,
                    position: 82,
                },
            },
            return_type: Some(
                ReturnType {
                    colon: Span {
                        line: 8,
                        column: 16,
                        position: 83,
                    },
                    data_type: Named(
                        Span {
                            line: 8,
                            column: 18,
                            position: 85,
                        },
                        "enum",
                    ),
                },
            ),
            body: FunctionBody {
                comments: CommentGroup {
                    comments: [],
                },
                left_brace: Span {
                    line: 8,
                    column: 23,
                    position: 90,
                },
                statements: [],
                right_brace: Span {
                    line: 8,
                    column: 24,
                    position: 91,
                },
            },
        },
    ),
    Class(
        ClassStatement {
            attributes: [],
            modifiers: ClassModifierGroup {
                modifiers: [],
            },
            class: Span {
                line: 10,
                column: 1,
                position: 94,
            },
            name: SimpleIdentifier {
                span: Span {
                    line: 10,
                    column: 7,
                    position: 100,
                },
                value: "from",
            },
            extends: None,
            implements: None,
            body: ClassBody {
                left_brace: Span {
                    line: 10,
                    column: 12,
                    position: 105,
                },
                members: [],
                right_brace: Span {
                    line: 10,
                    column: 13,
                    position: 106,
                },
            },
        },
    ),
    Interface(
        InterfaceStatement {
            attributes: [],
            interface: Span {
                line: 11,
                column: 1,
                position: 108,
            },
            name: SimpleIdentifier {
                span: Span {
                    line: 11,
                    column: 11,
                    position: 118,
                },
                value: "from",
            },
            extends: None,
            body: InterfaceBody {
                left_brace: Span {
                    line: 11,
                    column: 16,
                    position: 123,
                },
                members: [],
                right_brace: Span {
                    line: 11,
                    column: 17,
                    position: 124,
                },
            },
        },
    ),
    Trait(
        TraitStatement {
            trait: Span {
                line: 12,
                column: 1,
                position: 126,
            },
            name: SimpleIdentifier {
                span: Span {
                    line: 12,
                    column: 7,
                    position: 132,
                },
                value: "from",
            },
            attributes: [],
            body: TraitBody {
                left_brace: Span {
                    line: 12,
                    column: 12,
                    position: 137,
                },
                members: [],
                right_brace: Span {
                    line: 12,
                    column: 13,
                    position: 138,
                },
            },
        },
    ),
    UnitEnum(
        UnitEnumStatement {
            attributes: [],
            enum: Span {
                line: 13,
                column: 1,
                position: 140,
            },
            name: SimpleIdentifier {
                span: Span {
                    line: 13,
                    column: 6,
                    position: 145,
                },
                value: "from",
            },
            implements: [],
            body: UnitEnumBody {
                left_brace: Span {
                    line: 13,
                    column: 11,
                    position: 150,
                },
                members: [],
                right_brace: Span {
                    line: 13,
                    column: 12,
                    position: 151,
                },
            },
        },
    ),
    Function(
        FunctionStatement {
            comments: CommentGroup {
                comments: [],
            },
            attributes: [],
            function: Span {
                line: 14,
                column: 1,
                position: 153,
            },
            ampersand: None,
            name: SimpleIdentifier {
                span: Span {
                    line: 14,
                    column: 10,
                    position: 162,
                },
                value: "from",
            },
            parameters: FunctionParameterList {
                comments: CommentGroup {
                    comments: [],
                },
                left_parenthesis: Span {
                    line: 14,
                    column: 14,
                    position: 166,
                },
                parameters: CommaSeparated {
                    inner: [],
                    commas: [],
                },
                right_parenthesis: Span {
                    line: 14,
                    column: 15,
                    position: 167,
                },
            },
            return_type: Some(
                ReturnType {
                    colon: Span {
                        line: 14,
                        column: 16,
                        position: 168,
                    },
                    data_type: Named(
                        Span {
                            line: 14,
                            column: 18,
                            position: 170,
                        },
                        "from",
                    ),
                },
            ),
            body: FunctionBody {
                comments: CommentGroup {
                    comments: [],
                },
                left_brace: Span {
                    line: 14,
                    column: 23,
                    position: 175,
                },
                statements: [],
                right_brace: Span {
                    line: 14,
                    column: 24,
                    position: 176,
                },
            },
        },
    ),
    Expression(
        ExpressionStatement {
            expression: FunctionCall {
                target: Identifier(
                    SimpleIdentifier(
                        SimpleIdentifier {
                            span: Span {
                                line: 16,
                                column: 1,
                                position: 179,
                            },
                            value: "from",
                        },
                    ),
                ),
                arguments: ArgumentList {
                    comments: CommentGroup {
                        comments: [],
                    },
                    left_parenthesis: Span {
                        line: 16,
                        column: 5,
                        position: 183,
                    },
                    arguments: [],
                    right_parenthesis: Span {
                        line: 16,
                        column: 6,
                        position: 184,
                    },
                },
            },
            ending: Semicolon(
                Span {
                    line: 16,
                    column: 7,
                    position: 185,
                },
            ),
        },
    ),
    Expression(
        ExpressionStatement {
            expression: FunctionCall {
                target: Identifier(
                    SimpleIdentifier(
                        SimpleIdentifier {
                            span: Span {
                                line: 17,
                                column: 1,
                                position: 187,
                            },
                            value: "enum",
                        },
                    ),
                ),
                arguments: ArgumentList {
                    comments: CommentGroup {
                        comments: [],
                    },
                    left_parenthesis: Span {
                        line: 17,
                        column: 5,
                        position: 191,
                    },
                    arguments: [],
                    right_parenthesis: Span {
                        line: 17,
                        column: 6,
                        position: 192,
                    },
                },
            },
            ending: Semicolon(
                Span {
                    line: 17,
                    column: 7,
                    position: 193,
                },
            ),
        },
    ),
    Expression(
        ExpressionStatement {
            expression: FunctionCall {
                target: Identifier(
                    SimpleIdentifier(
                        SimpleIdentifier {
                            span: Span {
                                line: 19,
                                column: 1,
                                position: 196,
                            },
                            value: "frOm",
                        },
                    ),
                ),
                arguments: ArgumentList {
                    comments: CommentGroup {
                        comments: [],
                    },
                    left_parenthesis: Span {
                        line: 19,
                        column: 5,
                        position: 200,
                    },
                    arguments: [],
                    right_parenthesis: Span {
                        line: 19,
                        column: 6,
                        position: 201,
                    },
                },
            },
            ending: Semicolon(
                Span {
                    line: 19,
                    column: 7,
                    position: 202,
                },
            ),
        },
    ),
    Expression(
        ExpressionStatement {
            expression: FunctionCall {
                target: Identifier(
                    SimpleIdentifier(
                        SimpleIdentifier {
                            span: Span {
                                line: 20,
                                column: 1,
                                position: 204,
                            },
                            value: "eNum",
                        },
                    ),
                ),
                arguments: ArgumentList {
                    comments: CommentGroup {
                        comments: [],
                    },
                    left_parenthesis: Span {
                        line: 20,
                        column: 5,
                        position: 208,
                    },
                    arguments: [],
                    right_parenthesis: Span {
                        line: 20,
                        column: 6,
                        position: 209,
                    },
                },
            },
            ending: Semicolon(
                Span {
                    line: 20,
                    column: 7,
                    position: 210,
                },
            ),
        },
    ),
    Expression(
        ExpressionStatement {
            expression: StaticMethodCall {
                target: Identifier(
                    SimpleIdentifier(
                        SimpleIdentifier {
                            span: Span {
                                line: 22,
                                column: 1,
                                position: 213,
                            },
                            value: "Enum",
                        },
                    ),
                ),
                double_colon: Span {
                    line: 22,
                    column: 5,
                    position: 217,
                },
                method: SimpleIdentifier(
                    SimpleIdentifier {
                        span: Span {
                            line: 22,
                            column: 7,
                            position: 219,
                        },
                        value: "foo",
                    },
                ),
                arguments: ArgumentList {
                    comments: CommentGroup {
                        comments: [],
                    },
                    left_parenthesis: Span {
                        line: 22,
                        column: 10,
                        position: 222,
                    },
                    arguments: [],
                    right_parenthesis: Span {
                        line: 22,
                        column: 11,
                        position: 223,
                    },
                },
            },
            ending: Semicolon(
                Span {
                    line: 22,
                    column: 12,
                    position: 224,
                },
            ),
        },
    ),
    Expression(
        ExpressionStatement {
            expression: StaticMethodCall {
                target: Identifier(
                    SimpleIdentifier(
                        SimpleIdentifier {
                            span: Span {
                                line: 23,
                                column: 1,
                                position: 226,
                            },
                            value: "From",
                        },
                    ),
                ),
                double_colon: Span {
                    line: 23,
                    column: 5,
                    position: 230,
                },
                method: SimpleIdentifier(
                    SimpleIdentifier {
                        span: Span {
                            line: 23,
                            column: 7,
                            position: 232,
                        },
                        value: "foo",
                    },
                ),
                arguments: ArgumentList {
                    comments: CommentGroup {
                        comments: [],
                    },
                    left_parenthesis: Span {
                        line: 23,
                        column: 10,
                        position: 235,
                    },
                    arguments: [],
                    right_parenthesis: Span {
                        line: 23,
                        column: 11,
                        position: 236,
                    },
                },
            },
            ending: Semicolon(
                Span {
                    line: 23,
                    column: 12,
                    position: 237,
                },
            ),
        },
    ),
    Expression(
        ExpressionStatement {
            expression: StaticMethodCall {
                target: Identifier(
                    SimpleIdentifier(
                        SimpleIdentifier {
                            span: Span {
                                line: 25,
                                column: 1,
                                position: 240,
                            },
                            value: "enum",
                        },
                    ),
                ),
                double_colon: Span {
                    line: 25,
                    column: 5,
                    position: 244,
                },
                method: SimpleIdentifier(
                    SimpleIdentifier {
                        span: Span {
                            line: 25,
                            column: 7,
                            position: 246,
                        },
                        value: "foo",
                    },
                ),
                arguments: ArgumentList {
                    comments: CommentGroup {
                        comments: [],
                    },
                    left_parenthesis: Span {
                        line: 25,
                        column: 10,
                        position: 249,
                    },
                    arguments: [],
                    right_parenthesis: Span {
                        line: 25,
                        column: 11,
                        position: 250,
                    },
                },
            },
            ending: Semicolon(
                Span {
                    line: 25,
                    column: 12,
                    position: 251,
                },
            ),
        },
    ),
    Expression(
        ExpressionStatement {
            expression: StaticMethodCall {
                target: Identifier(
                    SimpleIdentifier(
                        SimpleIdentifier {
                            span: Span {
                                line: 26,
                                column: 1,
                                position: 253,
                            },
                            value: "from",
                        },
                    ),
                ),
                double_colon: Span {
                    line: 26,
                    column: 5,
                    position: 257,
                },
                method: SimpleIdentifier(
                    SimpleIdentifier {
                        span: Span {
                            line: 26,
                            column: 7,
                            position: 259,
                        },
                        value: "foo",
                    },
                ),
                arguments: ArgumentList {
                    comments: CommentGroup {
                        comments: [],
                    },
                    left_parenthesis: Span {
                        line: 26,
                        column: 10,
                        position: 262,
                    },
                    arguments: [],
                    right_parenthesis: Span {
                        line: 26,
                        column: 11,
                        position: 263,
                    },
                },
            },
            ending: Semicolon(
                Span {
                    line: 26,
                    column: 12,
                    position: 264,
                },
            ),
        },
    ),
    Expression(
        ExpressionStatement {
            expression: Instanceof {
                left: Variable(
                    SimpleVariable(
                        SimpleVariable {
                            span: Span {
                                line: 28,
                                column: 1,
                                position: 267,
                            },
                            name: "$a",
                        },
                    ),
                ),
                instanceof: Span {
                    line: 28,
                    column: 4,
                    position: 270,
                },
                right: Identifier(
                    SimpleIdentifier(
                        SimpleIdentifier {
                            span: Span {
                                line: 28,
                                column: 15,
                                position: 281,
                            },
                            value: "enum",
                        },
                    ),
                ),
            },
            ending: Semicolon(
                Span {
                    line: 28,
                    column: 19,
                    position: 285,
                },
            ),
        },
    ),
    Expression(
        ExpressionStatement {
            expression: Instanceof {
                left: Variable(
                    SimpleVariable(
                        SimpleVariable {
                            span: Span {
                                line: 29,
                                column: 1,
                                position: 287,
                            },
                            name: "$a",
                        },
                    ),
                ),
                instanceof: Span {
                    line: 29,
                    column: 4,
                    position: 290,
                },
                right: Identifier(
                    SimpleIdentifier(
                        SimpleIdentifier {
                            span: Span {
                                line: 29,
                                column: 15,
                                position: 301,
                            },
                            value: "from",
                        },
                    ),
                ),
            },
            ending: Semicolon(
                Span {
                    line: 29,
                    column: 19,
                    position: 305,
                },
            ),
        },
    ),
    Expression(
        ExpressionStatement {
            expression: Instanceof {
                left: Variable(
                    SimpleVariable(
                        SimpleVariable {
                            span: Span {
                                line: 31,
                                column: 1,
                                position: 308,
                            },
                            name: "$a",
                        },
                    ),
                ),
                instanceof: Span {
                    line: 31,
                    column: 4,
                    position: 311,
                },
                right: Identifier(
                    SimpleIdentifier(
                        SimpleIdentifier {
                            span: Span {
                                line: 31,
                                column: 15,
                                position: 322,
                            },
                            value: "enum",
                        },
                    ),
                ),
            },
            ending: Semicolon(
                Span {
                    line: 31,
                    column: 19,
                    position: 326,
                },
            ),
        },
    ),
    Expression(
        ExpressionStatement {
            expression: Instanceof {
                left: Variable(
                    SimpleVariable(
                        SimpleVariable {
                            span: Span {
                                line: 32,
                                column: 1,
                                position: 328,
                            },
                            name: "$a",
                        },
                    ),
                ),
                instanceof: Span {
                    line: 32,
                    column: 4,
                    position: 331,
                },
                right: Identifier(
                    SimpleIdentifier(
                        SimpleIdentifier {
                            span: Span {
                                line: 32,
                                column: 15,
                                position: 342,
                            },
                            value: "from",
                        },
                    ),
                ),
            },
            ending: Semicolon(
                Span {
                    line: 32,
                    column: 19,
                    position: 346,
                },
            ),
        },
    ),
    Expression(
        ExpressionStatement {
            expression: ConstantFetch {
                target: Identifier(
                    SimpleIdentifier(
                        SimpleIdentifier {
                            span: Span {
                                line: 34,
                                column: 1,
                                position: 349,
                            },
                            value: "Enum",
                        },
                    ),
                ),
                double_colon: Span {
                    line: 34,
                    column: 5,
                    position: 353,
                },
                constant: SimpleIdentifier(
                    SimpleIdentifier {
                        span: Span {
                            line: 34,
                            column: 7,
                            position: 355,
                        },
                        value: "class",
                    },
                ),
            },
            ending: Semicolon(
                Span {
                    line: 34,
                    column: 12,
                    position: 360,
                },
            ),
        },
    ),
    Expression(
        ExpressionStatement {
            expression: ConstantFetch {
                target: Identifier(
                    SimpleIdentifier(
                        SimpleIdentifier {
                            span: Span {
                                line: 35,
                                column: 1,
                                position: 362,
                            },
                            value: "From",
                        },
                    ),
                ),
                double_colon: Span {
                    line: 35,
                    column: 5,
                    position: 366,
                },
                constant: SimpleIdentifier(
                    SimpleIdentifier {
                        span: Span {
                            line: 35,
                            column: 7,
                            position: 368,
                        },
                        value: "class",
                    },
                ),
            },
            ending: Semicolon(
                Span {
                    line: 35,
                    column: 12,
                    position: 373,
                },
            ),
        },
    ),
    Expression(
        ExpressionStatement {
            expression: ConstantFetch {
                target: Identifier(
                    SimpleIdentifier(
                        SimpleIdentifier {
                            span: Span {
                                line: 36,
                                column: 1,
                                position: 375,
                            },
                            value: "enum",
                        },
                    ),
                ),
                double_colon: Span {
                    line: 36,
                    column: 5,
                    position: 379,
                },
                constant: SimpleIdentifier(
                    SimpleIdentifier {
                        span: Span {
                            line: 36,
                            column: 7,
                            position: 381,
                        },
                        value: "class",
                    },
                ),
            },
            ending: Semicolon(
                Span {
                    line: 36,
                    column: 12,
                    position: 386,
                },
            ),
        },
    ),
    Expression(
        ExpressionStatement {
            expression: ConstantFetch {
                target: Identifier(
                    SimpleIdentifier(
                        SimpleIdentifier {
                            span: Span {
                                line: 37,
                                column: 1,
                                position: 388,
                            },
                            value: "from",
                        },
                    ),
                ),
                double_colon: Span {
                    line: 37,
                    column: 5,
                    position: 392,
                },
                constant: SimpleIdentifier(
                    SimpleIdentifier {
                        span: Span {
                            line: 37,
                            column: 7,
                            position: 394,
                        },
                        value: "class",
                    },
                ),
            },
            ending: Semicolon(
                Span {
                    line: 37,
                    column: 12,
                    position: 399,
                },
            ),
        },
    ),
    Label(
        LabelStatement {
            comments: CommentGroup {
                comments: [],
            },
            label: SimpleIdentifier {
                span: Span {
                    line: 39,
                    column: 1,
                    position: 402,
                },
                value: "from",
            },
            colon: Span {
                line: 39,
                column: 5,
                position: 406,
            },
        },
    ),
    Expression(
        ExpressionStatement {
            expression: Literal(
                Integer(
                    LiteralInteger {
                        value: "12",
                        span: Span {
                            line: 39,
                            column: 7,
                            position: 408,
                        },
                    },
                ),
            ),
            ending: Semicolon(
                Span {
                    line: 39,
                    column: 9,
                    position: 410,
                },
            ),
        },
    ),
    Goto(
        GotoStatement {
            comments: CommentGroup {
                comments: [],
            },
            keyword: Span {
                line: 41,
                column: 1,
                position: 413,
            },
            label: SimpleIdentifier {
                span: Span {
                    line: 41,
                    column: 6,
                    position: 418,
                },
                value: "from",
            },
            semicolon: Span {
                line: 41,
                column: 10,
                position: 422,
            },
        },
    ),
    Label(
        LabelStatement {
            comments: CommentGroup {
                comments: [],
            },
            label: SimpleIdentifier {
                span: Span {
                    line: 43,
                    column: 1,
                    position: 425,
                },
                value: "enum",
            },
            colon: Span {
                line: 43,
                column: 5,
                position: 429,
            },
        },
    ),
    Expression(
        ExpressionStatement {
            expression: Literal(
                Integer(
                    LiteralInteger {
                        value: "123",
                        span: Span {
                            line: 43,
                            column: 7,
                            position: 431,
                        },
                    },
                ),
            ),
            ending: Semicolon(
                Span {
                    line: 43,
                    column: 10,
                    position: 434,
                },
            ),
        },
    ),
    Goto(
        GotoStatement {
            comments: CommentGroup {
                comments: [],
            },
            keyword: Span {
                line: 45,
                column: 1,
                position: 437,
            },
            label: SimpleIdentifier {
                span: Span {
                    line: 45,
                    column: 6,
                    position: 442,
                },
                value: "enum",
            },
            semicolon: Span {
                line: 45,
                column: 10,
                position: 446,
            },
        },
    ),
]
