aboutsummaryrefslogtreecommitdiff
path: root/src/jdk/nashorn/internal/runtime/ScriptRuntime.java
diff options
context:
space:
mode:
authorlana <none@none>2013-10-31 16:47:09 -0700
committerlana <none@none>2013-10-31 16:47:09 -0700
commit667799c17e14bcd6303ad32c6fd9e654d52af7b0 (patch)
tree2430a17ae2f4d87c7455da370dc91d3dd3c7b1c1 /src/jdk/nashorn/internal/runtime/ScriptRuntime.java
parent7f430652c2ec0109c36963c26b6407ad9ae75a6c (diff)
parentbfd238be9c055093ae8ff41fad0a32ae7f183acf (diff)
Diffstat (limited to 'src/jdk/nashorn/internal/runtime/ScriptRuntime.java')
-rw-r--r--src/jdk/nashorn/internal/runtime/ScriptRuntime.java11
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();
}