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, }