File: genericCallWithTupleType.symbols

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 (99 lines) | stat: -rw-r--r-- 4,398 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
=== tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithTupleType.ts ===
interface I<T, U> {
>I : Symbol(I, Decl(genericCallWithTupleType.ts, 0, 0))
>T : Symbol(T, Decl(genericCallWithTupleType.ts, 0, 12))
>U : Symbol(U, Decl(genericCallWithTupleType.ts, 0, 14))

    tuple1: [T, U];
>tuple1 : Symbol(I.tuple1, Decl(genericCallWithTupleType.ts, 0, 19))
>T : Symbol(T, Decl(genericCallWithTupleType.ts, 0, 12))
>U : Symbol(U, Decl(genericCallWithTupleType.ts, 0, 14))
} 

var i1: I<string, number>;
>i1 : Symbol(i1, Decl(genericCallWithTupleType.ts, 4, 3))
>I : Symbol(I, Decl(genericCallWithTupleType.ts, 0, 0))

var i2: I<{}, {}>;
>i2 : Symbol(i2, Decl(genericCallWithTupleType.ts, 5, 3))
>I : Symbol(I, Decl(genericCallWithTupleType.ts, 0, 0))

// no error
i1.tuple1 = ["foo", 5];
>i1.tuple1 : Symbol(I.tuple1, Decl(genericCallWithTupleType.ts, 0, 19))
>i1 : Symbol(i1, Decl(genericCallWithTupleType.ts, 4, 3))
>tuple1 : Symbol(I.tuple1, Decl(genericCallWithTupleType.ts, 0, 19))

var e1 = i1.tuple1[0];  // string
>e1 : Symbol(e1, Decl(genericCallWithTupleType.ts, 9, 3))
>i1.tuple1 : Symbol(I.tuple1, Decl(genericCallWithTupleType.ts, 0, 19))
>i1 : Symbol(i1, Decl(genericCallWithTupleType.ts, 4, 3))
>tuple1 : Symbol(I.tuple1, Decl(genericCallWithTupleType.ts, 0, 19))
>0 : Symbol(0)

var e2 = i1.tuple1[1];  // number
>e2 : Symbol(e2, Decl(genericCallWithTupleType.ts, 10, 3))
>i1.tuple1 : Symbol(I.tuple1, Decl(genericCallWithTupleType.ts, 0, 19))
>i1 : Symbol(i1, Decl(genericCallWithTupleType.ts, 4, 3))
>tuple1 : Symbol(I.tuple1, Decl(genericCallWithTupleType.ts, 0, 19))
>1 : Symbol(1)

i1.tuple1 = ["foo", 5, false, true];
>i1.tuple1 : Symbol(I.tuple1, Decl(genericCallWithTupleType.ts, 0, 19))
>i1 : Symbol(i1, Decl(genericCallWithTupleType.ts, 4, 3))
>tuple1 : Symbol(I.tuple1, Decl(genericCallWithTupleType.ts, 0, 19))

var e3 = i1.tuple1[2];  // {}
>e3 : Symbol(e3, Decl(genericCallWithTupleType.ts, 12, 3))
>i1.tuple1 : Symbol(I.tuple1, Decl(genericCallWithTupleType.ts, 0, 19))
>i1 : Symbol(i1, Decl(genericCallWithTupleType.ts, 4, 3))
>tuple1 : Symbol(I.tuple1, Decl(genericCallWithTupleType.ts, 0, 19))

i1.tuple1[3] = { a: "string" };
>i1.tuple1 : Symbol(I.tuple1, Decl(genericCallWithTupleType.ts, 0, 19))
>i1 : Symbol(i1, Decl(genericCallWithTupleType.ts, 4, 3))
>tuple1 : Symbol(I.tuple1, Decl(genericCallWithTupleType.ts, 0, 19))
>a : Symbol(a, Decl(genericCallWithTupleType.ts, 13, 16))

var e4 = i1.tuple1[3];  // {}
>e4 : Symbol(e4, Decl(genericCallWithTupleType.ts, 14, 3))
>i1.tuple1 : Symbol(I.tuple1, Decl(genericCallWithTupleType.ts, 0, 19))
>i1 : Symbol(i1, Decl(genericCallWithTupleType.ts, 4, 3))
>tuple1 : Symbol(I.tuple1, Decl(genericCallWithTupleType.ts, 0, 19))

i2.tuple1 = ["foo", 5];
>i2.tuple1 : Symbol(I.tuple1, Decl(genericCallWithTupleType.ts, 0, 19))
>i2 : Symbol(i2, Decl(genericCallWithTupleType.ts, 5, 3))
>tuple1 : Symbol(I.tuple1, Decl(genericCallWithTupleType.ts, 0, 19))

i2.tuple1 = ["foo", "bar"];
>i2.tuple1 : Symbol(I.tuple1, Decl(genericCallWithTupleType.ts, 0, 19))
>i2 : Symbol(i2, Decl(genericCallWithTupleType.ts, 5, 3))
>tuple1 : Symbol(I.tuple1, Decl(genericCallWithTupleType.ts, 0, 19))

i2.tuple1 = [5, "bar"];
>i2.tuple1 : Symbol(I.tuple1, Decl(genericCallWithTupleType.ts, 0, 19))
>i2 : Symbol(i2, Decl(genericCallWithTupleType.ts, 5, 3))
>tuple1 : Symbol(I.tuple1, Decl(genericCallWithTupleType.ts, 0, 19))

i2.tuple1 = [{}, {}];
>i2.tuple1 : Symbol(I.tuple1, Decl(genericCallWithTupleType.ts, 0, 19))
>i2 : Symbol(i2, Decl(genericCallWithTupleType.ts, 5, 3))
>tuple1 : Symbol(I.tuple1, Decl(genericCallWithTupleType.ts, 0, 19))

// error
i1.tuple1 = [5, "foo"];
>i1.tuple1 : Symbol(I.tuple1, Decl(genericCallWithTupleType.ts, 0, 19))
>i1 : Symbol(i1, Decl(genericCallWithTupleType.ts, 4, 3))
>tuple1 : Symbol(I.tuple1, Decl(genericCallWithTupleType.ts, 0, 19))

i1.tuple1 = [{}, {}];
>i1.tuple1 : Symbol(I.tuple1, Decl(genericCallWithTupleType.ts, 0, 19))
>i1 : Symbol(i1, Decl(genericCallWithTupleType.ts, 4, 3))
>tuple1 : Symbol(I.tuple1, Decl(genericCallWithTupleType.ts, 0, 19))

i2.tuple1 = [{}];
>i2.tuple1 : Symbol(I.tuple1, Decl(genericCallWithTupleType.ts, 0, 19))
>i2 : Symbol(i2, Decl(genericCallWithTupleType.ts, 5, 3))
>tuple1 : Symbol(I.tuple1, Decl(genericCallWithTupleType.ts, 0, 19))