DefinitionTree {
    definitions: [
        Namespace(
            NamespaceDefinition {
                namespace: Keyword {
                    value: "namespace",
                    position: 0,
                },
                name: Identifier {
                    position: 10,
                    value: "using",
                },
                semicolon: 15,
                definitions: [
                    Constant(
                        ConstantDefinition {
                            comments: CommentGroup {
                                comments: [],
                            },
                            const: Keyword {
                                value: "const",
                                position: 18,
                            },
                            type_definition: UnsignedInteger(
                                U8(
                                    Keyword {
                                        value: "u8",
                                        position: 24,
                                    },
                                ),
                            ),
                            name: Identifier {
                                position: 27,
                                value: "using",
                            },
                            equals: 33,
                            value: Literal(
                                Integer(
                                    LiteralInteger {
                                        comments: CommentGroup {
                                            comments: [],
                                        },
                                        value: "1",
                                        position: 35,
                                    },
                                ),
                            ),
                            semicolon: 36,
                        },
                    ),
                    Interface(
                        InterfaceDefinition {
                            comments: CommentGroup {
                                comments: [],
                            },
                            attributes: [],
                            interface: Keyword {
                                value: "interface",
                                position: 38,
                            },
                            name: Identifier {
                                position: 48,
                                value: "using",
                            },
                            templates: None,
                            extends: None,
                            body: InterfaceDefinitionBody {
                                left_brace: 54,
                                members: [],
                                right_brace: 55,
                            },
                        },
                    ),
                    Class(
                        ClassDefinition {
                            comments: CommentGroup {
                                comments: [],
                            },
                            attributes: [],
                            modifiers: ModifierGroupDefinition {
                                position: 57,
                                modifiers: [],
                            },
                            class: Keyword {
                                value: "class",
                                position: 57,
                            },
                            name: Identifier {
                                position: 63,
                                value: "using",
                            },
                            templates: None,
                            extends: None,
                            implements: None,
                            body: ClassDefinitionBody {
                                left_brace: 69,
                                members: [
                                    Constant(
                                        ClassishConstantDefinition {
                                            comments: CommentGroup {
                                                comments: [],
                                            },
                                            attributes: [],
                                            modifiers: ModifierGroupDefinition {
                                                position: 82,
                                                modifiers: [
                                                    Public(
                                                        Keyword {
                                                            value: "public",
                                                            position: 75,
                                                        },
                                                    ),
                                                ],
                                            },
                                            const: Keyword {
                                                value: "const",
                                                position: 82,
                                            },
                                            type_definition: UnsignedInteger(
                                                U8(
                                                    Keyword {
                                                        value: "u8",
                                                        position: 88,
                                                    },
                                                ),
                                            ),
                                            name: Identifier {
                                                position: 91,
                                                value: "using",
                                            },
                                            equals: 97,
                                            value: Literal(
                                                Integer(
                                                    LiteralInteger {
                                                        comments: CommentGroup {
                                                            comments: [],
                                                        },
                                                        value: "1",
                                                        position: 99,
                                                    },
                                                ),
                                            ),
                                            semicolon: 100,
                                        },
                                    ),
                                    Method(
                                        MethodDefinition {
                                            comments: CommentGroup {
                                                comments: [],
                                            },
                                            attributes: [],
                                            modifiers: ModifierGroupDefinition {
                                                position: 114,
                                                modifiers: [
                                                    Public(
                                                        Keyword {
                                                            value: "public",
                                                            position: 107,
                                                        },
                                                    ),
                                                ],
                                            },
                                            function: Keyword {
                                                value: "function",
                                                position: 114,
                                            },
                                            name: Identifier {
                                                position: 123,
                                                value: "using",
                                            },
                                            templates: None,
                                            parameters: MethodParameterListDefinition {
                                                comments: CommentGroup {
                                                    comments: [],
                                                },
                                                left_parenthesis: 128,
                                                parameters: CommaSeparated {
                                                    inner: [],
                                                    commas: [],
                                                },
                                                right_parenthesis: 129,
                                            },
                                            return_type: Some(
                                                FunctionLikeReturnTypeDefinition {
                                                    colon: 130,
                                                    type_definition: Void(
                                                        Keyword {
                                                            value: "void",
                                                            position: 132,
                                                        },
                                                    ),
                                                },
                                            ),
                                            constraints: None,
                                            body: Concrete(
                                                BlockStatement {
                                                    comments: CommentGroup {
                                                        comments: [],
                                                    },
                                                    left_brace: 137,
                                                    statements: [],
                                                    right_brace: 138,
                                                },
                                            ),
                                        },
                                    ),
                                ],
                                right_brace: 140,
                            },
                        },
                    ),
                    Function(
                        FunctionDefinition {
                            comments: CommentGroup {
                                comments: [],
                            },
                            attributes: [],
                            function: Keyword {
                                value: "function",
                                position: 143,
                            },
                            name: Identifier {
                                position: 152,
                                value: "using",
                            },
                            templates: None,
                            parameters: FunctionLikeParameterListDefinition {
                                comments: CommentGroup {
                                    comments: [],
                                },
                                left_parenthesis: 157,
                                parameters: CommaSeparated {
                                    inner: [],
                                    commas: [],
                                },
                                right_parenthesis: 158,
                            },
                            return_type: FunctionLikeReturnTypeDefinition {
                                colon: 159,
                                type_definition: Identifier(
                                    TemplatedIdentifier {
                                        name: Identifier {
                                            position: 161,
                                            value: "using",
                                        },
                                        templates: None,
                                    },
                                ),
                            },
                            body: BlockStatement {
                                comments: CommentGroup {
                                    comments: [],
                                },
                                left_brace: 167,
                                statements: [
                                    Expression(
                                        ExpressionStatement {
                                            comments: CommentGroup {
                                                comments: [],
                                            },
                                            expression: AssignmentOperation(
                                                Assignment {
                                                    comments: CommentGroup {
                                                        comments: [],
                                                    },
                                                    left: Variable(
                                                        Variable {
                                                            position: 173,
                                                            name: "$using",
                                                        },
                                                    ),
                                                    equals: 180,
                                                    right: Identifier(
                                                        Identifier {
                                                            position: 182,
                                                            value: "using",
                                                        },
                                                    ),
                                                },
                                            ),
                                            semicolon: 187,
                                        },
                                    ),
                                    Expression(
                                        ExpressionStatement {
                                            comments: CommentGroup {
                                                comments: [],
                                            },
                                            expression: AssignmentOperation(
                                                Assignment {
                                                    comments: CommentGroup {
                                                        comments: [],
                                                    },
                                                    left: Variable(
                                                        Variable {
                                                            position: 193,
                                                            name: "$using",
                                                        },
                                                    ),
                                                    equals: 200,
                                                    right: ClassOperation(
                                                        Initialization {
                                                            comments: CommentGroup {
                                                                comments: [],
                                                            },
                                                            new: Keyword {
                                                                value: "new",
                                                                position: 202,
                                                            },
                                                            class: Identifier(
                                                                Identifier {
                                                                    position: 206,
                                                                    value: "using",
                                                                },
                                                            ),
                                                            generics: None,
                                                            arguments: ArgumentListExpression {
                                                                comments: CommentGroup {
                                                                    comments: [],
                                                                },
                                                                left_parenthesis: 211,
                                                                arguments: CommaSeparated {
                                                                    inner: [],
                                                                    commas: [],
                                                                },
                                                                right_parenthesis: 212,
                                                            },
                                                        },
                                                    ),
                                                },
                                            ),
                                            semicolon: 213,
                                        },
                                    ),
                                    Expression(
                                        ExpressionStatement {
                                            comments: CommentGroup {
                                                comments: [],
                                            },
                                            expression: AssignmentOperation(
                                                Assignment {
                                                    comments: CommentGroup {
                                                        comments: [],
                                                    },
                                                    left: Variable(
                                                        Variable {
                                                            position: 219,
                                                            name: "$using",
                                                        },
                                                    ),
                                                    equals: 226,
                                                    right: ClassOperation(
                                                        ConstantFetch {
                                                            comments: CommentGroup {
                                                                comments: [],
                                                            },
                                                            class: Identifier(
                                                                Identifier {
                                                                    position: 228,
                                                                    value: "using",
                                                                },
                                                            ),
                                                            double_colon: 233,
                                                            constant: Identifier {
                                                                position: 235,
                                                                value: "using",
                                                            },
                                                        },
                                                    ),
                                                },
                                            ),
                                            semicolon: 240,
                                        },
                                    ),
                                    Expression(
                                        ExpressionStatement {
                                            comments: CommentGroup {
                                                comments: [],
                                            },
                                            expression: AssignmentOperation(
                                                Assignment {
                                                    comments: CommentGroup {
                                                        comments: [],
                                                    },
                                                    left: Variable(
                                                        Variable {
                                                            position: 246,
                                                            name: "$using",
                                                        },
                                                    ),
                                                    equals: 253,
                                                    right: ClassOperation(
                                                        StaticMethodCall {
                                                            comments: CommentGroup {
                                                                comments: [],
                                                            },
                                                            class: Identifier(
                                                                Identifier {
                                                                    position: 255,
                                                                    value: "using",
                                                                },
                                                            ),
                                                            double_colon: 260,
                                                            method: Identifier {
                                                                position: 262,
                                                                value: "using",
                                                            },
                                                            generics: None,
                                                            arguments: ArgumentListExpression {
                                                                comments: CommentGroup {
                                                                    comments: [],
                                                                },
                                                                left_parenthesis: 267,
                                                                arguments: CommaSeparated {
                                                                    inner: [],
                                                                    commas: [],
                                                                },
                                                                right_parenthesis: 268,
                                                            },
                                                        },
                                                    ),
                                                },
                                            ),
                                            semicolon: 269,
                                        },
                                    ),
                                    Expression(
                                        ExpressionStatement {
                                            comments: CommentGroup {
                                                comments: [],
                                            },
                                            expression: AssignmentOperation(
                                                Assignment {
                                                    comments: CommentGroup {
                                                        comments: [],
                                                    },
                                                    left: Variable(
                                                        Variable {
                                                            position: 275,
                                                            name: "$using",
                                                        },
                                                    ),
                                                    equals: 282,
                                                    right: ClassOperation(
                                                        ConstantFetch {
                                                            comments: CommentGroup {
                                                                comments: [],
                                                            },
                                                            class: ClassOperation(
                                                                ConstantFetch {
                                                                    comments: CommentGroup {
                                                                        comments: [],
                                                                    },
                                                                    class: Identifier(
                                                                        Identifier {
                                                                            position: 284,
                                                                            value: "using",
                                                                        },
                                                                    ),
                                                                    double_colon: 289,
                                                                    constant: Identifier {
                                                                        position: 291,
                                                                        value: "using",
                                                                    },
                                                                },
                                                            ),
                                                            double_colon: 296,
                                                            constant: Identifier {
                                                                position: 298,
                                                                value: "using",
                                                            },
                                                        },
                                                    ),
                                                },
                                            ),
                                            semicolon: 303,
                                        },
                                    ),
                                    Expression(
                                        ExpressionStatement {
                                            comments: CommentGroup {
                                                comments: [],
                                            },
                                            expression: AssignmentOperation(
                                                Assignment {
                                                    comments: CommentGroup {
                                                        comments: [],
                                                    },
                                                    left: Variable(
                                                        Variable {
                                                            position: 309,
                                                            name: "$using",
                                                        },
                                                    ),
                                                    equals: 316,
                                                    right: ClassOperation(
                                                        StaticMethodCall {
                                                            comments: CommentGroup {
                                                                comments: [],
                                                            },
                                                            class: ClassOperation(
                                                                ConstantFetch {
                                                                    comments: CommentGroup {
                                                                        comments: [],
                                                                    },
                                                                    class: Identifier(
                                                                        Identifier {
                                                                            position: 318,
                                                                            value: "using",
                                                                        },
                                                                    ),
                                                                    double_colon: 323,
                                                                    constant: Identifier {
                                                                        position: 325,
                                                                        value: "using",
                                                                    },
                                                                },
                                                            ),
                                                            double_colon: 330,
                                                            method: Identifier {
                                                                position: 332,
                                                                value: "using",
                                                            },
                                                            generics: None,
                                                            arguments: ArgumentListExpression {
                                                                comments: CommentGroup {
                                                                    comments: [],
                                                                },
                                                                left_parenthesis: 337,
                                                                arguments: CommaSeparated {
                                                                    inner: [],
                                                                    commas: [],
                                                                },
                                                                right_parenthesis: 338,
                                                            },
                                                        },
                                                    ),
                                                },
                                            ),
                                            semicolon: 339,
                                        },
                                    ),
                                    Expression(
                                        ExpressionStatement {
                                            comments: CommentGroup {
                                                comments: [],
                                            },
                                            expression: AssignmentOperation(
                                                Assignment {
                                                    comments: CommentGroup {
                                                        comments: [],
                                                    },
                                                    left: Variable(
                                                        Variable {
                                                            position: 345,
                                                            name: "$using",
                                                        },
                                                    ),
                                                    equals: 352,
                                                    right: ObjectOperation(
                                                        MethodCall {
                                                            comments: CommentGroup {
                                                                comments: [],
                                                            },
                                                            object: Variable(
                                                                Variable {
                                                                    position: 354,
                                                                    name: "$using",
                                                                },
                                                            ),
                                                            arrow: 360,
                                                            method: Identifier {
                                                                position: 362,
                                                                value: "using",
                                                            },
                                                            generics: None,
                                                            arguments: ArgumentListExpression {
                                                                comments: CommentGroup {
                                                                    comments: [],
                                                                },
                                                                left_parenthesis: 367,
                                                                arguments: CommaSeparated {
                                                                    inner: [],
                                                                    commas: [],
                                                                },
                                                                right_parenthesis: 368,
                                                            },
                                                        },
                                                    ),
                                                },
                                            ),
                                            semicolon: 369,
                                        },
                                    ),
                                    Return(
                                        Implicit {
                                            comments: CommentGroup {
                                                comments: [],
                                            },
                                            expression: Variable(
                                                Variable {
                                                    position: 376,
                                                    name: "$using",
                                                },
                                            ),
                                        },
                                    ),
                                ],
                                right_brace: 383,
                            },
                        },
                    ),
                    Function(
                        FunctionDefinition {
                            comments: CommentGroup {
                                comments: [],
                            },
                            attributes: [],
                            function: Keyword {
                                value: "function",
                                position: 386,
                            },
                            name: Identifier {
                                position: 395,
                                value: "using",
                            },
                            templates: None,
                            parameters: FunctionLikeParameterListDefinition {
                                comments: CommentGroup {
                                    comments: [],
                                },
                                left_parenthesis: 400,
                                parameters: CommaSeparated {
                                    inner: [],
                                    commas: [],
                                },
                                right_parenthesis: 401,
                            },
                            return_type: FunctionLikeReturnTypeDefinition {
                                colon: 402,
                                type_definition: Identifier(
                                    TemplatedIdentifier {
                                        name: Identifier {
                                            position: 404,
                                            value: "using",
                                        },
                                        templates: None,
                                    },
                                ),
                            },
                            body: BlockStatement {
                                comments: CommentGroup {
                                    comments: [],
                                },
                                left_brace: 410,
                                statements: [
                                    Return(
                                        Implicit {
                                            comments: CommentGroup {
                                                comments: [],
                                            },
                                            expression: Identifier(
                                                Identifier {
                                                    position: 416,
                                                    value: "using",
                                                },
                                            ),
                                        },
                                    ),
                                ],
                                right_brace: 422,
                            },
                        },
                    ),
                ],
            },
        ),
    ],
    eof: 424,
}