File: castingTuple.symbols

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 (140 lines) | stat: -rw-r--r-- 5,619 bytes parent folder | download | duplicates (5)
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
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
=== tests/cases/conformance/types/tuple/castingTuple.ts ===
interface I { }
>I : Symbol(I, Decl(castingTuple.ts, 0, 0))

class A { a = 10; }
>A : Symbol(A, Decl(castingTuple.ts, 0, 15))
>a : Symbol(A.a, Decl(castingTuple.ts, 1, 9))

class C implements I { c };
>C : Symbol(C, Decl(castingTuple.ts, 1, 19))
>I : Symbol(I, Decl(castingTuple.ts, 0, 0))
>c : Symbol(C.c, Decl(castingTuple.ts, 2, 22))

class D implements I { d };
>D : Symbol(D, Decl(castingTuple.ts, 2, 27))
>I : Symbol(I, Decl(castingTuple.ts, 0, 0))
>d : Symbol(D.d, Decl(castingTuple.ts, 3, 22))

class E extends A { e };
>E : Symbol(E, Decl(castingTuple.ts, 3, 27))
>A : Symbol(A, Decl(castingTuple.ts, 0, 15))
>e : Symbol(E.e, Decl(castingTuple.ts, 4, 19))

class F extends A { f };
>F : Symbol(F, Decl(castingTuple.ts, 4, 24))
>A : Symbol(A, Decl(castingTuple.ts, 0, 15))
>f : Symbol(F.f, Decl(castingTuple.ts, 5, 19))

enum E1 { one }
>E1 : Symbol(E1, Decl(castingTuple.ts, 5, 24))
>one : Symbol(E1.one, Decl(castingTuple.ts, 6, 9))

enum E2 { one }
>E2 : Symbol(E2, Decl(castingTuple.ts, 6, 15))
>one : Symbol(E2.one, Decl(castingTuple.ts, 7, 9))

// no error
var numStrTuple: [number, string] = [5, "foo"];
>numStrTuple : Symbol(numStrTuple, Decl(castingTuple.ts, 10, 3))

var emptyObjTuple = <[{}, {}]>numStrTuple;
>emptyObjTuple : Symbol(emptyObjTuple, Decl(castingTuple.ts, 11, 3))
>numStrTuple : Symbol(numStrTuple, Decl(castingTuple.ts, 10, 3))

var numStrBoolTuple = <[number, string, boolean]>numStrTuple;
>numStrBoolTuple : Symbol(numStrBoolTuple, Decl(castingTuple.ts, 12, 3))
>numStrTuple : Symbol(numStrTuple, Decl(castingTuple.ts, 10, 3))

var shorter = numStrBoolTuple as [number, string]
>shorter : Symbol(shorter, Decl(castingTuple.ts, 13, 3))
>numStrBoolTuple : Symbol(numStrBoolTuple, Decl(castingTuple.ts, 12, 3))

var longer = numStrTuple as [number, string, boolean]
>longer : Symbol(longer, Decl(castingTuple.ts, 14, 3))
>numStrTuple : Symbol(numStrTuple, Decl(castingTuple.ts, 10, 3))

var classCDTuple: [C, D] = [new C(), new D()];
>classCDTuple : Symbol(classCDTuple, Decl(castingTuple.ts, 15, 3))
>C : Symbol(C, Decl(castingTuple.ts, 1, 19))
>D : Symbol(D, Decl(castingTuple.ts, 2, 27))
>C : Symbol(C, Decl(castingTuple.ts, 1, 19))
>D : Symbol(D, Decl(castingTuple.ts, 2, 27))

var interfaceIITuple = <[I, I]>classCDTuple;
>interfaceIITuple : Symbol(interfaceIITuple, Decl(castingTuple.ts, 16, 3))
>I : Symbol(I, Decl(castingTuple.ts, 0, 0))
>I : Symbol(I, Decl(castingTuple.ts, 0, 0))
>classCDTuple : Symbol(classCDTuple, Decl(castingTuple.ts, 15, 3))

var classCDATuple = <[C, D, A]>classCDTuple;
>classCDATuple : Symbol(classCDATuple, Decl(castingTuple.ts, 17, 3))
>C : Symbol(C, Decl(castingTuple.ts, 1, 19))
>D : Symbol(D, Decl(castingTuple.ts, 2, 27))
>A : Symbol(A, Decl(castingTuple.ts, 0, 15))
>classCDTuple : Symbol(classCDTuple, Decl(castingTuple.ts, 15, 3))

var eleFromCDA1 = classCDATuple[2]; // A
>eleFromCDA1 : Symbol(eleFromCDA1, Decl(castingTuple.ts, 18, 3))
>classCDATuple : Symbol(classCDATuple, Decl(castingTuple.ts, 17, 3))
>2 : Symbol(2)

var eleFromCDA2 = classCDATuple[5]; // C | D | A
>eleFromCDA2 : Symbol(eleFromCDA2, Decl(castingTuple.ts, 19, 3))
>classCDATuple : Symbol(classCDATuple, Decl(castingTuple.ts, 17, 3))

var t10: [E1, E2] = [E1.one, E2.one];
>t10 : Symbol(t10, Decl(castingTuple.ts, 20, 3))
>E1 : Symbol(E1, Decl(castingTuple.ts, 5, 24))
>E2 : Symbol(E2, Decl(castingTuple.ts, 6, 15))
>E1.one : Symbol(E1.one, Decl(castingTuple.ts, 6, 9))
>E1 : Symbol(E1, Decl(castingTuple.ts, 5, 24))
>one : Symbol(E1.one, Decl(castingTuple.ts, 6, 9))
>E2.one : Symbol(E2.one, Decl(castingTuple.ts, 7, 9))
>E2 : Symbol(E2, Decl(castingTuple.ts, 6, 15))
>one : Symbol(E2.one, Decl(castingTuple.ts, 7, 9))

var t11 = <[number, number]>t10;
>t11 : Symbol(t11, Decl(castingTuple.ts, 21, 3))
>t10 : Symbol(t10, Decl(castingTuple.ts, 20, 3))

var array1 = <{}[]>emptyObjTuple;
>array1 : Symbol(array1, Decl(castingTuple.ts, 22, 3), Decl(castingTuple.ts, 31, 3))
>emptyObjTuple : Symbol(emptyObjTuple, Decl(castingTuple.ts, 11, 3))

var unionTuple: [C, string | number] = [new C(), "foo"];
>unionTuple : Symbol(unionTuple, Decl(castingTuple.ts, 23, 3))
>C : Symbol(C, Decl(castingTuple.ts, 1, 19))
>C : Symbol(C, Decl(castingTuple.ts, 1, 19))

var unionTuple2: [C, string | number, D] = [new C(), "foo", new D()];
>unionTuple2 : Symbol(unionTuple2, Decl(castingTuple.ts, 24, 3))
>C : Symbol(C, Decl(castingTuple.ts, 1, 19))
>D : Symbol(D, Decl(castingTuple.ts, 2, 27))
>C : Symbol(C, Decl(castingTuple.ts, 1, 19))
>D : Symbol(D, Decl(castingTuple.ts, 2, 27))

var unionTuple3: [number, string| number] = [10, "foo"]; 
>unionTuple3 : Symbol(unionTuple3, Decl(castingTuple.ts, 25, 3))

var unionTuple4 = <[number, number]>unionTuple3; 
>unionTuple4 : Symbol(unionTuple4, Decl(castingTuple.ts, 26, 3))
>unionTuple3 : Symbol(unionTuple3, Decl(castingTuple.ts, 25, 3))

// error
var t3 = <[number, number]>numStrTuple;
>t3 : Symbol(t3, Decl(castingTuple.ts, 29, 3))
>numStrTuple : Symbol(numStrTuple, Decl(castingTuple.ts, 10, 3))

var t9 = <[A, I]>classCDTuple;
>t9 : Symbol(t9, Decl(castingTuple.ts, 30, 3))
>A : Symbol(A, Decl(castingTuple.ts, 0, 15))
>I : Symbol(I, Decl(castingTuple.ts, 0, 0))
>classCDTuple : Symbol(classCDTuple, Decl(castingTuple.ts, 15, 3))

var array1 = <number[]>numStrTuple;
>array1 : Symbol(array1, Decl(castingTuple.ts, 22, 3), Decl(castingTuple.ts, 31, 3))
>numStrTuple : Symbol(numStrTuple, Decl(castingTuple.ts, 10, 3))

t4[2] = 10;