37 import java.util.Collections; 38 import java.util.Iterator; 39 import java.util.LinkedHashSet; 40 import java.util.List; 41 import java.util.Map; 42 import java.util.Set; 43 import java.util.concurrent.Callable; 44 import javax.script.Bindings; 45 import jdk.nashorn.internal.objects.Global; 46 import jdk.nashorn.internal.runtime.ConsString; 47 import jdk.nashorn.internal.runtime.Context; 48 import jdk.nashorn.internal.runtime.JSType; 49 import jdk.nashorn.internal.runtime.ScriptFunction; 50 import jdk.nashorn.internal.runtime.ScriptObject; 51 import jdk.nashorn.internal.runtime.ScriptRuntime; 52 import jdk.nashorn.internal.runtime.arrays.ArrayData; 53 import jdk.nashorn.internal.runtime.linker.NashornCallSiteDescriptor; 54 55 /** 56 * Mirror object that wraps a given Nashorn Script object. 57 */ 58 public final class ScriptObjectMirror extends AbstractJSObject implements Bindings { 59 private static AccessControlContext getContextAccCtxt() { 60 final Permissions perms = new Permissions(); 61 perms.add(new RuntimePermission(Context.NASHORN_GET_CONTEXT)); 62 return new AccessControlContext(new ProtectionDomain[] { new ProtectionDomain(null, perms) }); 63 } 64 65 private static final AccessControlContext GET_CONTEXT_ACC_CTXT = getContextAccCtxt(); 66 67 private final ScriptObject sobj; 68 private final Global global; 69 private final boolean strict; 70 71 @Override 72 public boolean equals(final Object other) { 73 if (other instanceof ScriptObjectMirror) { 74 return sobj.equals(((ScriptObjectMirror)other).sobj); 75 } 76 77 return false; | 37 import java.util.Collections; 38 import java.util.Iterator; 39 import java.util.LinkedHashSet; 40 import java.util.List; 41 import java.util.Map; 42 import java.util.Set; 43 import java.util.concurrent.Callable; 44 import javax.script.Bindings; 45 import jdk.nashorn.internal.objects.Global; 46 import jdk.nashorn.internal.runtime.ConsString; 47 import jdk.nashorn.internal.runtime.Context; 48 import jdk.nashorn.internal.runtime.JSType; 49 import jdk.nashorn.internal.runtime.ScriptFunction; 50 import jdk.nashorn.internal.runtime.ScriptObject; 51 import jdk.nashorn.internal.runtime.ScriptRuntime; 52 import jdk.nashorn.internal.runtime.arrays.ArrayData; 53 import jdk.nashorn.internal.runtime.linker.NashornCallSiteDescriptor; 54 55 /** 56 * Mirror object that wraps a given Nashorn Script object. 57 * 58 * @since 1.8u40 59 */ 60 @jdk.Exported 61 public final class ScriptObjectMirror extends AbstractJSObject implements Bindings { 62 private static AccessControlContext getContextAccCtxt() { 63 final Permissions perms = new Permissions(); 64 perms.add(new RuntimePermission(Context.NASHORN_GET_CONTEXT)); 65 return new AccessControlContext(new ProtectionDomain[] { new ProtectionDomain(null, perms) }); 66 } 67 68 private static final AccessControlContext GET_CONTEXT_ACC_CTXT = getContextAccCtxt(); 69 70 private final ScriptObject sobj; 71 private final Global global; 72 private final boolean strict; 73 74 @Override 75 public boolean equals(final Object other) { 76 if (other instanceof ScriptObjectMirror) { 77 return sobj.equals(((ScriptObjectMirror)other).sobj); 78 } 79 80 return false; |