@@ -37,51 +37,77 @@ interface MyClass {
37
37
>p : Symbol(p, Decl(thisTypeAccessibility.ts, 12, 15))
38
38
}
39
39
40
+ class MyGenericClass<T> {
41
+ >MyGenericClass : Symbol(MyGenericClass, Decl(thisTypeAccessibility.ts, 13, 1))
42
+ >T : Symbol(T, Decl(thisTypeAccessibility.ts, 15, 21))
43
+
44
+ private p: T;
45
+ >p : Symbol(MyGenericClass.p, Decl(thisTypeAccessibility.ts, 15, 25))
46
+ >T : Symbol(T, Decl(thisTypeAccessibility.ts, 15, 21))
47
+
48
+ protected pp: T;
49
+ >pp : Symbol(MyGenericClass.pp, Decl(thisTypeAccessibility.ts, 16, 17))
50
+ >T : Symbol(T, Decl(thisTypeAccessibility.ts, 15, 21))
51
+
52
+ public ppp: T;
53
+ >ppp : Symbol(MyGenericClass.ppp, Decl(thisTypeAccessibility.ts, 17, 20))
54
+ >T : Symbol(T, Decl(thisTypeAccessibility.ts, 15, 21))
55
+
56
+ private static sp: number;
57
+ >sp : Symbol(MyGenericClass.sp, Decl(thisTypeAccessibility.ts, 18, 18))
58
+
59
+ protected static spp: number;
60
+ >spp : Symbol(MyGenericClass.spp, Decl(thisTypeAccessibility.ts, 19, 30))
61
+
62
+ public static sppp: number;
63
+ >sppp : Symbol(MyGenericClass.sppp, Decl(thisTypeAccessibility.ts, 20, 33))
64
+ }
65
+
40
66
MyClass.prototype.extension1 = function (this: MyClass, p: number) {
41
67
>MyClass.prototype.extension1 : Symbol(MyClass.extension1, Decl(thisTypeAccessibility.ts, 9, 19))
42
68
>MyClass.prototype : Symbol(MyClass.prototype)
43
69
>MyClass : Symbol(MyClass, Decl(thisTypeAccessibility.ts, 0, 0), Decl(thisTypeAccessibility.ts, 7, 1))
44
70
>prototype : Symbol(MyClass.prototype)
45
71
>extension1 : Symbol(MyClass.extension1, Decl(thisTypeAccessibility.ts, 9, 19))
46
- >this : Symbol(this, Decl(thisTypeAccessibility.ts, 15 , 41))
72
+ >this : Symbol(this, Decl(thisTypeAccessibility.ts, 24 , 41))
47
73
>MyClass : Symbol(MyClass, Decl(thisTypeAccessibility.ts, 0, 0), Decl(thisTypeAccessibility.ts, 7, 1))
48
- >p : Symbol(p, Decl(thisTypeAccessibility.ts, 15 , 55))
74
+ >p : Symbol(p, Decl(thisTypeAccessibility.ts, 24 , 55))
49
75
50
76
this.p = p;
51
77
>this.p : Symbol(MyClass.p, Decl(thisTypeAccessibility.ts, 0, 15))
52
- >this : Symbol(this, Decl(thisTypeAccessibility.ts, 15 , 41))
78
+ >this : Symbol(this, Decl(thisTypeAccessibility.ts, 24 , 41))
53
79
>p : Symbol(MyClass.p, Decl(thisTypeAccessibility.ts, 0, 15))
54
- >p : Symbol(p, Decl(thisTypeAccessibility.ts, 15 , 55))
80
+ >p : Symbol(p, Decl(thisTypeAccessibility.ts, 24 , 55))
55
81
56
82
this.pp = p;
57
83
>this.pp : Symbol(MyClass.pp, Decl(thisTypeAccessibility.ts, 1, 28))
58
- >this : Symbol(this, Decl(thisTypeAccessibility.ts, 15 , 41))
84
+ >this : Symbol(this, Decl(thisTypeAccessibility.ts, 24 , 41))
59
85
>pp : Symbol(MyClass.pp, Decl(thisTypeAccessibility.ts, 1, 28))
60
- >p : Symbol(p, Decl(thisTypeAccessibility.ts, 15 , 55))
86
+ >p : Symbol(p, Decl(thisTypeAccessibility.ts, 24 , 55))
61
87
62
88
this.ppp = p;
63
89
>this.ppp : Symbol(MyClass.ppp, Decl(thisTypeAccessibility.ts, 2, 31))
64
- >this : Symbol(this, Decl(thisTypeAccessibility.ts, 15 , 41))
90
+ >this : Symbol(this, Decl(thisTypeAccessibility.ts, 24 , 41))
65
91
>ppp : Symbol(MyClass.ppp, Decl(thisTypeAccessibility.ts, 2, 31))
66
- >p : Symbol(p, Decl(thisTypeAccessibility.ts, 15 , 55))
92
+ >p : Symbol(p, Decl(thisTypeAccessibility.ts, 24 , 55))
67
93
68
94
MyClass.sp = p;
69
95
>MyClass.sp : Symbol(MyClass.sp, Decl(thisTypeAccessibility.ts, 3, 29))
70
96
>MyClass : Symbol(MyClass, Decl(thisTypeAccessibility.ts, 0, 0), Decl(thisTypeAccessibility.ts, 7, 1))
71
97
>sp : Symbol(MyClass.sp, Decl(thisTypeAccessibility.ts, 3, 29))
72
- >p : Symbol(p, Decl(thisTypeAccessibility.ts, 15 , 55))
98
+ >p : Symbol(p, Decl(thisTypeAccessibility.ts, 24 , 55))
73
99
74
100
MyClass.spp = p;
75
101
>MyClass.spp : Symbol(MyClass.spp, Decl(thisTypeAccessibility.ts, 4, 36))
76
102
>MyClass : Symbol(MyClass, Decl(thisTypeAccessibility.ts, 0, 0), Decl(thisTypeAccessibility.ts, 7, 1))
77
103
>spp : Symbol(MyClass.spp, Decl(thisTypeAccessibility.ts, 4, 36))
78
- >p : Symbol(p, Decl(thisTypeAccessibility.ts, 15 , 55))
104
+ >p : Symbol(p, Decl(thisTypeAccessibility.ts, 24 , 55))
79
105
80
106
MyClass.sppp = p;
81
107
>MyClass.sppp : Symbol(MyClass.sppp, Decl(thisTypeAccessibility.ts, 5, 39))
82
108
>MyClass : Symbol(MyClass, Decl(thisTypeAccessibility.ts, 0, 0), Decl(thisTypeAccessibility.ts, 7, 1))
83
109
>sppp : Symbol(MyClass.sppp, Decl(thisTypeAccessibility.ts, 5, 39))
84
- >p : Symbol(p, Decl(thisTypeAccessibility.ts, 15 , 55))
110
+ >p : Symbol(p, Decl(thisTypeAccessibility.ts, 24 , 55))
85
111
}
86
112
87
113
MyClass.prototype.extension2 = function<T extends MyClass> (this: T, p: number) {
@@ -90,92 +116,92 @@ MyClass.prototype.extension2 = function<T extends MyClass> (this: T, p: number)
90
116
>MyClass : Symbol(MyClass, Decl(thisTypeAccessibility.ts, 0, 0), Decl(thisTypeAccessibility.ts, 7, 1))
91
117
>prototype : Symbol(MyClass.prototype)
92
118
>extension2 : Symbol(MyClass.extension2, Decl(thisTypeAccessibility.ts, 10, 32))
93
- >T : Symbol(T, Decl(thisTypeAccessibility.ts, 24 , 40))
119
+ >T : Symbol(T, Decl(thisTypeAccessibility.ts, 33 , 40))
94
120
>MyClass : Symbol(MyClass, Decl(thisTypeAccessibility.ts, 0, 0), Decl(thisTypeAccessibility.ts, 7, 1))
95
- >this : Symbol(this, Decl(thisTypeAccessibility.ts, 24 , 60))
96
- >T : Symbol(T, Decl(thisTypeAccessibility.ts, 24 , 40))
97
- >p : Symbol(p, Decl(thisTypeAccessibility.ts, 24 , 68))
121
+ >this : Symbol(this, Decl(thisTypeAccessibility.ts, 33 , 60))
122
+ >T : Symbol(T, Decl(thisTypeAccessibility.ts, 33 , 40))
123
+ >p : Symbol(p, Decl(thisTypeAccessibility.ts, 33 , 68))
98
124
99
125
this.p = p;
100
126
>this.p : Symbol(MyClass.p, Decl(thisTypeAccessibility.ts, 0, 15))
101
- >this : Symbol(this, Decl(thisTypeAccessibility.ts, 24 , 60))
127
+ >this : Symbol(this, Decl(thisTypeAccessibility.ts, 33 , 60))
102
128
>p : Symbol(MyClass.p, Decl(thisTypeAccessibility.ts, 0, 15))
103
- >p : Symbol(p, Decl(thisTypeAccessibility.ts, 24 , 68))
129
+ >p : Symbol(p, Decl(thisTypeAccessibility.ts, 33 , 68))
104
130
105
131
this.pp = p;
106
132
>this.pp : Symbol(MyClass.pp, Decl(thisTypeAccessibility.ts, 1, 28))
107
- >this : Symbol(this, Decl(thisTypeAccessibility.ts, 24 , 60))
133
+ >this : Symbol(this, Decl(thisTypeAccessibility.ts, 33 , 60))
108
134
>pp : Symbol(MyClass.pp, Decl(thisTypeAccessibility.ts, 1, 28))
109
- >p : Symbol(p, Decl(thisTypeAccessibility.ts, 24 , 68))
135
+ >p : Symbol(p, Decl(thisTypeAccessibility.ts, 33 , 68))
110
136
111
137
this.ppp = p;
112
138
>this.ppp : Symbol(MyClass.ppp, Decl(thisTypeAccessibility.ts, 2, 31))
113
- >this : Symbol(this, Decl(thisTypeAccessibility.ts, 24 , 60))
139
+ >this : Symbol(this, Decl(thisTypeAccessibility.ts, 33 , 60))
114
140
>ppp : Symbol(MyClass.ppp, Decl(thisTypeAccessibility.ts, 2, 31))
115
- >p : Symbol(p, Decl(thisTypeAccessibility.ts, 24 , 68))
141
+ >p : Symbol(p, Decl(thisTypeAccessibility.ts, 33 , 68))
116
142
117
143
MyClass.sp = p;
118
144
>MyClass.sp : Symbol(MyClass.sp, Decl(thisTypeAccessibility.ts, 3, 29))
119
145
>MyClass : Symbol(MyClass, Decl(thisTypeAccessibility.ts, 0, 0), Decl(thisTypeAccessibility.ts, 7, 1))
120
146
>sp : Symbol(MyClass.sp, Decl(thisTypeAccessibility.ts, 3, 29))
121
- >p : Symbol(p, Decl(thisTypeAccessibility.ts, 24 , 68))
147
+ >p : Symbol(p, Decl(thisTypeAccessibility.ts, 33 , 68))
122
148
123
149
MyClass.spp = p;
124
150
>MyClass.spp : Symbol(MyClass.spp, Decl(thisTypeAccessibility.ts, 4, 36))
125
151
>MyClass : Symbol(MyClass, Decl(thisTypeAccessibility.ts, 0, 0), Decl(thisTypeAccessibility.ts, 7, 1))
126
152
>spp : Symbol(MyClass.spp, Decl(thisTypeAccessibility.ts, 4, 36))
127
- >p : Symbol(p, Decl(thisTypeAccessibility.ts, 24 , 68))
153
+ >p : Symbol(p, Decl(thisTypeAccessibility.ts, 33 , 68))
128
154
129
155
MyClass.sppp = p;
130
156
>MyClass.sppp : Symbol(MyClass.sppp, Decl(thisTypeAccessibility.ts, 5, 39))
131
157
>MyClass : Symbol(MyClass, Decl(thisTypeAccessibility.ts, 0, 0), Decl(thisTypeAccessibility.ts, 7, 1))
132
158
>sppp : Symbol(MyClass.sppp, Decl(thisTypeAccessibility.ts, 5, 39))
133
- >p : Symbol(p, Decl(thisTypeAccessibility.ts, 24 , 68))
159
+ >p : Symbol(p, Decl(thisTypeAccessibility.ts, 33 , 68))
134
160
}
135
161
136
162
function extension3<T extends MyClass> (this: T, p: number) {
137
- >extension3 : Symbol(extension3, Decl(thisTypeAccessibility.ts, 31 , 1))
138
- >T : Symbol(T, Decl(thisTypeAccessibility.ts, 33 , 20))
163
+ >extension3 : Symbol(extension3, Decl(thisTypeAccessibility.ts, 40 , 1))
164
+ >T : Symbol(T, Decl(thisTypeAccessibility.ts, 42 , 20))
139
165
>MyClass : Symbol(MyClass, Decl(thisTypeAccessibility.ts, 0, 0), Decl(thisTypeAccessibility.ts, 7, 1))
140
- >this : Symbol(this, Decl(thisTypeAccessibility.ts, 33 , 40))
141
- >T : Symbol(T, Decl(thisTypeAccessibility.ts, 33 , 20))
142
- >p : Symbol(p, Decl(thisTypeAccessibility.ts, 33 , 48))
166
+ >this : Symbol(this, Decl(thisTypeAccessibility.ts, 42 , 40))
167
+ >T : Symbol(T, Decl(thisTypeAccessibility.ts, 42 , 20))
168
+ >p : Symbol(p, Decl(thisTypeAccessibility.ts, 42 , 48))
143
169
144
170
this.p = p;
145
171
>this.p : Symbol(MyClass.p, Decl(thisTypeAccessibility.ts, 0, 15))
146
- >this : Symbol(this, Decl(thisTypeAccessibility.ts, 33 , 40))
172
+ >this : Symbol(this, Decl(thisTypeAccessibility.ts, 42 , 40))
147
173
>p : Symbol(MyClass.p, Decl(thisTypeAccessibility.ts, 0, 15))
148
- >p : Symbol(p, Decl(thisTypeAccessibility.ts, 33 , 48))
174
+ >p : Symbol(p, Decl(thisTypeAccessibility.ts, 42 , 48))
149
175
150
176
this.pp = p;
151
177
>this.pp : Symbol(MyClass.pp, Decl(thisTypeAccessibility.ts, 1, 28))
152
- >this : Symbol(this, Decl(thisTypeAccessibility.ts, 33 , 40))
178
+ >this : Symbol(this, Decl(thisTypeAccessibility.ts, 42 , 40))
153
179
>pp : Symbol(MyClass.pp, Decl(thisTypeAccessibility.ts, 1, 28))
154
- >p : Symbol(p, Decl(thisTypeAccessibility.ts, 33 , 48))
180
+ >p : Symbol(p, Decl(thisTypeAccessibility.ts, 42 , 48))
155
181
156
182
this.ppp = p;
157
183
>this.ppp : Symbol(MyClass.ppp, Decl(thisTypeAccessibility.ts, 2, 31))
158
- >this : Symbol(this, Decl(thisTypeAccessibility.ts, 33 , 40))
184
+ >this : Symbol(this, Decl(thisTypeAccessibility.ts, 42 , 40))
159
185
>ppp : Symbol(MyClass.ppp, Decl(thisTypeAccessibility.ts, 2, 31))
160
- >p : Symbol(p, Decl(thisTypeAccessibility.ts, 33 , 48))
186
+ >p : Symbol(p, Decl(thisTypeAccessibility.ts, 42 , 48))
161
187
162
188
MyClass.sp = p;
163
189
>MyClass.sp : Symbol(MyClass.sp, Decl(thisTypeAccessibility.ts, 3, 29))
164
190
>MyClass : Symbol(MyClass, Decl(thisTypeAccessibility.ts, 0, 0), Decl(thisTypeAccessibility.ts, 7, 1))
165
191
>sp : Symbol(MyClass.sp, Decl(thisTypeAccessibility.ts, 3, 29))
166
- >p : Symbol(p, Decl(thisTypeAccessibility.ts, 33 , 48))
192
+ >p : Symbol(p, Decl(thisTypeAccessibility.ts, 42 , 48))
167
193
168
194
MyClass.spp = p;
169
195
>MyClass.spp : Symbol(MyClass.spp, Decl(thisTypeAccessibility.ts, 4, 36))
170
196
>MyClass : Symbol(MyClass, Decl(thisTypeAccessibility.ts, 0, 0), Decl(thisTypeAccessibility.ts, 7, 1))
171
197
>spp : Symbol(MyClass.spp, Decl(thisTypeAccessibility.ts, 4, 36))
172
- >p : Symbol(p, Decl(thisTypeAccessibility.ts, 33 , 48))
198
+ >p : Symbol(p, Decl(thisTypeAccessibility.ts, 42 , 48))
173
199
174
200
MyClass.sppp = p;
175
201
>MyClass.sppp : Symbol(MyClass.sppp, Decl(thisTypeAccessibility.ts, 5, 39))
176
202
>MyClass : Symbol(MyClass, Decl(thisTypeAccessibility.ts, 0, 0), Decl(thisTypeAccessibility.ts, 7, 1))
177
203
>sppp : Symbol(MyClass.sppp, Decl(thisTypeAccessibility.ts, 5, 39))
178
- >p : Symbol(p, Decl(thisTypeAccessibility.ts, 33 , 48))
204
+ >p : Symbol(p, Decl(thisTypeAccessibility.ts, 42 , 48))
179
205
}
180
206
181
207
MyClass.prototype.extension3 = extension3;
@@ -184,5 +210,51 @@ MyClass.prototype.extension3 = extension3;
184
210
>MyClass : Symbol(MyClass, Decl(thisTypeAccessibility.ts, 0, 0), Decl(thisTypeAccessibility.ts, 7, 1))
185
211
>prototype : Symbol(MyClass.prototype)
186
212
>extension3 : Symbol(MyClass.extension3, Decl(thisTypeAccessibility.ts, 11, 32))
187
- >extension3 : Symbol(extension3, Decl(thisTypeAccessibility.ts, 31, 1))
213
+ >extension3 : Symbol(extension3, Decl(thisTypeAccessibility.ts, 40, 1))
214
+
215
+ function extension4<T extends number>(this: MyGenericClass<T>, p: T) {
216
+ >extension4 : Symbol(extension4, Decl(thisTypeAccessibility.ts, 51, 42))
217
+ >T : Symbol(T, Decl(thisTypeAccessibility.ts, 53, 20))
218
+ >this : Symbol(this, Decl(thisTypeAccessibility.ts, 53, 38))
219
+ >MyGenericClass : Symbol(MyGenericClass, Decl(thisTypeAccessibility.ts, 13, 1))
220
+ >T : Symbol(T, Decl(thisTypeAccessibility.ts, 53, 20))
221
+ >p : Symbol(p, Decl(thisTypeAccessibility.ts, 53, 62))
222
+ >T : Symbol(T, Decl(thisTypeAccessibility.ts, 53, 20))
223
+
224
+ this.p = p;
225
+ >this.p : Symbol(MyGenericClass.p, Decl(thisTypeAccessibility.ts, 15, 25))
226
+ >this : Symbol(this, Decl(thisTypeAccessibility.ts, 53, 38))
227
+ >p : Symbol(MyGenericClass.p, Decl(thisTypeAccessibility.ts, 15, 25))
228
+ >p : Symbol(p, Decl(thisTypeAccessibility.ts, 53, 62))
229
+
230
+ this.pp = p;
231
+ >this.pp : Symbol(MyGenericClass.pp, Decl(thisTypeAccessibility.ts, 16, 17))
232
+ >this : Symbol(this, Decl(thisTypeAccessibility.ts, 53, 38))
233
+ >pp : Symbol(MyGenericClass.pp, Decl(thisTypeAccessibility.ts, 16, 17))
234
+ >p : Symbol(p, Decl(thisTypeAccessibility.ts, 53, 62))
235
+
236
+ this.ppp = p;
237
+ >this.ppp : Symbol(MyGenericClass.ppp, Decl(thisTypeAccessibility.ts, 17, 20))
238
+ >this : Symbol(this, Decl(thisTypeAccessibility.ts, 53, 38))
239
+ >ppp : Symbol(MyGenericClass.ppp, Decl(thisTypeAccessibility.ts, 17, 20))
240
+ >p : Symbol(p, Decl(thisTypeAccessibility.ts, 53, 62))
241
+
242
+ MyGenericClass.sp = p;
243
+ >MyGenericClass.sp : Symbol(MyGenericClass.sp, Decl(thisTypeAccessibility.ts, 18, 18))
244
+ >MyGenericClass : Symbol(MyGenericClass, Decl(thisTypeAccessibility.ts, 13, 1))
245
+ >sp : Symbol(MyGenericClass.sp, Decl(thisTypeAccessibility.ts, 18, 18))
246
+ >p : Symbol(p, Decl(thisTypeAccessibility.ts, 53, 62))
247
+
248
+ MyGenericClass.spp = p;
249
+ >MyGenericClass.spp : Symbol(MyGenericClass.spp, Decl(thisTypeAccessibility.ts, 19, 30))
250
+ >MyGenericClass : Symbol(MyGenericClass, Decl(thisTypeAccessibility.ts, 13, 1))
251
+ >spp : Symbol(MyGenericClass.spp, Decl(thisTypeAccessibility.ts, 19, 30))
252
+ >p : Symbol(p, Decl(thisTypeAccessibility.ts, 53, 62))
253
+
254
+ MyGenericClass.sppp = p;
255
+ >MyGenericClass.sppp : Symbol(MyGenericClass.sppp, Decl(thisTypeAccessibility.ts, 20, 33))
256
+ >MyGenericClass : Symbol(MyGenericClass, Decl(thisTypeAccessibility.ts, 13, 1))
257
+ >sppp : Symbol(MyGenericClass.sppp, Decl(thisTypeAccessibility.ts, 20, 33))
258
+ >p : Symbol(p, Decl(thisTypeAccessibility.ts, 53, 62))
259
+ }
188
260
0 commit comments