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;
|