2014-08-12 08:29:02 -07:00
|
|
|
// regular named enum
|
|
|
|
enum Foo {
|
2014-08-12 08:46:53 -07:00
|
|
|
first,
|
2014-08-12 08:29:02 -07:00
|
|
|
bar,
|
|
|
|
baz = 5 * 3
|
|
|
|
}
|
|
|
|
|
2015-05-12 06:37:16 -07:00
|
|
|
enum Baz {
|
2014-08-12 08:29:02 -07:00
|
|
|
flag1 = 1 << 0,
|
|
|
|
flag2 = 1 << 1,
|
2015-07-03 07:19:12 -07:00
|
|
|
flag3 = 1 << 2, // testing trailing comma on last item
|
2015-05-12 06:37:16 -07:00
|
|
|
}
|
2014-08-12 08:29:02 -07:00
|
|
|
|
2015-05-18 08:37:42 -07:00
|
|
|
enum Name.Spaced {
|
|
|
|
pants
|
|
|
|
}
|
|
|
|
|
2015-05-13 09:22:25 -07:00
|
|
|
const Bah: Baz = Baz.flag1;
|
|
|
|
|
2015-05-13 09:15:20 -07:00
|
|
|
enum Value {
|
|
|
|
foo,
|
|
|
|
bar,
|
|
|
|
baz = 2,
|
|
|
|
bah,
|
|
|
|
bam,
|
|
|
|
pants
|
|
|
|
}
|
|
|
|
|
2015-05-13 09:22:25 -07:00
|
|
|
const Pants: Value = Value.pants;
|
2014-08-12 08:29:02 -07:00
|
|
|
|
|
|
|
class Enum {
|
|
|
|
methods {
|
|
|
|
foo {
|
|
|
|
params {
|
2015-05-18 08:13:08 -07:00
|
|
|
idx: int;
|
2014-08-12 08:29:02 -07:00
|
|
|
}
|
2017-09-22 08:10:42 -07:00
|
|
|
return: mstring @owned;
|
2014-08-12 08:29:02 -07:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|