< prev index next >

src/java.base/share/classes/jdk/internal/access/JavaLangAccess.java

Print this page

        

@@ -24,10 +24,12 @@
  */
 
 package jdk.internal.access;
 
 import java.lang.annotation.Annotation;
+import java.lang.invoke.MethodHandle;
+import java.lang.invoke.MethodType;
 import java.lang.module.ModuleDescriptor;
 import java.lang.reflect.Executable;
 import java.lang.reflect.Method;
 import java.net.URI;
 import java.nio.charset.CharacterCodingException;

@@ -146,10 +148,18 @@
      * Defines a class with the given name to a class loader.
      */
     Class<?> defineClass(ClassLoader cl, String name, byte[] b, ProtectionDomain pd, String source);
 
     /**
+     * Defines a class with the given name to a class loader with
+     * the given flags and class data.
+     *
+     * @see java.lang.invoke.MethodHandles.Lookup#defineClass
+     */
+    Class<?> defineClass(ClassLoader cl, Class<?> lookup, String name, byte[] b, ProtectionDomain pd, boolean initialize, int flags, Object classData);
+
+    /**
      * Returns a class loaded by the bootstrap class loader.
      */
     Class<?> findBootstrapClassOrNull(ClassLoader cl, String name);
 
     /**

@@ -317,6 +327,16 @@
      *
      * @param caller on behalf of which the library is being loaded
      * @param library name of the library to load
      */
     void loadLibrary(Class<?> caller, String library);
+
+    /**
+     * Get protection domain of the given Class
+     */
+    ProtectionDomain protectionDomain(Class<?> c);
+
+    /**
+     * Get a method handle of string concat helper method
+     */
+    MethodHandle stringConcatHelper(String name, MethodType methodType);
 }
< prev index next >