diff options
author | vlivanov <none@none> | 2013-02-22 02:59:24 -0800 |
---|---|---|
committer | vlivanov <none@none> | 2013-02-22 02:59:24 -0800 |
commit | 8e131d409f97d7e88b557cb97a56978386303216 (patch) | |
tree | 2e9538fa0a7ae331f4cad165c4cd1bf643e22817 /src/share/classes/sun/reflect | |
parent | 1295ff44da0a5d2c084ae13da19c61833dc55001 (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.java | 6 |
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")); |