--- a/jdk/src/java.base/share/classes/java/lang/invoke/MethodHandles.java Wed Sep 10 19:19:47 2014 +0400
+++ b/jdk/src/java.base/share/classes/java/lang/invoke/MethodHandles.java Wed Sep 10 19:19:47 2014 +0400
@@ -862,6 +862,8 @@
return invoker(type);
if ("invokeExact".equals(name))
return exactInvoker(type);
+ if ("invokeBasic".equals(name))
+ return basicInvoker(type);
assert(!MemberName.isMethodHandleInvokeName(name));
return null;
}
@@ -1879,7 +1881,7 @@
static public
MethodHandle spreadInvoker(MethodType type, int leadingArgCount) {
if (leadingArgCount < 0 || leadingArgCount > type.parameterCount())
- throw new IllegalArgumentException("bad argument count "+leadingArgCount);
+ throw newIllegalArgumentException("bad argument count", leadingArgCount);
return type.invokers().spreadInvoker(leadingArgCount);
}
@@ -1964,7 +1966,7 @@
static /*non-public*/
MethodHandle basicInvoker(MethodType type) {
- return type.form().basicInvoker();
+ return type.invokers().basicInvoker();
}
/// method handle modification (creation from other method handles)