2018-07-18 23:49:32 +02:00
|
|
|
export const enum Implicit {
|
2017-12-06 23:38:17 +01:00
|
|
|
ZERO,
|
|
|
|
ONE,
|
|
|
|
TWO,
|
|
|
|
THREE
|
|
|
|
}
|
|
|
|
|
2018-07-18 23:49:32 +02:00
|
|
|
export const enum Explicit {
|
2017-12-06 23:38:17 +01:00
|
|
|
ZERO = 0,
|
|
|
|
ONE = 0 + 1,
|
|
|
|
TWO = 1 + 1,
|
|
|
|
THREE = 3
|
|
|
|
}
|
|
|
|
|
2018-07-18 23:49:32 +02:00
|
|
|
export const enum Mixed {
|
2017-12-06 23:38:17 +01:00
|
|
|
ZERO,
|
|
|
|
ONE,
|
|
|
|
THREE = 3,
|
|
|
|
FOUR
|
|
|
|
}
|
|
|
|
|
|
|
|
function getZero(): i32 {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
2018-07-18 23:49:32 +02:00
|
|
|
enum NonConstant {
|
|
|
|
ZERO = getZero(),
|
|
|
|
ONE = getZero() + 1
|
2017-12-06 23:38:17 +01:00
|
|
|
}
|
2018-01-24 03:08:09 +01:00
|
|
|
|
2018-07-18 23:49:32 +02:00
|
|
|
NonConstant.ZERO;
|
|
|
|
NonConstant.ONE;
|
|
|
|
|
|
|
|
export const enum SelfReference {
|
2018-01-24 03:08:09 +01:00
|
|
|
ZERO,
|
|
|
|
ONE = ZERO + 1
|
|
|
|
}
|
2018-05-22 12:06:03 +02:00
|
|
|
|
|
|
|
var enumType: SelfReference;
|