From 5e806bc3bad1fe842ad257ef293d0d0ec64b37e0 Mon Sep 17 00:00:00 2001 From: Narayan Kamath Date: Tue, 31 Jan 2017 14:07:35 +0000 Subject: [PATCH] MethodHandles: Expose additional API. Tracks libcore change f4ee5c6dccff8f7e037f95b26767e552ea93d41b. Test: make checkapi docs Change-Id: Iac4d4741b9729f3409247b6a3a2b1428f3aa66f0 --- api/current.txt | 10 ++++++++++ api/system-current.txt | 10 ++++++++++ api/test-current.txt | 10 ++++++++++ 3 files changed, 30 insertions(+) diff --git a/api/current.txt b/api/current.txt index 42275de653969..3b9f4cbd4dceb 100644 --- a/api/current.txt +++ b/api/current.txt @@ -52327,12 +52327,15 @@ package java.lang.invoke { } public abstract class MethodHandle { + method public java.lang.invoke.MethodHandle asCollector(java.lang.Class, int); method public java.lang.invoke.MethodHandle asFixedArity(); + method public java.lang.invoke.MethodHandle asSpreader(java.lang.Class, int); method public java.lang.invoke.MethodHandle asType(java.lang.invoke.MethodType); method public java.lang.invoke.MethodHandle asVarargsCollector(java.lang.Class); method public java.lang.invoke.MethodHandle bindTo(java.lang.Object); method public final java.lang.Object invoke(java.lang.Object...) throws java.lang.Throwable; method public final java.lang.Object invokeExact(java.lang.Object...) throws java.lang.Throwable; + method public java.lang.Object invokeWithArguments(java.lang.Object...) throws java.lang.Throwable; method public java.lang.Object invokeWithArguments(java.util.List) throws java.lang.Throwable; method public boolean isVarargsCollector(); method public java.lang.invoke.MethodType type(); @@ -52366,17 +52369,23 @@ package java.lang.invoke { method public static java.lang.invoke.MethodHandle arrayElementGetter(java.lang.Class) throws java.lang.IllegalArgumentException; method public static java.lang.invoke.MethodHandle arrayElementSetter(java.lang.Class) throws java.lang.IllegalArgumentException; method public static java.lang.invoke.MethodHandle catchException(java.lang.invoke.MethodHandle, java.lang.Class, java.lang.invoke.MethodHandle); + method public static java.lang.invoke.MethodHandle collectArguments(java.lang.invoke.MethodHandle, int, java.lang.invoke.MethodHandle); method public static java.lang.invoke.MethodHandle constant(java.lang.Class, java.lang.Object); method public static java.lang.invoke.MethodHandle dropArguments(java.lang.invoke.MethodHandle, int, java.util.List>); method public static java.lang.invoke.MethodHandle dropArguments(java.lang.invoke.MethodHandle, int, java.lang.Class...); method public static java.lang.invoke.MethodHandle exactInvoker(java.lang.invoke.MethodType); + method public static java.lang.invoke.MethodHandle filterArguments(java.lang.invoke.MethodHandle, int, java.lang.invoke.MethodHandle...); method public static java.lang.invoke.MethodHandle filterReturnValue(java.lang.invoke.MethodHandle, java.lang.invoke.MethodHandle); + method public static java.lang.invoke.MethodHandle foldArguments(java.lang.invoke.MethodHandle, java.lang.invoke.MethodHandle); method public static java.lang.invoke.MethodHandle guardWithTest(java.lang.invoke.MethodHandle, java.lang.invoke.MethodHandle, java.lang.invoke.MethodHandle); method public static java.lang.invoke.MethodHandle identity(java.lang.Class); + method public static java.lang.invoke.MethodHandle insertArguments(java.lang.invoke.MethodHandle, int, java.lang.Object...); method public static java.lang.invoke.MethodHandle invoker(java.lang.invoke.MethodType); method public static java.lang.invoke.MethodHandles.Lookup lookup(); method public static java.lang.invoke.MethodHandle permuteArguments(java.lang.invoke.MethodHandle, java.lang.invoke.MethodType, int...); method public static java.lang.invoke.MethodHandles.Lookup publicLookup(); + method public static T reflectAs(java.lang.Class, java.lang.invoke.MethodHandle); + method public static java.lang.invoke.MethodHandle spreadInvoker(java.lang.invoke.MethodType, int); method public static java.lang.invoke.MethodHandle throwException(java.lang.Class, java.lang.Class); } @@ -52393,6 +52402,7 @@ package java.lang.invoke { method public java.lang.invoke.MethodHandles.Lookup in(java.lang.Class); method public java.lang.Class lookupClass(); method public int lookupModes(); + method public java.lang.invoke.MethodHandleInfo revealDirect(java.lang.invoke.MethodHandle); method public void throwMakeAccessException(java.lang.String, java.lang.Object) throws java.lang.IllegalAccessException; method public java.lang.invoke.MethodHandle unreflect(java.lang.reflect.Method) throws java.lang.IllegalAccessException; method public java.lang.invoke.MethodHandle unreflectConstructor(java.lang.reflect.Constructor) throws java.lang.IllegalAccessException; diff --git a/api/system-current.txt b/api/system-current.txt index 6ebbee2f4e16f..4a121055f7a72 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -55948,12 +55948,15 @@ package java.lang.invoke { } public abstract class MethodHandle { + method public java.lang.invoke.MethodHandle asCollector(java.lang.Class, int); method public java.lang.invoke.MethodHandle asFixedArity(); + method public java.lang.invoke.MethodHandle asSpreader(java.lang.Class, int); method public java.lang.invoke.MethodHandle asType(java.lang.invoke.MethodType); method public java.lang.invoke.MethodHandle asVarargsCollector(java.lang.Class); method public java.lang.invoke.MethodHandle bindTo(java.lang.Object); method public final java.lang.Object invoke(java.lang.Object...) throws java.lang.Throwable; method public final java.lang.Object invokeExact(java.lang.Object...) throws java.lang.Throwable; + method public java.lang.Object invokeWithArguments(java.lang.Object...) throws java.lang.Throwable; method public java.lang.Object invokeWithArguments(java.util.List) throws java.lang.Throwable; method public boolean isVarargsCollector(); method public java.lang.invoke.MethodType type(); @@ -55987,17 +55990,23 @@ package java.lang.invoke { method public static java.lang.invoke.MethodHandle arrayElementGetter(java.lang.Class) throws java.lang.IllegalArgumentException; method public static java.lang.invoke.MethodHandle arrayElementSetter(java.lang.Class) throws java.lang.IllegalArgumentException; method public static java.lang.invoke.MethodHandle catchException(java.lang.invoke.MethodHandle, java.lang.Class, java.lang.invoke.MethodHandle); + method public static java.lang.invoke.MethodHandle collectArguments(java.lang.invoke.MethodHandle, int, java.lang.invoke.MethodHandle); method public static java.lang.invoke.MethodHandle constant(java.lang.Class, java.lang.Object); method public static java.lang.invoke.MethodHandle dropArguments(java.lang.invoke.MethodHandle, int, java.util.List>); method public static java.lang.invoke.MethodHandle dropArguments(java.lang.invoke.MethodHandle, int, java.lang.Class...); method public static java.lang.invoke.MethodHandle exactInvoker(java.lang.invoke.MethodType); + method public static java.lang.invoke.MethodHandle filterArguments(java.lang.invoke.MethodHandle, int, java.lang.invoke.MethodHandle...); method public static java.lang.invoke.MethodHandle filterReturnValue(java.lang.invoke.MethodHandle, java.lang.invoke.MethodHandle); + method public static java.lang.invoke.MethodHandle foldArguments(java.lang.invoke.MethodHandle, java.lang.invoke.MethodHandle); method public static java.lang.invoke.MethodHandle guardWithTest(java.lang.invoke.MethodHandle, java.lang.invoke.MethodHandle, java.lang.invoke.MethodHandle); method public static java.lang.invoke.MethodHandle identity(java.lang.Class); + method public static java.lang.invoke.MethodHandle insertArguments(java.lang.invoke.MethodHandle, int, java.lang.Object...); method public static java.lang.invoke.MethodHandle invoker(java.lang.invoke.MethodType); method public static java.lang.invoke.MethodHandles.Lookup lookup(); method public static java.lang.invoke.MethodHandle permuteArguments(java.lang.invoke.MethodHandle, java.lang.invoke.MethodType, int...); method public static java.lang.invoke.MethodHandles.Lookup publicLookup(); + method public static T reflectAs(java.lang.Class, java.lang.invoke.MethodHandle); + method public static java.lang.invoke.MethodHandle spreadInvoker(java.lang.invoke.MethodType, int); method public static java.lang.invoke.MethodHandle throwException(java.lang.Class, java.lang.Class); } @@ -56014,6 +56023,7 @@ package java.lang.invoke { method public java.lang.invoke.MethodHandles.Lookup in(java.lang.Class); method public java.lang.Class lookupClass(); method public int lookupModes(); + method public java.lang.invoke.MethodHandleInfo revealDirect(java.lang.invoke.MethodHandle); method public void throwMakeAccessException(java.lang.String, java.lang.Object) throws java.lang.IllegalAccessException; method public java.lang.invoke.MethodHandle unreflect(java.lang.reflect.Method) throws java.lang.IllegalAccessException; method public java.lang.invoke.MethodHandle unreflectConstructor(java.lang.reflect.Constructor) throws java.lang.IllegalAccessException; diff --git a/api/test-current.txt b/api/test-current.txt index 40085a26ef5da..90756225708a9 100644 --- a/api/test-current.txt +++ b/api/test-current.txt @@ -52418,12 +52418,15 @@ package java.lang.invoke { } public abstract class MethodHandle { + method public java.lang.invoke.MethodHandle asCollector(java.lang.Class, int); method public java.lang.invoke.MethodHandle asFixedArity(); + method public java.lang.invoke.MethodHandle asSpreader(java.lang.Class, int); method public java.lang.invoke.MethodHandle asType(java.lang.invoke.MethodType); method public java.lang.invoke.MethodHandle asVarargsCollector(java.lang.Class); method public java.lang.invoke.MethodHandle bindTo(java.lang.Object); method public final java.lang.Object invoke(java.lang.Object...) throws java.lang.Throwable; method public final java.lang.Object invokeExact(java.lang.Object...) throws java.lang.Throwable; + method public java.lang.Object invokeWithArguments(java.lang.Object...) throws java.lang.Throwable; method public java.lang.Object invokeWithArguments(java.util.List) throws java.lang.Throwable; method public boolean isVarargsCollector(); method public java.lang.invoke.MethodType type(); @@ -52457,17 +52460,23 @@ package java.lang.invoke { method public static java.lang.invoke.MethodHandle arrayElementGetter(java.lang.Class) throws java.lang.IllegalArgumentException; method public static java.lang.invoke.MethodHandle arrayElementSetter(java.lang.Class) throws java.lang.IllegalArgumentException; method public static java.lang.invoke.MethodHandle catchException(java.lang.invoke.MethodHandle, java.lang.Class, java.lang.invoke.MethodHandle); + method public static java.lang.invoke.MethodHandle collectArguments(java.lang.invoke.MethodHandle, int, java.lang.invoke.MethodHandle); method public static java.lang.invoke.MethodHandle constant(java.lang.Class, java.lang.Object); method public static java.lang.invoke.MethodHandle dropArguments(java.lang.invoke.MethodHandle, int, java.util.List>); method public static java.lang.invoke.MethodHandle dropArguments(java.lang.invoke.MethodHandle, int, java.lang.Class...); method public static java.lang.invoke.MethodHandle exactInvoker(java.lang.invoke.MethodType); + method public static java.lang.invoke.MethodHandle filterArguments(java.lang.invoke.MethodHandle, int, java.lang.invoke.MethodHandle...); method public static java.lang.invoke.MethodHandle filterReturnValue(java.lang.invoke.MethodHandle, java.lang.invoke.MethodHandle); + method public static java.lang.invoke.MethodHandle foldArguments(java.lang.invoke.MethodHandle, java.lang.invoke.MethodHandle); method public static java.lang.invoke.MethodHandle guardWithTest(java.lang.invoke.MethodHandle, java.lang.invoke.MethodHandle, java.lang.invoke.MethodHandle); method public static java.lang.invoke.MethodHandle identity(java.lang.Class); + method public static java.lang.invoke.MethodHandle insertArguments(java.lang.invoke.MethodHandle, int, java.lang.Object...); method public static java.lang.invoke.MethodHandle invoker(java.lang.invoke.MethodType); method public static java.lang.invoke.MethodHandles.Lookup lookup(); method public static java.lang.invoke.MethodHandle permuteArguments(java.lang.invoke.MethodHandle, java.lang.invoke.MethodType, int...); method public static java.lang.invoke.MethodHandles.Lookup publicLookup(); + method public static T reflectAs(java.lang.Class, java.lang.invoke.MethodHandle); + method public static java.lang.invoke.MethodHandle spreadInvoker(java.lang.invoke.MethodType, int); method public static java.lang.invoke.MethodHandle throwException(java.lang.Class, java.lang.Class); } @@ -52484,6 +52493,7 @@ package java.lang.invoke { method public java.lang.invoke.MethodHandles.Lookup in(java.lang.Class); method public java.lang.Class lookupClass(); method public int lookupModes(); + method public java.lang.invoke.MethodHandleInfo revealDirect(java.lang.invoke.MethodHandle); method public void throwMakeAccessException(java.lang.String, java.lang.Object) throws java.lang.IllegalAccessException; method public java.lang.invoke.MethodHandle unreflect(java.lang.reflect.Method) throws java.lang.IllegalAccessException; method public java.lang.invoke.MethodHandle unreflectConstructor(java.lang.reflect.Constructor) throws java.lang.IllegalAccessException;