@@ -154,123 +154,130 @@ getter.a = 12;
154154let spreadFunc = { ...(function () { }) };
155155>spreadFunc : Symbol(spreadFunc, Decl(objectSpread.ts, 37, 3))
156156
157+ // any results in any
158+ let anything: any;
159+ >anything : Symbol(anything, Decl(objectSpread.ts, 40, 3))
160+
161+ let spreadAny = { ...anything };
162+ >spreadAny : Symbol(spreadAny, Decl(objectSpread.ts, 41, 3))
163+
157164// methods are not enumerable
158165class C { p = 1; m() { } }
159- >C : Symbol(C, Decl(objectSpread.ts, 37, 42 ))
160- >p : Symbol(C.p, Decl(objectSpread.ts, 40 , 9))
161- >m : Symbol(C.m, Decl(objectSpread.ts, 40 , 16))
166+ >C : Symbol(C, Decl(objectSpread.ts, 41, 32 ))
167+ >p : Symbol(C.p, Decl(objectSpread.ts, 44 , 9))
168+ >m : Symbol(C.m, Decl(objectSpread.ts, 44 , 16))
162169
163170let c: C = new C()
164- >c : Symbol(c, Decl(objectSpread.ts, 41 , 3))
165- >C : Symbol(C, Decl(objectSpread.ts, 37, 42 ))
166- >C : Symbol(C, Decl(objectSpread.ts, 37, 42 ))
171+ >c : Symbol(c, Decl(objectSpread.ts, 45 , 3))
172+ >C : Symbol(C, Decl(objectSpread.ts, 41, 32 ))
173+ >C : Symbol(C, Decl(objectSpread.ts, 41, 32 ))
167174
168175let spreadC: { p: number } = { ...c }
169- >spreadC : Symbol(spreadC, Decl(objectSpread.ts, 42 , 3))
170- >p : Symbol(p, Decl(objectSpread.ts, 42 , 14))
176+ >spreadC : Symbol(spreadC, Decl(objectSpread.ts, 46 , 3))
177+ >p : Symbol(p, Decl(objectSpread.ts, 46 , 14))
171178
172179// own methods are enumerable
173180let cplus: { p: number, plus(): void } = { ...c, plus() { return this.p + 1; } };
174- >cplus : Symbol(cplus, Decl(objectSpread.ts, 45 , 3))
175- >p : Symbol(p, Decl(objectSpread.ts, 45 , 12))
176- >plus : Symbol(plus, Decl(objectSpread.ts, 45 , 23))
177- >plus : Symbol(plus, Decl(objectSpread.ts, 45 , 48))
181+ >cplus : Symbol(cplus, Decl(objectSpread.ts, 49 , 3))
182+ >p : Symbol(p, Decl(objectSpread.ts, 49 , 12))
183+ >plus : Symbol(plus, Decl(objectSpread.ts, 49 , 23))
184+ >plus : Symbol(plus, Decl(objectSpread.ts, 49 , 48))
178185
179186cplus.plus();
180- >cplus.plus : Symbol(plus, Decl(objectSpread.ts, 45 , 23))
181- >cplus : Symbol(cplus, Decl(objectSpread.ts, 45 , 3))
182- >plus : Symbol(plus, Decl(objectSpread.ts, 45 , 23))
187+ >cplus.plus : Symbol(plus, Decl(objectSpread.ts, 49 , 23))
188+ >cplus : Symbol(cplus, Decl(objectSpread.ts, 49 , 3))
189+ >plus : Symbol(plus, Decl(objectSpread.ts, 49 , 23))
183190
184191// new field's type conflicting with existing field is OK
185192let changeTypeAfter: { a: string, b: string } =
186- >changeTypeAfter : Symbol(changeTypeAfter, Decl(objectSpread.ts, 49 , 3))
187- >a : Symbol(a, Decl(objectSpread.ts, 49 , 22))
188- >b : Symbol(b, Decl(objectSpread.ts, 49 , 33))
193+ >changeTypeAfter : Symbol(changeTypeAfter, Decl(objectSpread.ts, 53 , 3))
194+ >a : Symbol(a, Decl(objectSpread.ts, 53 , 22))
195+ >b : Symbol(b, Decl(objectSpread.ts, 53 , 33))
189196
190197 { ...o, a: 'wrong type?' }
191- >a : Symbol(a, Decl(objectSpread.ts, 50 , 11))
198+ >a : Symbol(a, Decl(objectSpread.ts, 54 , 11))
192199
193200let changeTypeBefore: { a: number, b: string } =
194- >changeTypeBefore : Symbol(changeTypeBefore, Decl(objectSpread.ts, 51 , 3))
195- >a : Symbol(a, Decl(objectSpread.ts, 51 , 23))
196- >b : Symbol(b, Decl(objectSpread.ts, 51 , 34))
201+ >changeTypeBefore : Symbol(changeTypeBefore, Decl(objectSpread.ts, 55 , 3))
202+ >a : Symbol(a, Decl(objectSpread.ts, 55 , 23))
203+ >b : Symbol(b, Decl(objectSpread.ts, 55 , 34))
197204
198205 { a: 'wrong type?', ...o };
199- >a : Symbol(a, Decl(objectSpread.ts, 52 , 5))
206+ >a : Symbol(a, Decl(objectSpread.ts, 56 , 5))
200207
201208let changeTypeBoth: { a: string, b: number } =
202- >changeTypeBoth : Symbol(changeTypeBoth, Decl(objectSpread.ts, 53 , 3))
203- >a : Symbol(a, Decl(objectSpread.ts, 53 , 21))
204- >b : Symbol(b, Decl(objectSpread.ts, 53 , 32))
209+ >changeTypeBoth : Symbol(changeTypeBoth, Decl(objectSpread.ts, 57 , 3))
210+ >a : Symbol(a, Decl(objectSpread.ts, 57 , 21))
211+ >b : Symbol(b, Decl(objectSpread.ts, 57 , 32))
205212
206213 { ...o, ...swap };
207214
208215// optional
209216let definiteBoolean: { sn: boolean };
210- >definiteBoolean : Symbol(definiteBoolean, Decl(objectSpread.ts, 57 , 3))
211- >sn : Symbol(sn, Decl(objectSpread.ts, 57 , 22))
217+ >definiteBoolean : Symbol(definiteBoolean, Decl(objectSpread.ts, 61 , 3))
218+ >sn : Symbol(sn, Decl(objectSpread.ts, 61 , 22))
212219
213220let definiteString: { sn: string };
214- >definiteString : Symbol(definiteString, Decl(objectSpread.ts, 58 , 3))
215- >sn : Symbol(sn, Decl(objectSpread.ts, 58 , 21))
221+ >definiteString : Symbol(definiteString, Decl(objectSpread.ts, 62 , 3))
222+ >sn : Symbol(sn, Decl(objectSpread.ts, 62 , 21))
216223
217224let optionalString: { sn?: string };
218- >optionalString : Symbol(optionalString, Decl(objectSpread.ts, 59 , 3))
219- >sn : Symbol(sn, Decl(objectSpread.ts, 59 , 21))
225+ >optionalString : Symbol(optionalString, Decl(objectSpread.ts, 63 , 3))
226+ >sn : Symbol(sn, Decl(objectSpread.ts, 63 , 21))
220227
221228let optionalNumber: { sn?: number };
222- >optionalNumber : Symbol(optionalNumber, Decl(objectSpread.ts, 60 , 3))
223- >sn : Symbol(sn, Decl(objectSpread.ts, 60 , 21))
229+ >optionalNumber : Symbol(optionalNumber, Decl(objectSpread.ts, 64 , 3))
230+ >sn : Symbol(sn, Decl(objectSpread.ts, 64 , 21))
224231
225232let optionalUnionStops: { sn: string | number | boolean } = { ...definiteBoolean, ...definiteString, ...optionalNumber };
226- >optionalUnionStops : Symbol(optionalUnionStops, Decl(objectSpread.ts, 61 , 3))
227- >sn : Symbol(sn, Decl(objectSpread.ts, 61 , 25))
233+ >optionalUnionStops : Symbol(optionalUnionStops, Decl(objectSpread.ts, 65 , 3))
234+ >sn : Symbol(sn, Decl(objectSpread.ts, 65 , 25))
228235
229236let optionalUnionDuplicates: { sn: string | number } = { ...definiteBoolean, ...definiteString, ...optionalString, ...optionalNumber };
230- >optionalUnionDuplicates : Symbol(optionalUnionDuplicates, Decl(objectSpread.ts, 62 , 3))
231- >sn : Symbol(sn, Decl(objectSpread.ts, 62 , 30))
237+ >optionalUnionDuplicates : Symbol(optionalUnionDuplicates, Decl(objectSpread.ts, 66 , 3))
238+ >sn : Symbol(sn, Decl(objectSpread.ts, 66 , 30))
232239
233240let allOptional: { sn?: string | number } = { ...optionalString, ...optionalNumber };
234- >allOptional : Symbol(allOptional, Decl(objectSpread.ts, 63 , 3))
235- >sn : Symbol(sn, Decl(objectSpread.ts, 63 , 18))
241+ >allOptional : Symbol(allOptional, Decl(objectSpread.ts, 67 , 3))
242+ >sn : Symbol(sn, Decl(objectSpread.ts, 67 , 18))
236243
237244// computed property
238245let computedFirst: { a: number, b: string, "before everything": number } =
239- >computedFirst : Symbol(computedFirst, Decl(objectSpread.ts, 66 , 3))
240- >a : Symbol(a, Decl(objectSpread.ts, 66 , 20))
241- >b : Symbol(b, Decl(objectSpread.ts, 66 , 31))
246+ >computedFirst : Symbol(computedFirst, Decl(objectSpread.ts, 70 , 3))
247+ >a : Symbol(a, Decl(objectSpread.ts, 70 , 20))
248+ >b : Symbol(b, Decl(objectSpread.ts, 70 , 31))
242249
243250 { ['before everything']: 12, ...o, b: 'yes' }
244- >'before everything' : Symbol(['before everything'], Decl(objectSpread.ts, 67 , 5))
245- >b : Symbol(b, Decl(objectSpread.ts, 67 , 38))
251+ >'before everything' : Symbol(['before everything'], Decl(objectSpread.ts, 71 , 5))
252+ >b : Symbol(b, Decl(objectSpread.ts, 71 , 38))
246253
247254let computedMiddle: { a: number, b: string, c: boolean, "in the middle": number } =
248- >computedMiddle : Symbol(computedMiddle, Decl(objectSpread.ts, 68 , 3))
249- >a : Symbol(a, Decl(objectSpread.ts, 68 , 21))
250- >b : Symbol(b, Decl(objectSpread.ts, 68 , 32))
251- >c : Symbol(c, Decl(objectSpread.ts, 68 , 43))
255+ >computedMiddle : Symbol(computedMiddle, Decl(objectSpread.ts, 72 , 3))
256+ >a : Symbol(a, Decl(objectSpread.ts, 72 , 21))
257+ >b : Symbol(b, Decl(objectSpread.ts, 72 , 32))
258+ >c : Symbol(c, Decl(objectSpread.ts, 72 , 43))
252259
253260 { ...o, ['in the middle']: 13, b: 'maybe?', ...o2 }
254- >'in the middle' : Symbol(['in the middle'], Decl(objectSpread.ts, 69 , 11))
255- >b : Symbol(b, Decl(objectSpread.ts, 69 , 34))
261+ >'in the middle' : Symbol(['in the middle'], Decl(objectSpread.ts, 73 , 11))
262+ >b : Symbol(b, Decl(objectSpread.ts, 73 , 34))
256263
257264let computedAfter: { a: number, b: string, "at the end": number } =
258- >computedAfter : Symbol(computedAfter, Decl(objectSpread.ts, 70 , 3))
259- >a : Symbol(a, Decl(objectSpread.ts, 70 , 20))
260- >b : Symbol(b, Decl(objectSpread.ts, 70 , 31))
265+ >computedAfter : Symbol(computedAfter, Decl(objectSpread.ts, 74 , 3))
266+ >a : Symbol(a, Decl(objectSpread.ts, 74 , 20))
267+ >b : Symbol(b, Decl(objectSpread.ts, 74 , 31))
261268
262269 { ...o, b: 'yeah', ['at the end']: 14 }
263- >b : Symbol(b, Decl(objectSpread.ts, 71 , 11))
264- >'at the end' : Symbol(['at the end'], Decl(objectSpread.ts, 71 , 22))
270+ >b : Symbol(b, Decl(objectSpread.ts, 75 , 11))
271+ >'at the end' : Symbol(['at the end'], Decl(objectSpread.ts, 75 , 22))
265272
266273// shortcut syntax
267274let a = 12;
268- >a : Symbol(a, Decl(objectSpread.ts, 73 , 3))
275+ >a : Symbol(a, Decl(objectSpread.ts, 77 , 3))
269276
270277let shortCutted: { a: number, b: string } = { ...o, a }
271- >shortCutted : Symbol(shortCutted, Decl(objectSpread.ts, 74 , 3))
272- >a : Symbol(a, Decl(objectSpread.ts, 74 , 18))
273- >b : Symbol(b, Decl(objectSpread.ts, 74 , 29))
274- >a : Symbol(a, Decl(objectSpread.ts, 74 , 51))
278+ >shortCutted : Symbol(shortCutted, Decl(objectSpread.ts, 78 , 3))
279+ >a : Symbol(a, Decl(objectSpread.ts, 78 , 18))
280+ >b : Symbol(b, Decl(objectSpread.ts, 78 , 29))
281+ >a : Symbol(a, Decl(objectSpread.ts, 78 , 51))
275282
276283
0 commit comments