File: enumBasics2.types

package info (click to toggle)
node-typescript 5.0.4%2Bds1-1
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 459,116 kB
  • sloc: javascript: 1,972,754; makefile: 6; sh: 1
file content (70 lines) | stat: -rw-r--r-- 1,001 bytes parent folder | download
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
}