@@ -252,5 +252,127 @@ class B extends A {
252
252
>"x" : Symbol(A.x, Decl(asyncMethodWithSuper_es6.ts, 0, 9))
253
253
>f : Symbol(f, Decl(asyncMethodWithSuper_es6.ts, 111, 13))
254
254
}
255
+
256
+ async * property_access_only_read_only_in_generator() {
257
+ >property_access_only_read_only_in_generator : Symbol(B.property_access_only_read_only_in_generator, Decl(asyncMethodWithSuper_es6.ts, 124, 5))
258
+
259
+ // call with property access
260
+ super.x();
261
+ >super.x : Symbol(A.x, Decl(asyncMethodWithSuper_es6.ts, 0, 9))
262
+ >super : Symbol(A, Decl(asyncMethodWithSuper_es6.ts, 0, 0))
263
+ >x : Symbol(A.x, Decl(asyncMethodWithSuper_es6.ts, 0, 9))
264
+
265
+ // property access (read)
266
+ const a = super.x;
267
+ >a : Symbol(a, Decl(asyncMethodWithSuper_es6.ts, 131, 13))
268
+ >super.x : Symbol(A.x, Decl(asyncMethodWithSuper_es6.ts, 0, 9))
269
+ >super : Symbol(A, Decl(asyncMethodWithSuper_es6.ts, 0, 0))
270
+ >x : Symbol(A.x, Decl(asyncMethodWithSuper_es6.ts, 0, 9))
271
+
272
+ // property access in arrow
273
+ (() => super.x());
274
+ >super.x : Symbol(A.x, Decl(asyncMethodWithSuper_es6.ts, 0, 9))
275
+ >super : Symbol(A, Decl(asyncMethodWithSuper_es6.ts, 0, 0))
276
+ >x : Symbol(A.x, Decl(asyncMethodWithSuper_es6.ts, 0, 9))
277
+
278
+ // property access in async arrow
279
+ (async () => super.x());
280
+ >super.x : Symbol(A.x, Decl(asyncMethodWithSuper_es6.ts, 0, 9))
281
+ >super : Symbol(A, Decl(asyncMethodWithSuper_es6.ts, 0, 0))
282
+ >x : Symbol(A.x, Decl(asyncMethodWithSuper_es6.ts, 0, 9))
283
+ }
284
+
285
+ async * property_access_only_write_only_in_generator() {
286
+ >property_access_only_write_only_in_generator : Symbol(B.property_access_only_write_only_in_generator, Decl(asyncMethodWithSuper_es6.ts, 138, 5))
287
+
288
+ const f = () => {};
289
+ >f : Symbol(f, Decl(asyncMethodWithSuper_es6.ts, 141, 13))
290
+
291
+ // property access (assign)
292
+ super.x = f;
293
+ >super.x : Symbol(A.x, Decl(asyncMethodWithSuper_es6.ts, 0, 9))
294
+ >super : Symbol(A, Decl(asyncMethodWithSuper_es6.ts, 0, 0))
295
+ >x : Symbol(A.x, Decl(asyncMethodWithSuper_es6.ts, 0, 9))
296
+ >f : Symbol(f, Decl(asyncMethodWithSuper_es6.ts, 141, 13))
297
+
298
+ // destructuring assign with property access
299
+ ({ f: super.x } = { f });
300
+ >f : Symbol(f, Decl(asyncMethodWithSuper_es6.ts, 147, 10))
301
+ >super.x : Symbol(A.x, Decl(asyncMethodWithSuper_es6.ts, 0, 9))
302
+ >super : Symbol(A, Decl(asyncMethodWithSuper_es6.ts, 0, 0))
303
+ >x : Symbol(A.x, Decl(asyncMethodWithSuper_es6.ts, 0, 9))
304
+ >f : Symbol(f, Decl(asyncMethodWithSuper_es6.ts, 147, 27))
305
+
306
+ // property access (assign) in arrow
307
+ (() => super.x = f);
308
+ >super.x : Symbol(A.x, Decl(asyncMethodWithSuper_es6.ts, 0, 9))
309
+ >super : Symbol(A, Decl(asyncMethodWithSuper_es6.ts, 0, 0))
310
+ >x : Symbol(A.x, Decl(asyncMethodWithSuper_es6.ts, 0, 9))
311
+ >f : Symbol(f, Decl(asyncMethodWithSuper_es6.ts, 141, 13))
312
+
313
+ // property access (assign) in async arrow
314
+ (async () => super.x = f);
315
+ >super.x : Symbol(A.x, Decl(asyncMethodWithSuper_es6.ts, 0, 9))
316
+ >super : Symbol(A, Decl(asyncMethodWithSuper_es6.ts, 0, 0))
317
+ >x : Symbol(A.x, Decl(asyncMethodWithSuper_es6.ts, 0, 9))
318
+ >f : Symbol(f, Decl(asyncMethodWithSuper_es6.ts, 141, 13))
319
+ }
320
+
321
+ async * element_access_only_read_only_in_generator() {
322
+ >element_access_only_read_only_in_generator : Symbol(B.element_access_only_read_only_in_generator, Decl(asyncMethodWithSuper_es6.ts, 154, 5))
323
+
324
+ // call with element access
325
+ super["x"]();
326
+ >super : Symbol(A, Decl(asyncMethodWithSuper_es6.ts, 0, 0))
327
+ >"x" : Symbol(A.x, Decl(asyncMethodWithSuper_es6.ts, 0, 9))
328
+
329
+ // element access (read)
330
+ const a = super["x"];
331
+ >a : Symbol(a, Decl(asyncMethodWithSuper_es6.ts, 161, 13))
332
+ >super : Symbol(A, Decl(asyncMethodWithSuper_es6.ts, 0, 0))
333
+ >"x" : Symbol(A.x, Decl(asyncMethodWithSuper_es6.ts, 0, 9))
334
+
335
+ // element access in arrow
336
+ (() => super["x"]());
337
+ >super : Symbol(A, Decl(asyncMethodWithSuper_es6.ts, 0, 0))
338
+ >"x" : Symbol(A.x, Decl(asyncMethodWithSuper_es6.ts, 0, 9))
339
+
340
+ // element access in async arrow
341
+ (async () => super["x"]());
342
+ >super : Symbol(A, Decl(asyncMethodWithSuper_es6.ts, 0, 0))
343
+ >"x" : Symbol(A.x, Decl(asyncMethodWithSuper_es6.ts, 0, 9))
344
+ }
345
+
346
+ async * element_access_only_write_only_in_generator() {
347
+ >element_access_only_write_only_in_generator : Symbol(B.element_access_only_write_only_in_generator, Decl(asyncMethodWithSuper_es6.ts, 168, 5))
348
+
349
+ const f = () => {};
350
+ >f : Symbol(f, Decl(asyncMethodWithSuper_es6.ts, 171, 13))
351
+
352
+ // element access (assign)
353
+ super["x"] = f;
354
+ >super : Symbol(A, Decl(asyncMethodWithSuper_es6.ts, 0, 0))
355
+ >"x" : Symbol(A.x, Decl(asyncMethodWithSuper_es6.ts, 0, 9))
356
+ >f : Symbol(f, Decl(asyncMethodWithSuper_es6.ts, 171, 13))
357
+
358
+ // destructuring assign with element access
359
+ ({ f: super["x"] } = { f });
360
+ >f : Symbol(f, Decl(asyncMethodWithSuper_es6.ts, 177, 10))
361
+ >super : Symbol(A, Decl(asyncMethodWithSuper_es6.ts, 0, 0))
362
+ >"x" : Symbol(A.x, Decl(asyncMethodWithSuper_es6.ts, 0, 9))
363
+ >f : Symbol(f, Decl(asyncMethodWithSuper_es6.ts, 177, 30))
364
+
365
+ // element access (assign) in arrow
366
+ (() => super["x"] = f);
367
+ >super : Symbol(A, Decl(asyncMethodWithSuper_es6.ts, 0, 0))
368
+ >"x" : Symbol(A.x, Decl(asyncMethodWithSuper_es6.ts, 0, 9))
369
+ >f : Symbol(f, Decl(asyncMethodWithSuper_es6.ts, 171, 13))
370
+
371
+ // element access (assign) in async arrow
372
+ (async () => super["x"] = f);
373
+ >super : Symbol(A, Decl(asyncMethodWithSuper_es6.ts, 0, 0))
374
+ >"x" : Symbol(A.x, Decl(asyncMethodWithSuper_es6.ts, 0, 9))
375
+ >f : Symbol(f, Decl(asyncMethodWithSuper_es6.ts, 171, 13))
376
+ }
255
377
}
256
378
0 commit comments