8186815: Java.from has a bug, when element is ScriptObject

Reviewed-by: sundar, jlaskey
This commit is contained in:
Hannes Wallnöfer 2017-09-27 17:09:52 +02:00
parent 10f7bd1ab6
commit 2e46c1508a
2 changed files with 47 additions and 2 deletions

View file

@ -43,6 +43,7 @@ import jdk.dynalink.beans.StaticClass;
import jdk.dynalink.linker.support.TypeUtilities;
import jdk.nashorn.api.scripting.JSObject;
import jdk.nashorn.api.scripting.ScriptObjectMirror;
import jdk.nashorn.api.scripting.ScriptUtils;
import jdk.nashorn.internal.objects.annotations.Attribute;
import jdk.nashorn.internal.objects.annotations.Function;
import jdk.nashorn.internal.objects.annotations.ScriptClass;
@ -430,9 +431,9 @@ public final class NativeJava {
if (objArray == null) {
return null;
} else if (objArray instanceof Collection) {
return new NativeArray(((Collection<?>)objArray).toArray());
return new NativeArray(ScriptUtils.unwrapArray(((Collection<?>)objArray).toArray()));
} else if (objArray instanceof Object[]) {
return new NativeArray(((Object[])objArray).clone());
return new NativeArray(ScriptUtils.unwrapArray(((Object[])objArray).clone()));
} else if (objArray instanceof int[]) {
return new NativeArray(((int[])objArray).clone());
} else if (objArray instanceof double[]) {