public static Object enumInit(Object value, Context cx, int enumType) { IdEnumeration x = new IdEnumeration(); x.obj = toObjectOrNull(cx, value); if (x.obj == null) { // null or undefined do not cause errors but rather lead to empty // "for in" loop return x; } x.enumType = enumType; x.iterator = null; if (enumType != ENUMERATE_KEYS_NO_ITERATOR && enumType != ENUMERATE_VALUES_NO_ITERATOR && enumType != ENUMERATE_ARRAY_NO_ITERATOR) { x.iterator = toIterator(cx, x.obj.getParentScope(), x.obj, enumType == ScriptRuntime.ENUMERATE_KEYS); } if (x.iterator == null) { // enumInit should read all initial ids before returning // or "for (a.i in a)" would wrongly enumerate i in a as well enumChangeObject(x); } return x; }
public static Object enumInit(Object value, Context cx, int enumType) { IdEnumeration x = new IdEnumeration(); x.obj = toObjectOrNull(cx, value); if (x.obj == null) { // null or undefined do not cause errors but rather lead to empty // "for in" loop return x; } x.enumType = enumType; x.iterator = null; if (enumType != ENUMERATE_KEYS_NO_ITERATOR && enumType != ENUMERATE_VALUES_NO_ITERATOR && enumType != ENUMERATE_ARRAY_NO_ITERATOR) { x.iterator = toIterator(cx, x.obj.getParentScope(), x.obj, enumType == ScriptRuntime.ENUMERATE_KEYS); } if (x.iterator == null) { // enumInit should read all initial ids before returning // or "for (a.i in a)" would wrongly enumerate i in a as well enumChangeObject(x); } return x; }
public static Object enumInit(Object value, Context cx, int enumType) { IdEnumeration x = new IdEnumeration(); x.obj = toObjectOrNull(cx, value); if (x.obj == null) { // null or undefined do not cause errors but rather lead to empty // "for in" loop return x; } x.enumType = enumType; x.iterator = null; if (enumType != ENUMERATE_KEYS_NO_ITERATOR && enumType != ENUMERATE_VALUES_NO_ITERATOR && enumType != ENUMERATE_ARRAY_NO_ITERATOR) { x.iterator = toIterator(cx, x.obj.getParentScope(), x.obj, enumType == ScriptRuntime.ENUMERATE_KEYS); } if (x.iterator == null) { // enumInit should read all initial ids before returning // or "for (a.i in a)" would wrongly enumerate i in a as well enumChangeObject(x); } return x; }
public static Object enumInit(Object value, Context cx, Scriptable scope, int enumType) { IdEnumeration x = new IdEnumeration(); x.obj = toObjectOrNull(cx, value, scope); if (x.obj == null) { // null or undefined do not cause errors but rather lead to empty // "for in" loop return x; } x.enumType = enumType; x.iterator = null; if (enumType != ENUMERATE_KEYS_NO_ITERATOR && enumType != ENUMERATE_VALUES_NO_ITERATOR && enumType != ENUMERATE_ARRAY_NO_ITERATOR) { x.iterator = toIterator(cx, x.obj.getParentScope(), x.obj, enumType == ScriptRuntime.ENUMERATE_KEYS); } if (x.iterator == null) { // enumInit should read all initial ids before returning // or "for (a.i in a)" would wrongly enumerate i in a as well enumChangeObject(x); } return x; }
public static Object enumInit(Object value, Context cx, int enumType) { IdEnumeration x = new IdEnumeration(); x.obj = toObjectOrNull(cx, value); if (x.obj == null) { // null or undefined do not cause errors but rather lead to empty // "for in" loop return x; } x.enumType = enumType; x.iterator = null; if (enumType != ENUMERATE_KEYS_NO_ITERATOR && enumType != ENUMERATE_VALUES_NO_ITERATOR && enumType != ENUMERATE_ARRAY_NO_ITERATOR) { x.iterator = toIterator(cx, x.obj.getParentScope(), x.obj, true); } if (x.iterator == null) { // enumInit should read all initial ids before returning // or "for (a.i in a)" would wrongly enumerate i in a as well enumChangeObject(x); } return x; }
public static Object enumInit(Object value, Context cx, boolean enumValues) { IdEnumeration x = new IdEnumeration(); x.obj = toObjectOrNull(cx, value); if (x.obj != null) { // null or undefined do not cause errors but rather lead to empty // "for in" loop x.enumValues = enumValues; // enumInit should read all initial ids before returning // or "for (a.i in a)" would wrongly enumerate i in a as well enumChangeObject(x); } return x; }