DefinitionTree { definitions: [ Function( FunctionDefinition { comments: CommentGroup { comments: [], }, attributes: [], function: Keyword { value: "function", position: 0, }, name: Identifier { position: 9, value: "example", }, templates: None, parameters: FunctionLikeParameterListDefinition { comments: CommentGroup { comments: [], }, left_parenthesis: 16, parameters: CommaSeparated { inner: [], commas: [], }, right_parenthesis: 17, }, return_type: FunctionLikeReturnTypeDefinition { colon: 18, type_definition: Void( Keyword { value: "void", position: 20, }, ), }, body: BlockStatement { comments: CommentGroup { comments: [], }, left_brace: 25, statements: [ Expression( ExpressionStatement { comments: CommentGroup { comments: [], }, expression: FunctionOperation( Call { comments: CommentGroup { comments: [], }, function: Identifier( Identifier { position: 31, value: "foo", }, ), generics: None, arguments: ArgumentListExpression { comments: CommentGroup { comments: [], }, left_parenthesis: 34, arguments: CommaSeparated { inner: [ Value { comments: CommentGroup { comments: [], }, value: RangeOperation( From { comments: CommentGroup { comments: [], }, from: Literal( Integer( LiteralInteger { comments: CommentGroup { comments: [], }, value: "1", position: 35, }, ), ), double_dot: 36, }, ), }, ], commas: [], }, right_parenthesis: 38, }, }, ), semicolon: 39, }, ), Expression( ExpressionStatement { comments: CommentGroup { comments: [], }, expression: FunctionOperation( Call { comments: CommentGroup { comments: [], }, function: Identifier( Identifier { position: 45, value: "foo", }, ), generics: None, arguments: ArgumentListExpression { comments: CommentGroup { comments: [], }, left_parenthesis: 48, arguments: CommaSeparated { inner: [ Value { comments: CommentGroup { comments: [], }, value: RangeOperation( Between { comments: CommentGroup { comments: [], }, from: Literal( Integer( LiteralInteger { comments: CommentGroup { comments: [], }, value: "1", position: 49, }, ), ), double_dot: 50, to: Literal( Integer( LiteralInteger { comments: CommentGroup { comments: [], }, value: "10", position: 52, }, ), ), }, ), }, ], commas: [], }, right_parenthesis: 54, }, }, ), semicolon: 55, }, ), Expression( ExpressionStatement { comments: CommentGroup { comments: [], }, expression: FunctionOperation( Call { comments: CommentGroup { comments: [], }, function: Identifier( Identifier { position: 61, value: "foo", }, ), generics: None, arguments: ArgumentListExpression { comments: CommentGroup { comments: [], }, left_parenthesis: 64, arguments: CommaSeparated { inner: [ Value { comments: CommentGroup { comments: [], }, value: RangeOperation( BetweenInclusive { comments: CommentGroup { comments: [], }, from: Literal( Integer( LiteralInteger { comments: CommentGroup { comments: [], }, value: "1", position: 65, }, ), ), double_dot: 66, equals: 68, to: Literal( Integer( LiteralInteger { comments: CommentGroup { comments: [], }, value: "10", position: 69, }, ), ), }, ), }, ], commas: [], }, right_parenthesis: 71, }, }, ), semicolon: 72, }, ), Expression( ExpressionStatement { comments: CommentGroup { comments: [], }, expression: FunctionOperation( Call { comments: CommentGroup { comments: [], }, function: Identifier( Identifier { position: 78, value: "foo", }, ), generics: None, arguments: ArgumentListExpression { comments: CommentGroup { comments: [], }, left_parenthesis: 81, arguments: CommaSeparated { inner: [ Value { comments: CommentGroup { comments: [], }, value: RangeOperation( To { comments: CommentGroup { comments: [], }, double_dot: 82, to: Literal( Integer( LiteralInteger { comments: CommentGroup { comments: [], }, value: "10", position: 84, }, ), ), }, ), }, ], commas: [], }, right_parenthesis: 86, }, }, ), semicolon: 87, }, ), Expression( ExpressionStatement { comments: CommentGroup { comments: [], }, expression: FunctionOperation( Call { comments: CommentGroup { comments: [], }, function: Identifier( Identifier { position: 93, value: "foo", }, ), generics: None, arguments: ArgumentListExpression { comments: CommentGroup { comments: [], }, left_parenthesis: 96, arguments: CommaSeparated { inner: [ Value { comments: CommentGroup { comments: [], }, value: RangeOperation( ToInclusive { comments: CommentGroup { comments: [], }, double_dot: 97, equals: 99, to: Literal( Integer( LiteralInteger { comments: CommentGroup { comments: [], }, value: "10", position: 100, }, ), ), }, ), }, ], commas: [], }, right_parenthesis: 102, }, }, ), semicolon: 103, }, ), Expression( ExpressionStatement { comments: CommentGroup { comments: [], }, expression: FunctionOperation( Call { comments: CommentGroup { comments: [], }, function: Identifier( Identifier { position: 109, value: "foo", }, ), generics: None, arguments: ArgumentListExpression { comments: CommentGroup { comments: [], }, left_parenthesis: 112, arguments: CommaSeparated { inner: [ Value { comments: CommentGroup { comments: [], }, value: RangeOperation( Full { comments: CommentGroup { comments: [], }, double_dot: 113, }, ), }, ], commas: [], }, right_parenthesis: 115, }, }, ), semicolon: 116, }, ), ], right_brace: 118, }, }, ), ], eof: 120, }