< prev index next >
src/java.base/share/classes/jdk/internal/misc/ExtendedMapMode.java
Print this page
*** 25,47 ****
package jdk.internal.misc;
import java.lang.invoke.MethodHandle;
import java.lang.invoke.MethodHandles;
import java.lang.invoke.MethodType;
import java.nio.channels.FileChannel.MapMode;
/**
* JDK-specific map modes implemented in java.base.
*/
public class ExtendedMapMode {
static final MethodHandle MAP_MODE_CONSTRUCTOR;
-
static {
try {
! var lookup = MethodHandles.privateLookupIn(MapMode.class, MethodHandles.lookup());
var methodType = MethodType.methodType(void.class, String.class);
MAP_MODE_CONSTRUCTOR = lookup.findConstructor(MapMode.class, methodType);
} catch (Exception e) {
throw new InternalError(e);
}
--- 25,51 ----
package jdk.internal.misc;
import java.lang.invoke.MethodHandle;
import java.lang.invoke.MethodHandles;
+ import java.lang.invoke.MethodHandles.Lookup;
import java.lang.invoke.MethodType;
import java.nio.channels.FileChannel.MapMode;
+ import java.security.AccessController;
+ import java.security.PrivilegedExceptionAction;
/**
* JDK-specific map modes implemented in java.base.
*/
public class ExtendedMapMode {
static final MethodHandle MAP_MODE_CONSTRUCTOR;
static {
try {
! PrivilegedExceptionAction<Lookup> pae = () ->
! MethodHandles.privateLookupIn(MapMode.class, MethodHandles.lookup());
! Lookup lookup = AccessController.doPrivileged(pae);
var methodType = MethodType.methodType(void.class, String.class);
MAP_MODE_CONSTRUCTOR = lookup.findConstructor(MapMode.class, methodType);
} catch (Exception e) {
throw new InternalError(e);
}
< prev index next >