File: enumMergingErrors.types

package info (click to toggle)
node-typescript 3.3.3333-1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 324,548 kB
  • sloc: makefile: 6; sh: 3
file content (111 lines) | stat: -rw-r--r-- 1,668 bytes parent folder | download | duplicates (4)
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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
=== tests/cases/conformance/enums/enumMergingErrors.ts ===
// Enum with constant, computed, constant members split across 3 declarations with the same root module
module M {
>M : typeof M

    export enum E1 { A = 0 }
>E1 : E1
>A : E1
>0 : 0

    export enum E2 { C }
>E2 : E2
>C : E2

    export enum E3 { A = 0 }
>E3 : E3
>A : E3
>0 : 0
}
module M {
>M : typeof M

    export enum E1 { B = 'foo'.length }
>E1 : E1
>B : E1
>'foo'.length : number
>'foo' : "foo"
>length : number

    export enum E2 { B = 'foo'.length }
>E2 : E2
>B : E2
>'foo'.length : number
>'foo' : "foo"
>length : number

    export enum E3 { C }
>E3 : E3
>C : E3
}
module M {
>M : typeof M

    export enum E1 { C }
>E1 : E1
>C : E1

    export enum E2 { A = 0 }
>E2 : E2
>A : E2
>0 : 0

    export enum E3 { B = 'foo'.length }
>E3 : E3
>B : E3
>'foo'.length : number
>'foo' : "foo"
>length : number
}

// Enum with no initializer in either declaration with constant members with the same root module
module M1 {
>M1 : typeof M1

    export enum E1 { A = 0 }
>E1 : E1
>A : E1.A
>0 : 0
}
module M1 {
>M1 : typeof M1

    export enum E1 { B }
>E1 : E1
>B : E1.A
}
module M1 {
>M1 : typeof M1

    export enum E1 { C }
>E1 : E1
>C : E1.A
}


// Enum with initializer in only one of three declarations with constant members with the same root module
module M2 {
>M2 : typeof M2

    export enum E1 { A }
>E1 : E1
>A : E1.A
}
module M2 {
>M2 : typeof M2

    export enum E1 { B = 0 }
>E1 : E1
>B : E1.A
>0 : 0
}
module M2 {
>M2 : typeof M2

    export enum E1 { C }
>E1 : E1
>C : E1.A
}