Class 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.
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      private IdEnumeration()  
    • Method Summary

      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • ids

        java.lang.Object[] ids
      • currentId

        java.lang.Object currentId
      • index

        int index
      • enumType

        int enumType
      • enumNumbers

        boolean enumNumbers
    • Constructor Detail

      • IdEnumeration

        private IdEnumeration()