< prev index next >
src/java.base/share/classes/java/lang/System.java
Print this page
*** 33,42 ****
--- 33,44 ----
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintStream;
import java.io.UnsupportedEncodingException;
import java.lang.annotation.Annotation;
+ import java.lang.invoke.MethodHandle;
+ import java.lang.invoke.MethodType;
import java.lang.module.ModuleDescriptor;
import java.lang.reflect.Constructor;
import java.lang.reflect.Executable;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
*** 2193,2202 ****
--- 2195,2208 ----
return cl.createOrGetClassLoaderValueMap();
}
public Class<?> defineClass(ClassLoader loader, String name, byte[] b, ProtectionDomain pd, String source) {
return ClassLoader.defineClass1(loader, name, b, 0, b.length, pd, source);
}
+ public Class<?> defineClass(ClassLoader loader, Class<?> lookup, String name, byte[] b, ProtectionDomain pd,
+ boolean initialize, int flags, Object classData) {
+ return ClassLoader.defineClass0(loader, lookup, name, b, 0, b.length, pd, initialize, flags, classData);
+ }
public Class<?> findBootstrapClassOrNull(ClassLoader cl, String name) {
return cl.findBootstrapClassOrNull(name);
}
public Package definePackage(ClassLoader cl, String name, Module module) {
return cl.definePackage(name, module);
*** 2280,2287 ****
--- 2286,2302 ----
public void loadLibrary(Class<?> caller, String library) {
assert library.indexOf(java.io.File.separatorChar) < 0;
ClassLoader.loadLibrary(caller, library, false);
}
+
+ public ProtectionDomain protectionDomain(Class<?> c) {
+ return c.protectionDomain();
+ }
+
+ public MethodHandle stringConcatHelper(String name, MethodType methodType) {
+ return StringConcatHelper.lookupStatic(name, methodType);
+ }
+
});
}
}
< prev index next >