src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/NativeJava.java
changeset 47279 4f48d7ecf2db
parent 47216 71c04702a3d5
equal deleted inserted replaced
47278:9422f1314557 47279:4f48d7ecf2db
    41 import jdk.dynalink.beans.BeansLinker;
    41 import jdk.dynalink.beans.BeansLinker;
    42 import jdk.dynalink.beans.StaticClass;
    42 import jdk.dynalink.beans.StaticClass;
    43 import jdk.dynalink.linker.support.TypeUtilities;
    43 import jdk.dynalink.linker.support.TypeUtilities;
    44 import jdk.nashorn.api.scripting.JSObject;
    44 import jdk.nashorn.api.scripting.JSObject;
    45 import jdk.nashorn.api.scripting.ScriptObjectMirror;
    45 import jdk.nashorn.api.scripting.ScriptObjectMirror;
       
    46 import jdk.nashorn.api.scripting.ScriptUtils;
    46 import jdk.nashorn.internal.objects.annotations.Attribute;
    47 import jdk.nashorn.internal.objects.annotations.Attribute;
    47 import jdk.nashorn.internal.objects.annotations.Function;
    48 import jdk.nashorn.internal.objects.annotations.Function;
    48 import jdk.nashorn.internal.objects.annotations.ScriptClass;
    49 import jdk.nashorn.internal.objects.annotations.ScriptClass;
    49 import jdk.nashorn.internal.objects.annotations.Where;
    50 import jdk.nashorn.internal.objects.annotations.Where;
    50 import jdk.nashorn.internal.runtime.Context;
    51 import jdk.nashorn.internal.runtime.Context;
   428     @Function(attributes = Attribute.NOT_ENUMERABLE, where = Where.CONSTRUCTOR)
   429     @Function(attributes = Attribute.NOT_ENUMERABLE, where = Where.CONSTRUCTOR)
   429     public static NativeArray from(final Object self, final Object objArray) {
   430     public static NativeArray from(final Object self, final Object objArray) {
   430         if (objArray == null) {
   431         if (objArray == null) {
   431             return null;
   432             return null;
   432         } else if (objArray instanceof Collection) {
   433         } else if (objArray instanceof Collection) {
   433             return new NativeArray(((Collection<?>)objArray).toArray());
   434             return new NativeArray(ScriptUtils.unwrapArray(((Collection<?>)objArray).toArray()));
   434         } else if (objArray instanceof Object[]) {
   435         } else if (objArray instanceof Object[]) {
   435             return new NativeArray(((Object[])objArray).clone());
   436             return new NativeArray(ScriptUtils.unwrapArray(((Object[])objArray).clone()));
   436         } else if (objArray instanceof int[]) {
   437         } else if (objArray instanceof int[]) {
   437             return new NativeArray(((int[])objArray).clone());
   438             return new NativeArray(((int[])objArray).clone());
   438         } else if (objArray instanceof double[]) {
   439         } else if (objArray instanceof double[]) {
   439             return new NativeArray(((double[])objArray).clone());
   440             return new NativeArray(((double[])objArray).clone());
   440         } else if (objArray instanceof long[]) {
   441         } else if (objArray instanceof long[]) {