--- source: tests/snapshot_tests.rs --- Program( statements: [ Local(LocalStatement( variables: [ Variable( name: Token( kind: Identifier("count"), range: Range( start: 6, end: 11, ), ), ty: Some(Number), ), ], initializer: [ Literal(Number(NumberLiteral( value: "0", range: Range( start: 22, end: 23, ), ))), ], range: Range( start: 0, end: 11, ), )), While(WhileStatement( condition: Binary(BinaryExpression( operator: LessThan, left: Identifier(Identifier( name: "count", range: Range( start: 31, end: 36, ), )), right: Literal(Number(NumberLiteral( value: "10", range: Range( start: 39, end: 41, ), ))), range: Range( start: 37, end: 38, ), )), body: Block(BlockStatement( statements: [ Expression(Call(CallExpression( left: Identifier(Identifier( name: "print", range: Range( start: 49, end: 54, ), )), args: Grouped(GroupedExpression( expressions: [ Identifier(Identifier( name: "count", range: Range( start: 55, end: 60, ), )), ], range: Range( start: 54, end: 61, ), )), ))), Expression(Assign(AssignExpression( left: [ Identifier(Identifier( name: "count", range: Range( start: 66, end: 71, ), )), ], right: [ Binary(BinaryExpression( operator: Add, left: Identifier(Identifier( name: "count", range: Range( start: 74, end: 79, ), )), right: Literal(Number(NumberLiteral( value: "1", range: Range( start: 82, end: 83, ), ))), range: Range( start: 80, end: 81, ), )), ], range: Range( start: 66, end: 71, ), ))), ], )), range: Range( start: 25, end: 30, ), )), ], )