@@ -107,6 +107,150 @@ class B extends A {
107107>super : Symbol(A, Decl(asyncMethodWithSuper_es6.ts, 0, 0))
108108>"x" : Symbol(A.x, Decl(asyncMethodWithSuper_es6.ts, 0, 9))
109109>f : Symbol(f, Decl(asyncMethodWithSuper_es6.ts, 51, 30))
110+
111+ // property access in arrow
112+ (() => super.x());
113+ >super.x : Symbol(A.x, Decl(asyncMethodWithSuper_es6.ts, 0, 9))
114+ >super : Symbol(A, Decl(asyncMethodWithSuper_es6.ts, 0, 0))
115+ >x : Symbol(A.x, Decl(asyncMethodWithSuper_es6.ts, 0, 9))
116+
117+ // element access in arrow
118+ (() => super["x"]());
119+ >super : Symbol(A, Decl(asyncMethodWithSuper_es6.ts, 0, 0))
120+ >"x" : Symbol(A.x, Decl(asyncMethodWithSuper_es6.ts, 0, 9))
121+
122+ // property access in async arrow
123+ (async () => super.x());
124+ >super.x : Symbol(A.x, Decl(asyncMethodWithSuper_es6.ts, 0, 9))
125+ >super : Symbol(A, Decl(asyncMethodWithSuper_es6.ts, 0, 0))
126+ >x : Symbol(A.x, Decl(asyncMethodWithSuper_es6.ts, 0, 9))
127+
128+ // element access in async arrow
129+ (async () => super["x"]());
130+ >super : Symbol(A, Decl(asyncMethodWithSuper_es6.ts, 0, 0))
131+ >"x" : Symbol(A.x, Decl(asyncMethodWithSuper_es6.ts, 0, 9))
132+ }
133+
134+ async property_access_only_read_only() {
135+ >property_access_only_read_only : Symbol(B.property_access_only_read_only, Decl(asyncMethodWithSuper_es6.ts, 64, 5))
136+
137+ // call with property access
138+ super.x();
139+ >super.x : Symbol(A.x, Decl(asyncMethodWithSuper_es6.ts, 0, 9))
140+ >super : Symbol(A, Decl(asyncMethodWithSuper_es6.ts, 0, 0))
141+ >x : Symbol(A.x, Decl(asyncMethodWithSuper_es6.ts, 0, 9))
142+
143+ // property access (read)
144+ const a = super.x;
145+ >a : Symbol(a, Decl(asyncMethodWithSuper_es6.ts, 71, 13))
146+ >super.x : Symbol(A.x, Decl(asyncMethodWithSuper_es6.ts, 0, 9))
147+ >super : Symbol(A, Decl(asyncMethodWithSuper_es6.ts, 0, 0))
148+ >x : Symbol(A.x, Decl(asyncMethodWithSuper_es6.ts, 0, 9))
149+
150+ // property access in arrow
151+ (() => super.x());
152+ >super.x : Symbol(A.x, Decl(asyncMethodWithSuper_es6.ts, 0, 9))
153+ >super : Symbol(A, Decl(asyncMethodWithSuper_es6.ts, 0, 0))
154+ >x : Symbol(A.x, Decl(asyncMethodWithSuper_es6.ts, 0, 9))
155+
156+ // property access in async arrow
157+ (async () => super.x());
158+ >super.x : Symbol(A.x, Decl(asyncMethodWithSuper_es6.ts, 0, 9))
159+ >super : Symbol(A, Decl(asyncMethodWithSuper_es6.ts, 0, 0))
160+ >x : Symbol(A.x, Decl(asyncMethodWithSuper_es6.ts, 0, 9))
161+ }
162+
163+ async property_access_only_write_only() {
164+ >property_access_only_write_only : Symbol(B.property_access_only_write_only, Decl(asyncMethodWithSuper_es6.ts, 78, 5))
165+
166+ const f = () => {};
167+ >f : Symbol(f, Decl(asyncMethodWithSuper_es6.ts, 81, 13))
168+
169+ // property access (assign)
170+ super.x = f;
171+ >super.x : Symbol(A.x, Decl(asyncMethodWithSuper_es6.ts, 0, 9))
172+ >super : Symbol(A, Decl(asyncMethodWithSuper_es6.ts, 0, 0))
173+ >x : Symbol(A.x, Decl(asyncMethodWithSuper_es6.ts, 0, 9))
174+ >f : Symbol(f, Decl(asyncMethodWithSuper_es6.ts, 81, 13))
175+
176+ // destructuring assign with property access
177+ ({ f: super.x } = { f });
178+ >f : Symbol(f, Decl(asyncMethodWithSuper_es6.ts, 87, 10))
179+ >super.x : Symbol(A.x, Decl(asyncMethodWithSuper_es6.ts, 0, 9))
180+ >super : Symbol(A, Decl(asyncMethodWithSuper_es6.ts, 0, 0))
181+ >x : Symbol(A.x, Decl(asyncMethodWithSuper_es6.ts, 0, 9))
182+ >f : Symbol(f, Decl(asyncMethodWithSuper_es6.ts, 87, 27))
183+
184+ // property access (assign) in arrow
185+ (() => super.x = f);
186+ >super.x : Symbol(A.x, Decl(asyncMethodWithSuper_es6.ts, 0, 9))
187+ >super : Symbol(A, Decl(asyncMethodWithSuper_es6.ts, 0, 0))
188+ >x : Symbol(A.x, Decl(asyncMethodWithSuper_es6.ts, 0, 9))
189+ >f : Symbol(f, Decl(asyncMethodWithSuper_es6.ts, 81, 13))
190+
191+ // property access (assign) in async arrow
192+ (async () => super.x = f);
193+ >super.x : Symbol(A.x, Decl(asyncMethodWithSuper_es6.ts, 0, 9))
194+ >super : Symbol(A, Decl(asyncMethodWithSuper_es6.ts, 0, 0))
195+ >x : Symbol(A.x, Decl(asyncMethodWithSuper_es6.ts, 0, 9))
196+ >f : Symbol(f, Decl(asyncMethodWithSuper_es6.ts, 81, 13))
197+ }
198+
199+ async element_access_only_read_only() {
200+ >element_access_only_read_only : Symbol(B.element_access_only_read_only, Decl(asyncMethodWithSuper_es6.ts, 94, 5))
201+
202+ // call with element access
203+ super["x"]();
204+ >super : Symbol(A, Decl(asyncMethodWithSuper_es6.ts, 0, 0))
205+ >"x" : Symbol(A.x, Decl(asyncMethodWithSuper_es6.ts, 0, 9))
206+
207+ // element access (read)
208+ const a = super["x"];
209+ >a : Symbol(a, Decl(asyncMethodWithSuper_es6.ts, 101, 13))
210+ >super : Symbol(A, Decl(asyncMethodWithSuper_es6.ts, 0, 0))
211+ >"x" : Symbol(A.x, Decl(asyncMethodWithSuper_es6.ts, 0, 9))
212+
213+ // element access in arrow
214+ (() => super["x"]());
215+ >super : Symbol(A, Decl(asyncMethodWithSuper_es6.ts, 0, 0))
216+ >"x" : Symbol(A.x, Decl(asyncMethodWithSuper_es6.ts, 0, 9))
217+
218+ // element access in async arrow
219+ (async () => super["x"]());
220+ >super : Symbol(A, Decl(asyncMethodWithSuper_es6.ts, 0, 0))
221+ >"x" : Symbol(A.x, Decl(asyncMethodWithSuper_es6.ts, 0, 9))
222+ }
223+
224+ async element_access_only_write_only() {
225+ >element_access_only_write_only : Symbol(B.element_access_only_write_only, Decl(asyncMethodWithSuper_es6.ts, 108, 5))
226+
227+ const f = () => {};
228+ >f : Symbol(f, Decl(asyncMethodWithSuper_es6.ts, 111, 13))
229+
230+ // element access (assign)
231+ super["x"] = f;
232+ >super : Symbol(A, Decl(asyncMethodWithSuper_es6.ts, 0, 0))
233+ >"x" : Symbol(A.x, Decl(asyncMethodWithSuper_es6.ts, 0, 9))
234+ >f : Symbol(f, Decl(asyncMethodWithSuper_es6.ts, 111, 13))
235+
236+ // destructuring assign with element access
237+ ({ f: super["x"] } = { f });
238+ >f : Symbol(f, Decl(asyncMethodWithSuper_es6.ts, 117, 10))
239+ >super : Symbol(A, Decl(asyncMethodWithSuper_es6.ts, 0, 0))
240+ >"x" : Symbol(A.x, Decl(asyncMethodWithSuper_es6.ts, 0, 9))
241+ >f : Symbol(f, Decl(asyncMethodWithSuper_es6.ts, 117, 30))
242+
243+ // element access (assign) in arrow
244+ (() => super["x"] = f);
245+ >super : Symbol(A, Decl(asyncMethodWithSuper_es6.ts, 0, 0))
246+ >"x" : Symbol(A.x, Decl(asyncMethodWithSuper_es6.ts, 0, 9))
247+ >f : Symbol(f, Decl(asyncMethodWithSuper_es6.ts, 111, 13))
248+
249+ // element access (assign) in async arrow
250+ (async () => super["x"] = f);
251+ >super : Symbol(A, Decl(asyncMethodWithSuper_es6.ts, 0, 0))
252+ >"x" : Symbol(A.x, Decl(asyncMethodWithSuper_es6.ts, 0, 9))
253+ >f : Symbol(f, Decl(asyncMethodWithSuper_es6.ts, 111, 13))
110254 }
111255}
112256
0 commit comments