DefinitionTree { definitions: [ Namespace( NamespaceDefinition { namespace: Keyword { value: "namespace", position: 0, }, name: Identifier { position: 10, value: "in", }, semicolon: 12, definitions: [ Constant( ConstantDefinition { comments: CommentGroup { comments: [], }, const: Keyword { value: "const", position: 15, }, type_definition: UnsignedInteger( U8( Keyword { value: "u8", position: 21, }, ), ), name: Identifier { position: 24, value: "in", }, equals: 27, value: Literal( Integer( LiteralInteger { comments: CommentGroup { comments: [], }, value: "1", position: 29, }, ), ), semicolon: 30, }, ), Interface( InterfaceDefinition { comments: CommentGroup { comments: [], }, attributes: [], interface: Keyword { value: "interface", position: 32, }, name: Identifier { position: 42, value: "in", }, templates: None, extends: None, body: InterfaceDefinitionBody { left_brace: 45, members: [], right_brace: 46, }, }, ), Class( ClassDefinition { comments: CommentGroup { comments: [], }, attributes: [], modifiers: ModifierGroupDefinition { position: 48, modifiers: [], }, class: Keyword { value: "class", position: 48, }, name: Identifier { position: 54, value: "in", }, templates: None, extends: None, implements: None, body: ClassDefinitionBody { left_brace: 57, members: [ Constant( ClassishConstantDefinition { comments: CommentGroup { comments: [], }, attributes: [], modifiers: ModifierGroupDefinition { position: 70, modifiers: [ Public( Keyword { value: "public", position: 63, }, ), ], }, const: Keyword { value: "const", position: 70, }, type_definition: UnsignedInteger( U8( Keyword { value: "u8", position: 76, }, ), ), name: Identifier { position: 79, value: "in", }, equals: 82, value: Literal( Integer( LiteralInteger { comments: CommentGroup { comments: [], }, value: "1", position: 84, }, ), ), semicolon: 85, }, ), Method( MethodDefinition { comments: CommentGroup { comments: [], }, attributes: [], modifiers: ModifierGroupDefinition { position: 99, modifiers: [ Public( Keyword { value: "public", position: 92, }, ), ], }, function: Keyword { value: "function", position: 99, }, name: Identifier { position: 108, value: "in", }, templates: None, parameters: MethodParameterListDefinition { comments: CommentGroup { comments: [], }, left_parenthesis: 110, parameters: CommaSeparated { inner: [], commas: [], }, right_parenthesis: 111, }, return_type: Some( FunctionLikeReturnTypeDefinition { colon: 112, type_definition: Void( Keyword { value: "void", position: 114, }, ), }, ), constraints: None, body: Concrete( BlockStatement { comments: CommentGroup { comments: [], }, left_brace: 119, statements: [], right_brace: 120, }, ), }, ), ], right_brace: 122, }, }, ), Function( FunctionDefinition { comments: CommentGroup { comments: [], }, attributes: [], function: Keyword { value: "function", position: 125, }, name: Identifier { position: 134, value: "in", }, templates: None, parameters: FunctionLikeParameterListDefinition { comments: CommentGroup { comments: [], }, left_parenthesis: 136, parameters: CommaSeparated { inner: [], commas: [], }, right_parenthesis: 137, }, return_type: FunctionLikeReturnTypeDefinition { colon: 138, type_definition: Identifier( TemplatedIdentifier { name: Identifier { position: 140, value: "in", }, templates: None, }, ), }, body: BlockStatement { comments: CommentGroup { comments: [], }, left_brace: 143, statements: [ Expression( ExpressionStatement { comments: CommentGroup { comments: [], }, expression: AssignmentOperation( Assignment { comments: CommentGroup { comments: [], }, left: Variable( Variable { position: 149, name: "$in", }, ), equals: 153, right: Identifier( Identifier { position: 155, value: "in", }, ), }, ), semicolon: 157, }, ), Expression( ExpressionStatement { comments: CommentGroup { comments: [], }, expression: AssignmentOperation( Assignment { comments: CommentGroup { comments: [], }, left: Variable( Variable { position: 163, name: "$in", }, ), equals: 167, right: ClassOperation( Initialization { comments: CommentGroup { comments: [], }, new: Keyword { value: "new", position: 169, }, class: Identifier( Identifier { position: 173, value: "in", }, ), generics: None, arguments: ArgumentListExpression { comments: CommentGroup { comments: [], }, left_parenthesis: 175, arguments: CommaSeparated { inner: [], commas: [], }, right_parenthesis: 176, }, }, ), }, ), semicolon: 177, }, ), Expression( ExpressionStatement { comments: CommentGroup { comments: [], }, expression: AssignmentOperation( Assignment { comments: CommentGroup { comments: [], }, left: Variable( Variable { position: 183, name: "$in", }, ), equals: 187, right: ClassOperation( ConstantFetch { comments: CommentGroup { comments: [], }, class: Identifier( Identifier { position: 189, value: "in", }, ), double_colon: 191, constant: Identifier { position: 193, value: "in", }, }, ), }, ), semicolon: 195, }, ), Expression( ExpressionStatement { comments: CommentGroup { comments: [], }, expression: AssignmentOperation( Assignment { comments: CommentGroup { comments: [], }, left: Variable( Variable { position: 201, name: "$in", }, ), equals: 205, right: ClassOperation( StaticMethodCall { comments: CommentGroup { comments: [], }, class: Identifier( Identifier { position: 207, value: "in", }, ), double_colon: 209, method: Identifier { position: 211, value: "in", }, generics: None, arguments: ArgumentListExpression { comments: CommentGroup { comments: [], }, left_parenthesis: 213, arguments: CommaSeparated { inner: [], commas: [], }, right_parenthesis: 214, }, }, ), }, ), semicolon: 215, }, ), Expression( ExpressionStatement { comments: CommentGroup { comments: [], }, expression: AssignmentOperation( Assignment { comments: CommentGroup { comments: [], }, left: Variable( Variable { position: 221, name: "$in", }, ), equals: 225, right: ClassOperation( ConstantFetch { comments: CommentGroup { comments: [], }, class: ClassOperation( ConstantFetch { comments: CommentGroup { comments: [], }, class: Identifier( Identifier { position: 227, value: "in", }, ), double_colon: 229, constant: Identifier { position: 231, value: "in", }, }, ), double_colon: 233, constant: Identifier { position: 235, value: "in", }, }, ), }, ), semicolon: 237, }, ), Expression( ExpressionStatement { comments: CommentGroup { comments: [], }, expression: AssignmentOperation( Assignment { comments: CommentGroup { comments: [], }, left: Variable( Variable { position: 243, name: "$in", }, ), equals: 247, right: ClassOperation( StaticMethodCall { comments: CommentGroup { comments: [], }, class: ClassOperation( ConstantFetch { comments: CommentGroup { comments: [], }, class: Identifier( Identifier { position: 249, value: "in", }, ), double_colon: 251, constant: Identifier { position: 253, value: "in", }, }, ), double_colon: 255, method: Identifier { position: 257, value: "in", }, generics: None, arguments: ArgumentListExpression { comments: CommentGroup { comments: [], }, left_parenthesis: 259, arguments: CommaSeparated { inner: [], commas: [], }, right_parenthesis: 260, }, }, ), }, ), semicolon: 261, }, ), Expression( ExpressionStatement { comments: CommentGroup { comments: [], }, expression: AssignmentOperation( Assignment { comments: CommentGroup { comments: [], }, left: Variable( Variable { position: 267, name: "$in", }, ), equals: 271, right: ObjectOperation( MethodCall { comments: CommentGroup { comments: [], }, object: Variable( Variable { position: 273, name: "$in", }, ), arrow: 276, method: Identifier { position: 278, value: "in", }, generics: None, arguments: ArgumentListExpression { comments: CommentGroup { comments: [], }, left_parenthesis: 280, arguments: CommaSeparated { inner: [], commas: [], }, right_parenthesis: 281, }, }, ), }, ), semicolon: 282, }, ), Return( Implicit { comments: CommentGroup { comments: [], }, expression: Variable( Variable { position: 289, name: "$in", }, ), }, ), ], right_brace: 293, }, }, ), Function( FunctionDefinition { comments: CommentGroup { comments: [], }, attributes: [], function: Keyword { value: "function", position: 296, }, name: Identifier { position: 305, value: "in", }, templates: None, parameters: FunctionLikeParameterListDefinition { comments: CommentGroup { comments: [], }, left_parenthesis: 307, parameters: CommaSeparated { inner: [], commas: [], }, right_parenthesis: 308, }, return_type: FunctionLikeReturnTypeDefinition { colon: 309, type_definition: Identifier( TemplatedIdentifier { name: Identifier { position: 311, value: "in", }, templates: None, }, ), }, body: BlockStatement { comments: CommentGroup { comments: [], }, left_brace: 314, statements: [ Return( Implicit { comments: CommentGroup { comments: [], }, expression: Identifier( Identifier { position: 320, value: "in", }, ), }, ), ], right_brace: 323, }, }, ), ], }, ), ], eof: 325, }