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 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
|
=== tests/cases/compiler/enumBasics2.ts ===
enum Foo {
>Foo : Foo
a = 2,
>a : Foo.a
>2 : 2
b = 3,
>b : Foo.b
>3 : 3
x = a.b, // should error
>x : Foo.x
>a.b : any
>a : Foo.a
>b : any
y = b.a, // should error
>y : Foo.y
>b.a : any
>b : Foo.b
>a : any
z = y.x * a.x, // should error
>z : Foo.z
>y.x * a.x : number
>y.x : any
>y : Foo.y
>x : any
>a.x : any
>a : Foo.a
>x : any
}
enum Bar {
>Bar : Bar
a = (1).valueOf(), // ok
>a : Bar.a
>(1).valueOf() : number
>(1).valueOf : () => number
>(1) : 1
>1 : 1
>valueOf : () => number
b = Foo.a, // ok
>b : Bar.b
>Foo.a : Foo.a
>Foo : typeof Foo
>a : Foo.a
c = Foo.a.valueOf(), // ok
>c : Bar.c
>Foo.a.valueOf() : number
>Foo.a.valueOf : () => number
>Foo.a : Foo.a
>Foo : typeof Foo
>a : Foo.a
>valueOf : () => number
d = Foo.a.a, // should error
>d : Bar.d
>Foo.a.a : any
>Foo.a : Foo.a
>Foo : typeof Foo
>a : Foo.a
>a : any
}
|