src/jdk/nashorn/internal/runtime/linker/JavaAdapterFactory.java

Print this page

        

*** 46,56 **** import java.util.List; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; import jdk.internal.dynalink.beans.StaticClass; import jdk.internal.dynalink.support.LinkRequestImpl; - import jdk.nashorn.internal.objects.NativeJava; import jdk.nashorn.internal.runtime.Context; import jdk.nashorn.internal.runtime.ECMAException; import jdk.nashorn.internal.runtime.ScriptFunction; import jdk.nashorn.internal.runtime.ScriptObject; --- 46,55 ----
*** 66,77 **** * constant pool references to ScriptObject and ScriptFunction classes). In case none of the candidate class loaders has * visibility of all the required types, an error is thrown. The class uses {@link JavaAdapterBytecodeGenerator} to * generate the adapter class itself; see its documentation for details about the generated class. * </p><p> * You normally don't use this class directly, but rather either create adapters from script using ! * {@link NativeJava#extend(Object, Object...)}, using the {@code new} operator on abstract classes and interfaces (see ! * {@link NativeJava#type(Object, Object)}), or implicitly when passing script functions to Java methods expecting SAM * types. * </p> */ @SuppressWarnings("javadoc") --- 65,76 ---- * constant pool references to ScriptObject and ScriptFunction classes). In case none of the candidate class loaders has * visibility of all the required types, an error is thrown. The class uses {@link JavaAdapterBytecodeGenerator} to * generate the adapter class itself; see its documentation for details about the generated class. * </p><p> * You normally don't use this class directly, but rather either create adapters from script using ! * {@link jdk.nashorn.internal.objects.NativeJava#extend(Object, Object...)}, using the {@code new} operator on abstract classes and interfaces (see ! * {@link jdk.nashorn.internal.objects.NativeJava#type(Object, Object)}), or implicitly when passing script functions to Java methods expecting SAM * types. * </p> */ @SuppressWarnings("javadoc")
*** 335,344 **** --- 334,344 ---- } private static ProtectionDomain createMinimalPermissionDomain() { // Generated classes need to have at least the permission to access Nashorn runtime and runtime.linker packages. final Permissions permissions = new Permissions(); + permissions.add(new RuntimePermission("accessClassInPackage.jdk.nashorn.internal.objects")); permissions.add(new RuntimePermission("accessClassInPackage.jdk.nashorn.internal.runtime")); permissions.add(new RuntimePermission("accessClassInPackage.jdk.nashorn.internal.runtime.linker")); return new ProtectionDomain(new CodeSource(null, (CodeSigner[])null), permissions); } }