--- source: tests/snapshot_tests.rs --- Program( statements: [ Function(FunctionStatement( name: Token( kind: Identifier("greet"), range: Range( start: 9, end: 14, ), ), local: false, arguments: [ Variable( name: Token( kind: Identifier("name"), range: Range( start: 15, end: 19, ), ), ty: Some(String), ), ], return_type: Some(Number), generics: [], body: Block(BlockStatement( statements: [ Return(ReturnStatement( values: [ Binary(BinaryExpression( operator: DoubleDot, left: Literal(String(StringLiteral( value: "Hello, ", range: Range( start: 48, end: 57, ), ))), right: Identifier(Identifier( name: "name", range: Range( start: 61, end: 65, ), )), range: Range( start: 58, end: 60, ), )), ], range: Range( start: 41, end: 47, ), )), ], )), range: Range( start: 0, end: 69, ), range_return_type: Some(Range( start: 30, end: 36, )), )), Local(LocalStatement( variables: [ Variable( name: Token( kind: Identifier("result"), range: Range( start: 76, end: 82, ), ), ty: Some(Number), ), ], initializer: [ Call(CallExpression( left: Identifier(Identifier( name: "greet", range: Range( start: 93, end: 98, ), )), args: Grouped(GroupedExpression( expressions: [ Literal(String(StringLiteral( value: "Stella", range: Range( start: 99, end: 107, ), ))), ], range: Range( start: 98, end: 108, ), )), )), ], range: Range( start: 70, end: 82, ), )), ], )