diff options
author | lana <none@none> | 2013-10-31 16:47:09 -0700 |
---|---|---|
committer | lana <none@none> | 2013-10-31 16:47:09 -0700 |
commit | 667799c17e14bcd6303ad32c6fd9e654d52af7b0 (patch) | |
tree | 2430a17ae2f4d87c7455da370dc91d3dd3c7b1c1 /src/jdk/nashorn/internal/runtime/ScriptRuntime.java | |
parent | 7f430652c2ec0109c36963c26b6407ad9ae75a6c (diff) | |
parent | bfd238be9c055093ae8ff41fad0a32ae7f183acf (diff) |
Mergejdk8-b115
Diffstat (limited to 'src/jdk/nashorn/internal/runtime/ScriptRuntime.java')
-rw-r--r-- | src/jdk/nashorn/internal/runtime/ScriptRuntime.java | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/jdk/nashorn/internal/runtime/ScriptRuntime.java b/src/jdk/nashorn/internal/runtime/ScriptRuntime.java index c9b40512..d9705676 100644 --- a/src/jdk/nashorn/internal/runtime/ScriptRuntime.java +++ b/src/jdk/nashorn/internal/runtime/ScriptRuntime.java @@ -47,6 +47,7 @@ import jdk.nashorn.api.scripting.JSObject; import jdk.nashorn.api.scripting.ScriptObjectMirror; import jdk.nashorn.internal.codegen.CompilerConstants.Call; import jdk.nashorn.internal.ir.debug.JSONWriter; +import jdk.nashorn.internal.objects.Global; import jdk.nashorn.internal.parser.Lexer; import jdk.nashorn.internal.runtime.linker.Bootstrap; @@ -258,6 +259,11 @@ public final class ScriptRuntime { return ((Map<?,?>)obj).keySet().iterator(); } + final Object wrapped = Global.instance().wrapAsObject(obj); + if (wrapped instanceof ScriptObject) { + return ((ScriptObject)wrapped).propertyIterator(); + } + return Collections.emptyIterator(); } @@ -336,6 +342,11 @@ public final class ScriptRuntime { return ((Iterable<?>)obj).iterator(); } + final Object wrapped = Global.instance().wrapAsObject(obj); + if (wrapped instanceof ScriptObject) { + return ((ScriptObject)wrapped).valueIterator(); + } + return Collections.emptyIterator(); } |