--- source: tests/snapshot_tests.rs --- Program( statements: [ Function(FunctionStatement( name: Token( kind: Identifier("outer"), range: Range( start: 9, end: 14, ), ), local: false, arguments: [ Variable( name: Token( kind: Identifier("x"), range: Range( start: 15, end: 16, ), ), ty: Some(Number), ), ], return_type: Some(Number), generics: [], body: Block(BlockStatement( statements: [ Function(FunctionStatement( name: Token( kind: Identifier("inner"), range: Range( start: 47, end: 52, ), ), local: false, arguments: [ Variable( name: Token( kind: Identifier("y"), range: Range( start: 53, end: 54, ), ), ty: Some(Number), ), ], return_type: Some(String), generics: [], body: Block(BlockStatement( statements: [ Return(ReturnStatement( values: [ Binary(BinaryExpression( operator: DoubleDot, left: Literal(String(StringLiteral( value: "Hello, ", range: Range( start: 87, end: 96, ), ))), right: Literal(String(StringLiteral( value: "World", range: Range( start: 100, end: 107, ), ))), range: Range( start: 97, end: 99, ), )), ], range: Range( start: 80, end: 86, ), )), ], )), range: Range( start: 38, end: 115, ), range_return_type: Some(Range( start: 65, end: 71, )), )), Return(ReturnStatement( values: [ Call(CallExpression( left: Identifier(Identifier( name: "inner", range: Range( start: 127, end: 132, ), )), args: Grouped(GroupedExpression( expressions: [ Binary(BinaryExpression( operator: Multiply, left: Identifier(Identifier( name: "x", range: Range( start: 133, end: 134, ), )), right: Literal(Number(NumberLiteral( value: "2", range: Range( start: 137, end: 138, ), ))), range: Range( start: 135, end: 136, ), )), ], range: Range( start: 132, end: 139, ), )), )), ], range: Range( start: 120, end: 126, ), )), ], )), range: Range( start: 0, end: 143, ), range_return_type: Some(Range( start: 27, end: 33, )), )), Local(LocalStatement( variables: [ Variable( name: Token( kind: Identifier("result"), range: Range( start: 151, end: 157, ), ), ty: Some(Number), ), ], initializer: [ Call(CallExpression( left: Identifier(Identifier( name: "outer", range: Range( start: 168, end: 173, ), )), args: Grouped(GroupedExpression( expressions: [ Literal(Number(NumberLiteral( value: "10", range: Range( start: 174, end: 176, ), ))), ], range: Range( start: 173, end: 177, ), )), )), ], range: Range( start: 145, end: 157, ), )), ], )