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.Serializable
This 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.Object
currentId
(package private) boolean
enumNumbers
(package private) int
enumType
(package private) java.lang.Object[]
ids
(package private) int
index
(package private) Scriptable
iterator
(package private) Scriptable
obj
private static long
serialVersionUID
(package private) ObjToIntMap
used
-
Constructor Summary
Constructors Modifier Constructor Description private
IdEnumeration()
-
-
-
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
-
-