@swf2es/runtime 0.1.18 → 0.1.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -35,6 +35,12 @@ export declare class DictionaryKeys {
35
35
  private readonly spare;
36
36
  /** The slot of each dynamic property's name. */
37
37
  private named;
38
+ /**
39
+ * A weak Dictionary's entries that this job's for-ins have read from
40
+ * their slots, each at its slot's index, null where none was; null
41
+ * outside a job that walks it.
42
+ */
43
+ private opened;
38
44
  constructor(weak: boolean);
39
45
  get(key: object): Value;
40
46
  has(key: object): boolean;
@@ -58,15 +64,26 @@ export declare class DictionaryKeys {
58
64
  * those added theirs.
59
65
  */
60
66
  next(o: AsObject, index: number): number;
67
+ /** As next, for weak keys: each slot's WeakRef is read once a job, then its entry kept. */
68
+ private nextWeak;
69
+ /** Starts keeping the entries read from the slots, until the job ends. */
70
+ private keepOpened;
71
+ /** Lets go of the entries kept: the job that read them is over. */
72
+ close(): void;
61
73
  /** The name at a for-in's index: a key, a dynamic property's name, or "" once a key is gone. */
62
74
  nameAt(index: number): object | string;
63
75
  /** The value at a for-in's index: a key's, undefined once it is gone, or NAMED. */
64
76
  valueAt(index: number): Value;
77
+ /** The entry slot `i` holds: a weak one as this job's for-in read it, if it did. */
78
+ private at;
65
79
  /** The entry a slot or `added` holds, or undefined once its key is collected. */
66
80
  private open;
67
81
  private hold;
68
82
  private entries;
69
- /** Those of `added` still there; the others are let go, their keys with them. */
83
+ /**
84
+ * Those of `added` still there; the others are let go, their keys with
85
+ * them. Their entries go into `entries`, for a caller to read none twice.
86
+ */
70
87
  private settle;
71
88
  private start;
72
89
  }
@@ -1 +1 @@
1
- {"version":3,"file":"dictionary-keys.d.ts","sourceRoot":"","sources":["../../src/avm2/dictionary-keys.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAKxD,4FAA4F;AAC5F,eAAO,MAAM,KAAK,eAAkB,CAAC;AAwBrC;;;;;;;;;GASG;AACH,qBAAa,cAAc;IACzB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB;;;;;;OAMG;IACH,OAAO,CAAC,QAAQ,CAAC,GAAG,CAA8C;IAClE,+EAA+E;IAC/E,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgC;IACtD,0FAA0F;IAC1F,OAAO,CAAC,KAAK,CAAc;IAC3B,8FAA8F;IAC9F,OAAO,CAAC,UAAU,CAAM;IACxB,4FAA4F;IAC5F,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAe;IACvC,wFAAwF;IACxF,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAgB;IAC1C,sFAAsF;IACtF,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAe;IACrC,gDAAgD;IAChD,OAAO,CAAC,KAAK,CAAoC;IAEjD,YAAY,IAAI,EAAE,OAAO,EAGxB;IAED,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAGtB;IAED,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAGxB;IAED,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI,CAMnC;IAED;;;;OAIG;IACH,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAQ1C;IAED,sDAAsD;IACtD,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI,CAUnC;IAED,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAc3B;IAED,2FAA2F;IAC1F,IAAI,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAIhC;IAEA,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,gBAAgB,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAItD;IAED,IAAI,IAAI,IAAI,MAAM,CAOjB;IAED;;;;OAIG;IACH,IAAI,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CA8BvC;IAED,gGAAgG;IAChG,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAOrC;IAED,mFAAmF;IACnF,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,CAY5B;IAED,iFAAiF;IACjF,OAAO,CAAC,IAAI;IAIZ,OAAO,CAAC,IAAI;IAIZ,OAAO,CAAE,OAAO;IAiBhB,iFAAiF;IACjF,OAAO,CAAC,MAAM;IAsBd,OAAO,CAAC,KAAK;CAsEd"}
1
+ {"version":3,"file":"dictionary-keys.d.ts","sourceRoot":"","sources":["../../src/avm2/dictionary-keys.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAKxD,4FAA4F;AAC5F,eAAO,MAAM,KAAK,eAAkB,CAAC;AA0CrC;;;;;;;;;GASG;AACH,qBAAa,cAAc;IACzB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB;;;;;;OAMG;IACH,OAAO,CAAC,QAAQ,CAAC,GAAG,CAA8C;IAClE,+EAA+E;IAC/E,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgC;IACtD,0FAA0F;IAC1F,OAAO,CAAC,KAAK,CAAc;IAC3B,8FAA8F;IAC9F,OAAO,CAAC,UAAU,CAAM;IACxB,4FAA4F;IAC5F,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAe;IACvC,wFAAwF;IACxF,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAgB;IAC1C,sFAAsF;IACtF,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAe;IACrC,gDAAgD;IAChD,OAAO,CAAC,KAAK,CAAoC;IACjD;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAiC;IAE/C,YAAY,IAAI,EAAE,OAAO,EAGxB;IAED,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAGtB;IAED,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAGxB;IAED,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI,CAMnC;IAED;;;;OAIG;IACH,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAQ1C;IAED,sDAAsD;IACtD,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI,CAUnC;IAED,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAc3B;IAED,2FAA2F;IAC1F,IAAI,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAIhC;IAEA,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,gBAAgB,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAItD;IAED,IAAI,IAAI,IAAI,MAAM,CAOjB;IAED;;;;OAIG;IACH,IAAI,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAkCvC;IAED,2FAA2F;IAC3F,OAAO,CAAC,QAAQ;IAsChB,0EAA0E;IAC1E,OAAO,CAAC,UAAU;IAalB,mEAAmE;IACnE,KAAK,IAAI,IAAI,CAEZ;IAED,gGAAgG;IAChG,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAOrC;IAED,mFAAmF;IACnF,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,CAY5B;IAED,oFAAoF;IACpF,OAAO,CAAC,EAAE;IAQV,iFAAiF;IACjF,OAAO,CAAC,IAAI;IAIZ,OAAO,CAAC,IAAI;IAIZ,OAAO,CAAE,OAAO;IAiBhB;;;OAGG;IACH,OAAO,CAAC,MAAM;IAuBd,OAAO,CAAC,KAAK;CAqFd"}
@@ -5,7 +5,10 @@
5
5
  // Dictionary(true)) keep no key alive, as Flash's do not: their entries are
6
6
  // held strongly only by a WeakMap keyed by the key, and their slots hold
7
7
  // them weakly, so neither a for-in left off nor a value that refers to its
8
- // key keeps the key.
8
+ // key keeps the key. Reading a slot's WeakRef is the cost of a weak walk,
9
+ // so the entries one reads are kept beside the slots until the job ends,
10
+ // which is as long as the engine itself keeps what a WeakRef gave: a step's
11
+ // name and value, and the walks after it in that job, read none again.
9
12
  /** The value of an entry not there: deleted, or kept spare. No ActionScript value is a symbol. */
10
13
  const GONE = Symbol("gone");
11
14
  /** What valueAt gives where a dynamic property's name is, whose value is the property's. */
@@ -28,6 +31,21 @@ class WeakEntry extends Entry {
28
31
  /** How the slots hold it. */
29
32
  ref = new WeakRef(this);
30
33
  }
34
+ /**
35
+ * The weak Dictionaries whose slots' entries are kept open in this job, and
36
+ * whether their closing at its end is asked for. deref() makes the engine
37
+ * keep its target until the job ends, so an entry kept that long keeps no
38
+ * key the walk that read it did not; kept longer, it would.
39
+ */
40
+ const openedInJob = [];
41
+ let closing = false;
42
+ function closeOpened() {
43
+ for (let i = 0; i < openedInJob.length; i++) {
44
+ openedInJob[i].close();
45
+ }
46
+ openedInJob.length = 0;
47
+ closing = false;
48
+ }
31
49
  /**
32
50
  * As avmplus' hashtable, a name keeps its slot while it is there, so that a
33
51
  * for-in started inside another never moves the outer one's names. One
@@ -62,6 +80,12 @@ export class DictionaryKeys {
62
80
  spare = [];
63
81
  /** The slot of each dynamic property's name. */
64
82
  named = null;
83
+ /**
84
+ * A weak Dictionary's entries that this job's for-ins have read from
85
+ * their slots, each at its slot's index, null where none was; null
86
+ * outside a job that walks it.
87
+ */
88
+ opened = null;
65
89
  constructor(weak) {
66
90
  this.weak = weak;
67
91
  this.map = weak ? new WeakMap() : new Map();
@@ -145,6 +169,9 @@ export class DictionaryKeys {
145
169
  if (index === 0) {
146
170
  this.start(o);
147
171
  }
172
+ if (this.weak) {
173
+ return this.nextWeak(o, index);
174
+ }
148
175
  const slots = this.slots;
149
176
  for (let i = index; i < slots.length; i++) {
150
177
  const held = slots[i];
@@ -168,13 +195,61 @@ export class DictionaryKeys {
168
195
  }
169
196
  return 0;
170
197
  }
198
+ /** As next, for weak keys: each slot's WeakRef is read once a job, then its entry kept. */
199
+ nextWeak(o, index) {
200
+ const slots = this.slots;
201
+ const opened = this.opened ?? this.keepOpened();
202
+ for (let i = index; i < slots.length; i++) {
203
+ let entry = opened[i];
204
+ if (entry === null) {
205
+ const held = slots[i];
206
+ if (held === null) {
207
+ continue;
208
+ }
209
+ if (typeof held === "string") {
210
+ if (o.$d?.has(held) && !o.$dontEnum?.has(held)) {
211
+ return i + 1;
212
+ }
213
+ continue;
214
+ }
215
+ const read = held.deref();
216
+ if (read === undefined) {
217
+ slots[i] = null;
218
+ this.collected.push(i);
219
+ continue;
220
+ }
221
+ entry = read;
222
+ opened[i] = read;
223
+ }
224
+ if (entry.value !== GONE) {
225
+ return i + 1;
226
+ }
227
+ }
228
+ return 0;
229
+ }
230
+ /** Starts keeping the entries read from the slots, until the job ends. */
231
+ keepOpened() {
232
+ const opened = new Array(this.slots.length).fill(null);
233
+ this.opened = opened;
234
+ openedInJob.push(this);
235
+ if (!closing) {
236
+ closing = true;
237
+ // A microtask runs before the job ends, when the engine lets go of what deref() gave.
238
+ void Promise.resolve().then(closeOpened);
239
+ }
240
+ return opened;
241
+ }
242
+ /** Lets go of the entries kept: the job that read them is over. */
243
+ close() {
244
+ this.opened = null;
245
+ }
171
246
  /** The name at a for-in's index: a key, a dynamic property's name, or "" once a key is gone. */
172
247
  nameAt(index) {
173
248
  const held = this.slots[index - 1];
174
249
  if (held === null || held === undefined) {
175
250
  return "";
176
251
  }
177
- return typeof held === "string" ? held : (this.open(held)?.key ?? "");
252
+ return typeof held === "string" ? held : (this.at(held, index - 1)?.key ?? "");
178
253
  }
179
254
  /** The value at a for-in's index: a key's, undefined once it is gone, or NAMED. */
180
255
  valueAt(index) {
@@ -185,9 +260,16 @@ export class DictionaryKeys {
185
260
  if (typeof held === "string") {
186
261
  return NAMED;
187
262
  }
188
- const value = this.open(held)?.value;
263
+ const value = this.at(held, index - 1)?.value;
189
264
  return value === GONE ? undefined : value;
190
265
  }
266
+ /** The entry slot `i` holds: a weak one as this job's for-in read it, if it did. */
267
+ at(held, i) {
268
+ if (!this.weak) {
269
+ return held;
270
+ }
271
+ return this.opened?.[i] ?? held.deref();
272
+ }
191
273
  /** The entry a slot or `added` holds, or undefined once its key is collected. */
192
274
  open(held) {
193
275
  return this.weak ? held.deref() : held;
@@ -210,8 +292,11 @@ export class DictionaryKeys {
210
292
  }
211
293
  }
212
294
  }
213
- /** Those of `added` still there; the others are let go, their keys with them. */
214
- settle(added) {
295
+ /**
296
+ * Those of `added` still there; the others are let go, their keys with
297
+ * them. Their entries go into `entries`, for a caller to read none twice.
298
+ */
299
+ settle(added, entries) {
215
300
  let kept = 0;
216
301
  for (let i = 0; i < added.length; i++) {
217
302
  const held = added[i];
@@ -221,6 +306,7 @@ export class DictionaryKeys {
221
306
  }
222
307
  if (entry.value !== GONE) {
223
308
  added[kept++] = held;
309
+ entries?.push(entry);
224
310
  }
225
311
  else {
226
312
  this.map.delete(entry.key);
@@ -242,10 +328,15 @@ export class DictionaryKeys {
242
328
  return;
243
329
  }
244
330
  const slots = this.slots;
331
+ // In step with the slots: an entry freed is no longer its slot's, one given a slot is.
332
+ const opened = this.opened;
245
333
  const free = [];
246
334
  for (let i = 0; i < deleted.length; i++) {
247
335
  const entry = deleted[i];
248
336
  slots[entry.slot] = null;
337
+ if (opened !== null) {
338
+ opened[entry.slot] = null;
339
+ }
249
340
  free.push(entry.slot);
250
341
  entry.slot = -1;
251
342
  this.spare.push(entry);
@@ -275,14 +366,23 @@ export class DictionaryKeys {
275
366
  const i = next < free.length ? free[next++] : slots.length;
276
367
  slots[i] = name;
277
368
  this.named.set(name, i);
369
+ if (opened !== null) {
370
+ opened[i] = null;
371
+ }
278
372
  }
279
373
  }
280
374
  }
281
- const added = this.settle(this.added);
375
+ const entries = [];
376
+ const added = this.settle(this.added, entries);
282
377
  for (let n = 0; n < added.length; n++) {
283
378
  const i = next < free.length ? free[next++] : slots.length;
379
+ const entry = entries[n];
284
380
  slots[i] = added[n];
285
- this.open(added[n]).slot = i;
381
+ entry.slot = i;
382
+ if (opened !== null) {
383
+ // settle read it, so the engine keeps it for this job already.
384
+ opened[i] = entry;
385
+ }
286
386
  }
287
387
  // Kept for as many keys as were added since the last start, as the next
288
388
  // may add as many again; an emptied Dictionary keeps almost none.
@@ -1 +1 @@
1
- {"version":3,"file":"dictionary-keys.js","sourceRoot":"","sources":["../../src/avm2/dictionary-keys.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dictionary-keys.js","sourceRoot":"","sources":["../../src/avm2/dictionary-keys.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,2EAA2E;AAC3E,wEAAwE;AACxE,sEAAsE;AACtE,4EAA4E;AAC5E,yEAAyE;AACzE,2EAA2E;AAC3E,0EAA0E;AAC1E,yEAAyE;AACzE,4EAA4E;AAC5E,uEAAuE;AAIvE,kGAAkG;AAClG,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;AAE5B,4FAA4F;AAC5F,MAAM,CAAC,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;AAErC;;;;;GAKG;AACH,MAAM,KAAK;IACT,qCAAqC;IACrC,GAAG,GAAkB,IAAI,CAAC;IAC1B,yFAAyF;IACzF,KAAK,GAAU,IAAI,CAAC;IACpB,2DAA2D;IAC3D,IAAI,GAAG,CAAC,CAAC,CAAC;CACX;AAED,MAAM,SAAU,SAAQ,KAAK;IAC3B,6BAA6B;IACpB,GAAG,GAAG,IAAI,OAAO,CAAQ,IAAI,CAAC,CAAC;CACzC;AAID;;;;;GAKG;AACH,MAAM,WAAW,GAAqB,EAAE,CAAC;AACzC,IAAI,OAAO,GAAG,KAAK,CAAC;AAEpB,SAAS,WAAW;IAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5C,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;IAED,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;IACvB,OAAO,GAAG,KAAK,CAAC;AAClB,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,OAAO,cAAc;IAChB,IAAI,CAAU;IACvB;;;;;;OAMG;IACc,GAAG,CAA8C;IAClE,+EAA+E;IAC9D,KAAK,GAA6B,EAAE,CAAC;IACtD,0FAA0F;IAClF,KAAK,GAAW,EAAE,CAAC;IAC3B,8FAA8F;IACtF,UAAU,GAAG,EAAE,CAAC;IACxB,4FAA4F;IAC3E,OAAO,GAAY,EAAE,CAAC;IACvC,wFAAwF;IACvE,SAAS,GAAa,EAAE,CAAC;IAC1C,sFAAsF;IACrE,KAAK,GAAY,EAAE,CAAC;IACrC,gDAAgD;IACxC,KAAK,GAA+B,IAAI,CAAC;IACjD;;;;OAIG;IACK,MAAM,GAA4B,IAAI,CAAC;IAE/C,YAAY,IAAa;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC;IAC9C,CAAC;IAED,GAAG,CAAC,GAAW;QACb,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC;QACvC,OAAO,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;IAC5C,CAAC;IAED,GAAG,CAAC,GAAW;QACb,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAChC,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC;IACrD,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,KAAY;QAC3B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACvB,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACH,OAAO,CAAC,GAAW,EAAE,KAAY;QAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAChC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,sDAAsD;IACtD,GAAG,CAAC,GAAW,EAAE,KAAY;QAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;QAC9E,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC;QAChB,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACzB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAClC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACzC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IAED,MAAM,CAAC,GAAW;QAChB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAChC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YAChD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;QACnB,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC;YACpB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACrB,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,2FAA2F;IAC3F,CAAC,IAAI;QACH,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;YACnC,MAAM,KAAK,CAAC,GAAa,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;QAChB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;YACnC,MAAM,CAAC,KAAK,CAAC,GAAa,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IAED,IAAI,IAAI;QACN,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;YAC/B,CAAC,EAAE,CAAC;QACN,CAAC;QAED,OAAO,CAAC,CAAC;IACX,CAAC;IAED;;;;OAIG;IACH,IAAI,CAAC,CAAW,EAAE,KAAa;QAC7B,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YAChB,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAChB,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACjC,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1C,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBAClB,SAAS;YACX,CAAC;YAED,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC7B,IAAI,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC/C,OAAO,CAAC,GAAG,CAAC,CAAC;gBACf,CAAC;gBAED,SAAS;YACX,CAAC;YAED,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;gBAChB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACzB,CAAC;iBAAM,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;gBAChC,OAAO,CAAC,GAAG,CAAC,CAAC;YACf,CAAC;QACH,CAAC;QAED,OAAO,CAAC,CAAC;IACX,CAAC;IAED,2FAA2F;IACnF,QAAQ,CAAC,CAAW,EAAE,KAAa;QACzC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QAChD,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1C,IAAI,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACtB,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACnB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACtB,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;oBAClB,SAAS;gBACX,CAAC;gBAED,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC7B,IAAI,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC/C,OAAO,CAAC,GAAG,CAAC,CAAC;oBACf,CAAC;oBAED,SAAS;gBACX,CAAC;gBAED,MAAM,IAAI,GAAI,IAAuB,CAAC,KAAK,EAAE,CAAC;gBAC9C,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;oBACvB,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;oBAChB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBACvB,SAAS;gBACX,CAAC;gBAED,KAAK,GAAG,IAAI,CAAC;gBACb,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;YACnB,CAAC;YAED,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;gBACzB,OAAO,CAAC,GAAG,CAAC,CAAC;YACf,CAAC;QACH,CAAC;QAED,OAAO,CAAC,CAAC;IACX,CAAC;IAED,0EAA0E;IAClE,UAAU;QAChB,MAAM,MAAM,GAAqB,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,GAAG,IAAI,CAAC;YACf,sFAAsF;YACtF,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC3C,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,mEAAmE;IACnE,KAAK;QACH,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;IACrB,CAAC;IAED,gGAAgG;IAChG,MAAM,CAAC,KAAa;QAClB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QACnC,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACxC,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,OAAO,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC;IACjF,CAAC;IAED,mFAAmF;IACnF,OAAO,CAAC,KAAa;QACnB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QACnC,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACxC,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC;QAC9C,OAAO,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;IAC5C,CAAC;IAED,oFAAoF;IAC5E,EAAE,CAAC,IAAU,EAAE,CAAS;QAC9B,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACf,OAAO,IAAa,CAAC;QACvB,CAAC;QAED,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAK,IAAuB,CAAC,KAAK,EAAE,CAAC;IAC9D,CAAC;IAED,iFAAiF;IACzE,IAAI,CAAC,IAAU;QACrB,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAE,IAAuB,CAAC,KAAK,EAAE,CAAC,CAAC,CAAE,IAAc,CAAC;IACxE,CAAC;IAEO,IAAI,CAAC,KAAY;QACvB,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAE,KAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;IACtD,CAAC;IAEO,CAAC,OAAO;QACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC3B,MAAM,KAAK,GAAG,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtF,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;gBAChD,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACvC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;gBAChD,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,MAAM,CAAC,KAAa,EAAE,OAAiB;QAC7C,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,SAAS;YACX,CAAC;YAED,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;gBACzB,KAAK,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;gBACrB,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YACvB,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAa,CAAC,CAAC;gBACrC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC;gBACjB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;QAED,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;QACpB,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,KAAK,CAAC,CAAW;QACvB,MAAM,CAAC,GAAqC,CAAC,CAAC,EAAE,CAAC;QACjD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,IACE,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;YACvB,OAAO,CAAC,MAAM,KAAK,CAAC;YACpB,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;YAC3B,CAAC,CAAC,EAAE,IAAI;YACR,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EACjB,CAAC;YACD,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,uFAAuF;QACvF,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,MAAM,IAAI,GAAa,EAAE,CAAC;QAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACxC,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACzB,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;YACzB,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;gBACpB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;YAC5B,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACtB,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;YAChB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC;QAED,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;QACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/C,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/B,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;QAC1B,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YACxB,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBACnC,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;oBAClB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBACxB,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;oBAChB,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACf,CAAC;YACH,CAAC;QACH,CAAC;QAED,gEAAgE;QAChE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3B,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,sFAAsF;QACtF,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC;YAClD,IAAI,CAAC,KAAK,KAAK,IAAI,GAAG,EAAE,CAAC;YACzB,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;gBAC5B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC1B,MAAM,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;oBAC3D,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;oBAChB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;oBACxB,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;wBACpB,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;oBACnB,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,OAAO,GAAY,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;YAC3D,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACzB,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACpB,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;YACf,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;gBACpB,+DAA+D;gBAC/D,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;YACpB,CAAC;QACH,CAAC;QAED,wEAAwE;QACxE,kEAAkE;QAClE,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;YAC1C,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC;QACxC,CAAC;QAED,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;IACvB,CAAC;CACF"}
@@ -1,5 +1,7 @@
1
1
  import type { AsObject, Value } from "./descriptors.js";
2
2
  import { DictionaryKeys } from "./dictionary-keys.js";
3
+ import { FloatVector } from "./natives/float-vector.js";
4
+ import type { Traits } from "./traits.js";
3
5
  /**
4
6
  * What for-ins over one object keep apart from its names: elements are
5
7
  * walked by index and get no slots. Its dynamic properties keep their
@@ -25,6 +27,8 @@ interface SparseIndices {
25
27
  /** How many were given since they were taken, and whether they were taken again since this for-in met them. */
26
28
  sinceTaken: number;
27
29
  retaken: boolean;
30
+ /** Whether avmplus holds the Array's elements in its hashtable (see hashed). */
31
+ hashed: boolean;
28
32
  }
29
33
  /** A name a for-in goes through: a string, or an object a Dictionary is keyed by. */
30
34
  export type EnumeratedName = string | object;
@@ -36,7 +40,15 @@ export declare function ownNames(o: AsObject): EnumeratedName[];
36
40
  * The name of `o`, not a Dictionary, at a for-in's index among the names
37
41
  * past its elements, the index less their length.
38
42
  */
39
- export declare function enumerated(o: AsObject, at: number, index: number): string;
43
+ export declare function enumerated(o: AsObject, at: number, index: number): string | number;
44
+ /**
45
+ * The value of the element a step by a sparse Array's indices gave at
46
+ * for-in index `index`, negative, if `o` reads its elements as an Array
47
+ * does (`plain`) and it is still there; else `missing`.
48
+ */
49
+ export declare function sparseElement(o: AsObject, index: number, plain: boolean, missing: Value): Value;
50
+ /** The name of the element at a for-in's index, as a property's. */
51
+ export declare const elementName: (index: number) => string;
40
52
  /**
41
53
  * The index after `index` of an enumerable name of `o`, or 0. As avmplus'
42
54
  * ArrayObject and TypedVectorObject, the elements come first, by their
@@ -50,13 +62,20 @@ export declare function nextIndex(enumerating: WeakMap<object, Enumeration>, o:
50
62
  * values there; null for any other object.
51
63
  */
52
64
  export declare function dictionaryAt(o: AsObject, index: number): DictionaryKeys | null;
65
+ /**
66
+ * `o` has other elements than it had (its storage, not what is in it), or
67
+ * its first hidden name: a for-in's next step over it reads them again.
68
+ */
69
+ export declare function forgetStep(o: AsObject): void;
53
70
  /**
54
71
  * Whether a for-in's step over `o` at `index` goes on from the last one
55
72
  * nextIndex gave, so that `o` is an ordinary object: no hook, no QName.
56
73
  */
57
74
  export declare function continues(o: Value, index: number): boolean;
58
- /** The length of the elements of `o` at a for-in's index: where those end and its other names start. */
59
- export declare function elementsAt(o: AsObject, index: number): number;
75
+ /** The elements of `o` at a for-in's index, whose length is where those end and its other names start. */
76
+ export declare function elementsAt(o: AsObject, index: number): Value[] | FloatVector | undefined;
77
+ /** The traits of `o` at a for-in's index. */
78
+ export declare function traitsAt(o: AsObject, index: number): Traits | undefined;
60
79
  /**
61
80
  * Whether prototype `p` has nothing a for-in goes through, as most have:
62
81
  * no names but hidden methods, no elements, keys or hook. Then a for-in
@@ -1 +1 @@
1
- {"version":3,"file":"enumeration.d.ts","sourceRoot":"","sources":["../../src/avm2/enumeration.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAKtD;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B,yDAAyD;IACzD,MAAM,CAAC,EAAE,aAAa,CAAC;CACxB;AAED;;;;GAIG;AACH,UAAU,aAAa;IACrB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,+DAA+D;IAC/D,MAAM,EAAE,MAAM,CAAC;IACf,uGAAuG;IACvG,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,+GAA+G;IAC/G,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;CAClB;AAqCD,qFAAqF;AACrF,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,MAAM,CAAC;AAE7C,+FAA+F;AAC/F,eAAO,MAAM,cAAc,YAAa,CAAC;AAEzC,2GAA2G;AAC3G,wBAAgB,QAAQ,CAAC,CAAC,EAAE,QAAQ,GAAG,cAAc,EAAE,CAuBtD;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAOzE;AAOD;;;;;;GAMG;AACH,wBAAgB,SAAS,CACvB,WAAW,EAAE,OAAO,CAAC,MAAM,EAAE,WAAW,CAAC,EACzC,CAAC,EAAE,QAAQ,EACX,KAAK,EAAE,MAAM,GACZ,MAAM,CA2BR;AAkBD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAE9E;AAwBD;;;GAGG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAE1D;AAED,wGAAwG;AACxG,wBAAgB,UAAU,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAM7D;AA8ND;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,QAAQ,GAAG,OAAO,CAa7C;AAyBD;;;GAGG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,IAAI,CAM9C;AAED,eAAO,MAAM,SAAS,UAAW,MAAM,WAAgC,CAAC"}
1
+ {"version":3,"file":"enumeration.d.ts","sourceRoot":"","sources":["../../src/avm2/enumeration.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAGtD,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B,yDAAyD;IACzD,MAAM,CAAC,EAAE,aAAa,CAAC;CACxB;AAED;;;;GAIG;AACH,UAAU,aAAa;IACrB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,+DAA+D;IAC/D,MAAM,EAAE,MAAM,CAAC;IACf,uGAAuG;IACvG,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,+GAA+G;IAC/G,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,gFAAgF;IAChF,MAAM,EAAE,OAAO,CAAC;CACjB;AAqCD,qFAAqF;AACrF,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,MAAM,CAAC;AAE7C,+FAA+F;AAC/F,eAAO,MAAM,cAAc,YAAa,CAAC;AAEzC,2GAA2G;AAC3G,wBAAgB,QAAQ,CAAC,CAAC,EAAE,QAAQ,GAAG,cAAc,EAAE,CAuBtD;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAOlF;AAiBD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,GAAG,KAAK,CAU/F;AAED,oEAAoE;AACpE,eAAO,MAAM,WAAW,UAAW,MAAM,WAA+C,CAAC;AAOzF;;;;;;GAMG;AACH,wBAAgB,SAAS,CACvB,WAAW,EAAE,OAAO,CAAC,MAAM,EAAE,WAAW,CAAC,EACzC,CAAC,EAAE,QAAQ,EACX,KAAK,EAAE,MAAM,GACZ,MAAM,CA+CR;AAkBD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAE9E;AAiDD;;;GAGG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,QAAQ,GAAG,IAAI,CAI5C;AAYD;;;GAGG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAE1D;AAED,0GAA0G;AAC1G,wBAAgB,UAAU,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,KAAK,EAAE,GAAG,WAAW,GAAG,SAAS,CAExF;AAED,6CAA6C;AAC7C,wBAAgB,QAAQ,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAEvE;AAyUD;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,QAAQ,GAAG,OAAO,CAa7C;AAyBD;;;GAGG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,IAAI,CAM9C;AAED,eAAO,MAAM,SAAS,UAAW,MAAM,WAAgC,CAAC"}