--- a/jdk/src/java.base/share/classes/jdk/internal/misc/JavaLangAccess.java Wed Nov 23 16:16:35 2016 +0000
+++ b/jdk/src/java.base/share/classes/jdk/internal/misc/JavaLangAccess.java Thu Dec 01 08:57:53 2016 +0000
@@ -29,6 +29,7 @@
import java.lang.annotation.Annotation;
import java.lang.reflect.Executable;
import java.lang.reflect.Layer;
+import java.lang.reflect.Method;
import java.lang.reflect.Module;
import java.net.URL;
import java.security.AccessControlContext;
@@ -36,12 +37,19 @@
import java.util.concurrent.ConcurrentHashMap;
import java.util.stream.Stream;
-import jdk.internal.module.ServicesCatalog;
import jdk.internal.reflect.ConstantPool;
import sun.reflect.annotation.AnnotationType;
import sun.nio.ch.Interruptible;
public interface JavaLangAccess {
+
+ /**
+ * Returns a {@code Method} object that reflects the specified public
+ * member method of the given class. Returns {@code null} if the
+ * method is not defined.
+ */
+ Method getMethodOrNull(Class<?> klass, String name, Class<?>... parameterTypes);
+
/** Return the constant pool for a class. */
ConstantPool getConstantPool(Class<?> klass);
@@ -136,17 +144,6 @@
Layer getBootLayer();
/**
- * Returns the ServicesCatalog for the given class loader.
- */
- ServicesCatalog getServicesCatalog(ClassLoader cl);
-
- /**
- * Returns the ServicesCatalog for the given class loader, creating it
- * if doesn't already exist.
- */
- ServicesCatalog createOrGetServicesCatalog(ClassLoader cl);
-
- /**
* Returns the ConcurrentHashMap used as a storage for ClassLoaderValue(s)
* associated with the given class loader, creating it if it doesn't already exist.
*/