aboutsummaryrefslogtreecommitdiff
path: root/src/share/classes/sun/reflect
diff options
context:
space:
mode:
authorvlivanov <none@none>2013-02-22 02:59:24 -0800
committervlivanov <none@none>2013-02-22 02:59:24 -0800
commit8e131d409f97d7e88b557cb97a56978386303216 (patch)
tree2e9538fa0a7ae331f4cad165c4cd1bf643e22817 /src/share/classes/sun/reflect
parent1295ff44da0a5d2c084ae13da19c61833dc55001 (diff)
8006125: Update MethodHandles library interactions
Reviewed-by: jrose
Diffstat (limited to 'src/share/classes/sun/reflect')
-rw-r--r--src/share/classes/sun/reflect/misc/MethodUtil.java6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/share/classes/sun/reflect/misc/MethodUtil.java b/src/share/classes/sun/reflect/misc/MethodUtil.java
index 0eade8de5..9d9c5ab60 100644
--- a/src/share/classes/sun/reflect/misc/MethodUtil.java
+++ b/src/share/classes/sun/reflect/misc/MethodUtil.java
@@ -252,6 +252,12 @@ public final class MethodUtil extends SecureClassLoader {
public static Object invoke(Method m, Object obj, Object[] params)
throws InvocationTargetException, IllegalAccessException {
if (m.getDeclaringClass().equals(AccessController.class) ||
+ (m.getDeclaringClass().equals(java.lang.invoke.MethodHandles.class)
+ && m.getName().equals("lookup")) ||
+ (m.getDeclaringClass().equals(java.lang.invoke.MethodHandles.Lookup.class)
+ && (m.getName().startsWith("find") ||
+ m.getName().startsWith("bind") ||
+ m.getName().startsWith("unreflect"))) ||
m.getDeclaringClass().equals(Method.class))
throw new InvocationTargetException(
new UnsupportedOperationException("invocation not supported"));