forked from microsoft/TypeScript
/
noPropertyAccessFromIndexSignature1.symbols
98 lines (75 loc) · 3.61 KB
/
noPropertyAccessFromIndexSignature1.symbols
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
=== tests/cases/conformance/additionalChecks/noPropertyAccessFromIndexSignature1.ts ===
interface A {
>A : Symbol(A, Decl(noPropertyAccessFromIndexSignature1.ts, 0, 0))
foo: string
>foo : Symbol(A.foo, Decl(noPropertyAccessFromIndexSignature1.ts, 0, 13))
}
interface B {
>B : Symbol(B, Decl(noPropertyAccessFromIndexSignature1.ts, 2, 1))
[k: string]: string
>k : Symbol(k, Decl(noPropertyAccessFromIndexSignature1.ts, 5, 5))
}
interface C {
>C : Symbol(C, Decl(noPropertyAccessFromIndexSignature1.ts, 6, 1))
foo: string
>foo : Symbol(C.foo, Decl(noPropertyAccessFromIndexSignature1.ts, 8, 13))
[k: string]: string
>k : Symbol(k, Decl(noPropertyAccessFromIndexSignature1.ts, 10, 5))
}
declare const a: A;
>a : Symbol(a, Decl(noPropertyAccessFromIndexSignature1.ts, 13, 13))
>A : Symbol(A, Decl(noPropertyAccessFromIndexSignature1.ts, 0, 0))
declare const b: B;
>b : Symbol(b, Decl(noPropertyAccessFromIndexSignature1.ts, 14, 13))
>B : Symbol(B, Decl(noPropertyAccessFromIndexSignature1.ts, 2, 1))
declare const c: C;
>c : Symbol(c, Decl(noPropertyAccessFromIndexSignature1.ts, 15, 13))
>C : Symbol(C, Decl(noPropertyAccessFromIndexSignature1.ts, 6, 1))
declare const d: C | undefined;
>d : Symbol(d, Decl(noPropertyAccessFromIndexSignature1.ts, 16, 13))
>C : Symbol(C, Decl(noPropertyAccessFromIndexSignature1.ts, 6, 1))
// access property
a.foo;
>a.foo : Symbol(A.foo, Decl(noPropertyAccessFromIndexSignature1.ts, 0, 13))
>a : Symbol(a, Decl(noPropertyAccessFromIndexSignature1.ts, 13, 13))
>foo : Symbol(A.foo, Decl(noPropertyAccessFromIndexSignature1.ts, 0, 13))
a["foo"]
>a : Symbol(a, Decl(noPropertyAccessFromIndexSignature1.ts, 13, 13))
>"foo" : Symbol(A.foo, Decl(noPropertyAccessFromIndexSignature1.ts, 0, 13))
// access index signature
b.foo;
>b.foo : Symbol(B.__index, Decl(noPropertyAccessFromIndexSignature1.ts, 4, 13))
>b : Symbol(b, Decl(noPropertyAccessFromIndexSignature1.ts, 14, 13))
>foo : Symbol(B.__index, Decl(noPropertyAccessFromIndexSignature1.ts, 4, 13))
b["foo"];
>b : Symbol(b, Decl(noPropertyAccessFromIndexSignature1.ts, 14, 13))
// access property
c.foo;
>c.foo : Symbol(C.foo, Decl(noPropertyAccessFromIndexSignature1.ts, 8, 13))
>c : Symbol(c, Decl(noPropertyAccessFromIndexSignature1.ts, 15, 13))
>foo : Symbol(C.foo, Decl(noPropertyAccessFromIndexSignature1.ts, 8, 13))
c["foo"]
>c : Symbol(c, Decl(noPropertyAccessFromIndexSignature1.ts, 15, 13))
>"foo" : Symbol(C.foo, Decl(noPropertyAccessFromIndexSignature1.ts, 8, 13))
// access index signature
c.bar;
>c.bar : Symbol(C.__index, Decl(noPropertyAccessFromIndexSignature1.ts, 9, 15))
>c : Symbol(c, Decl(noPropertyAccessFromIndexSignature1.ts, 15, 13))
>bar : Symbol(C.__index, Decl(noPropertyAccessFromIndexSignature1.ts, 9, 15))
c["bar"];
>c : Symbol(c, Decl(noPropertyAccessFromIndexSignature1.ts, 15, 13))
// optional access property
d?.foo;
>d?.foo : Symbol(C.foo, Decl(noPropertyAccessFromIndexSignature1.ts, 8, 13))
>d : Symbol(d, Decl(noPropertyAccessFromIndexSignature1.ts, 16, 13))
>foo : Symbol(C.foo, Decl(noPropertyAccessFromIndexSignature1.ts, 8, 13))
d?.["foo"]
>d : Symbol(d, Decl(noPropertyAccessFromIndexSignature1.ts, 16, 13))
>"foo" : Symbol(C.foo, Decl(noPropertyAccessFromIndexSignature1.ts, 8, 13))
// optional access index signature
d?.bar;
>d?.bar : Symbol(C.__index, Decl(noPropertyAccessFromIndexSignature1.ts, 9, 15))
>d : Symbol(d, Decl(noPropertyAccessFromIndexSignature1.ts, 16, 13))
>bar : Symbol(C.__index, Decl(noPropertyAccessFromIndexSignature1.ts, 9, 15))
d?.["bar"];
>d : Symbol(d, Decl(noPropertyAccessFromIndexSignature1.ts, 16, 13))