Package org.htmlunit.corejs.javascript
Class ScriptRuntime.IdEnumeration
- java.lang.Object
-
- org.htmlunit.corejs.javascript.ScriptRuntime.IdEnumeration
-
- All Implemented Interfaces:
java.io.Serializable
- Enclosing class:
- ScriptRuntime
private static class ScriptRuntime.IdEnumeration extends java.lang.Object implements java.io.SerializableThis is the enumeration needed by the for..in statement.See ECMA 12.6.3.
IdEnumeration maintains a ObjToIntMap to make sure a given id is enumerated only once across multiple objects in a prototype chain.
XXX - ECMA delete doesn't hide properties in the prototype, but js/ref does. This means that the js/ref for..in can avoid maintaining a hash table and instead perform lookups to see if a given property has already been enumerated.
-
-
Field Summary
Fields Modifier and Type Field Description (package private) java.lang.ObjectcurrentId(package private) booleanenumNumbers(package private) intenumType(package private) java.lang.Object[]ids(package private) intindex(package private) Scriptableiterator(package private) Scriptableobjprivate static longserialVersionUID(package private) ObjToIntMapused
-
Constructor Summary
Constructors Modifier Constructor Description privateIdEnumeration()
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
- See Also:
- Constant Field Values
-
obj
Scriptable obj
-
ids
java.lang.Object[] ids
-
used
ObjToIntMap used
-
currentId
java.lang.Object currentId
-
index
int index
-
enumType
int enumType
-
enumNumbers
boolean enumNumbers
-
iterator
Scriptable iterator
-
-