src/jdk/nashorn/internal/runtime/arrays/ArrayLikeIterator.java

Print this page

        

*** 24,33 **** --- 24,34 ---- */ package jdk.nashorn.internal.runtime.arrays; import java.util.Iterator; + import jdk.nashorn.api.scripting.ScriptObjectMirror; import jdk.nashorn.internal.runtime.JSType; import jdk.nashorn.internal.runtime.ScriptObject; /** * Superclass for array iterators
*** 123,132 **** --- 124,137 ---- obj = JSType.toScriptObject(obj); if (obj instanceof ScriptObject) { return new MapIterator((ScriptObject)obj, includeUndefined); } + if (obj instanceof ScriptObjectMirror) { + return new ScriptObjectMirrorIterator((ScriptObjectMirror)obj, includeUndefined); + } + return new EmptyArrayLikeIterator(); } /** * ArrayLikeIterator factory (reverse order)
*** 144,153 **** --- 149,162 ---- obj = JSType.toScriptObject(obj); if (obj instanceof ScriptObject) { return new ReverseMapIterator((ScriptObject)obj, includeUndefined); } + if (obj instanceof ScriptObjectMirror) { + return new ReverseScriptObjectMirrorIterator((ScriptObjectMirror)obj, includeUndefined); + } + assert !obj.getClass().isArray(); return new EmptyArrayLikeIterator(); }