blob: 214fe59d9cc905826e6e5c497c39b4f53c765ea7 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
compound assignment operators are split during lowering.
<<<
main = fun () {
var x int = 0
x += 1
x *= 2
x -= 3
}
>>>
(unit
(types
(type 0 int primitive)
(type 1 uint primitive)
(type 2 bool primitive)
(type 3 string primitive)
(type 4 float primitive)
(type 5 byte primitive)
(type 6 ascii primitive)
(type 7 void primitive))
(functions
(function 0 main main (returns (ref void)) (block
(declaration x (ref int) (initializer (expr 0)))
(assign (expr (name x)) (expr (binary + (expr (name x)) (expr 1))))
(assign (expr (name x)) (expr (binary * (expr (name x)) (expr 2))))
(assign (expr (name x)) (expr (binary - (expr (name x)) (expr 3))))
)))
(emission_order 0 1 2 3 4 5 6 7))
|