aboutsummaryrefslogtreecommitdiff
path: root/tools/odinfmt/tests/single_line_switch/switch.odin
blob: 66254c0d2c41f1b7bbcc3996311f1a716d41a9ab (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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
package single_line_switch

import "core:fmt"

Barrr :: enum {
	A,
	B,
}

main :: proc() {
	bar: Barrr
	aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa := 1
	bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb := 2
	cccccccccccccccccccc := 3

	switch bar {
	case .A: 

		foo := this_is_a_really_long_proc_name(aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa, bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb, cccccccccccccccccccc)
	case .B: 

		foo := this_is_a_really_long_proc_name(1, 
			2, 
			3)
	}
}

this_is_a_really_long_proc_name :: proc(a, b, c: int) -> int {
	return a + b + c
}

Number :: union {
	int,
	uint,
}

f :: proc( very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_long_name: Number,) {
	#partial switch value in very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_long_name {
	case:
		#partial switch value in very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_very_long_name {
			case int: fmt.println("Number is an integer")
			case: 
			fmt.println("Number is not an integer")
			}
	}
}