[
    FullOpeningTag(
        FullOpeningTagStatement {
            span: 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(
                FunctionCallExpression {
                    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(
                FunctionCallExpression {
                    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(
                FunctionCallExpression {
                    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(
                FunctionCallExpression {
                    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(
                StaticMethodCallExpression {
                    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(
                StaticMethodCallExpression {
                    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(
                StaticMethodCallExpression {
                    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(
                StaticMethodCallExpression {
                    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(
                InstanceofExpression {
                    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(
                InstanceofExpression {
                    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(
                InstanceofExpression {
                    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(
                InstanceofExpression {
                    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(
                ConstantFetchExpression {
                    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(
                ConstantFetchExpression {
                    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(
                ConstantFetchExpression {
                    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(
                ConstantFetchExpression {
                    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,
            },
        },
    ),
]
