diff options
| author | 2017-01-18 10:04:10 +0000 | |
|---|---|---|
| committer | 2017-01-18 10:04:10 +0000 | |
| commit | fc9c93c2ddc5a1324122f44b09880fae3cbb934d (patch) | |
| tree | 986fded1e30d12ae5944cfbef86c4725339763c8 | |
| parent | 7ae809eea6e8e8cc5be42d3269a4902d1c950425 (diff) | |
| parent | aa903365107a3886982f4165d2356934f7fdb7e7 (diff) | |
Merge "API: Unhide MethodHandles API (java.lang.invoke)." am: 71b1d50531 am: ec667adb56
am: aa90336510
Change-Id: I1e0f760ea4ddc5cac238c17a8cf2e53b40706af9
| -rw-r--r-- | api/current.txt | 127 | ||||
| -rw-r--r-- | api/system-current.txt | 127 | ||||
| -rw-r--r-- | api/test-current.txt | 127 |
3 files changed, 381 insertions, 0 deletions
diff --git a/api/current.txt b/api/current.txt index a766dc82d993..c7acea5213e2 100644 --- a/api/current.txt +++ b/api/current.txt @@ -52191,6 +52191,133 @@ package java.lang.annotation { } +package java.lang.invoke { + + public class LambdaConversionException extends java.lang.Exception { + ctor public LambdaConversionException(); + ctor public LambdaConversionException(java.lang.String); + ctor public LambdaConversionException(java.lang.String, java.lang.Throwable); + ctor public LambdaConversionException(java.lang.Throwable); + ctor public LambdaConversionException(java.lang.String, java.lang.Throwable, boolean, boolean); + } + + public abstract class MethodHandle { + method public java.lang.invoke.MethodHandle asFixedArity(); + 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.util.List<?>) throws java.lang.Throwable; + method public boolean isVarargsCollector(); + method public java.lang.invoke.MethodType type(); + } + + public abstract interface MethodHandleInfo { + method public abstract java.lang.Class<?> getDeclaringClass(); + method public abstract java.lang.invoke.MethodType getMethodType(); + method public abstract int getModifiers(); + method public abstract java.lang.String getName(); + method public abstract int getReferenceKind(); + method public default boolean isVarArgs(); + method public static boolean refKindIsField(int); + method public static boolean refKindIsValid(int); + method public static java.lang.String refKindName(int); + method public static java.lang.String referenceKindToString(int); + method public abstract <T extends java.lang.reflect.Member> T reflectAs(java.lang.Class<T>, java.lang.invoke.MethodHandles.Lookup); + method public static java.lang.String toString(int, java.lang.Class<?>, java.lang.String, java.lang.invoke.MethodType); + field public static final int REF_getField = 1; // 0x1 + field public static final int REF_getStatic = 2; // 0x2 + field public static final int REF_invokeInterface = 9; // 0x9 + field public static final int REF_invokeSpecial = 7; // 0x7 + field public static final int REF_invokeStatic = 6; // 0x6 + field public static final int REF_invokeVirtual = 5; // 0x5 + field public static final int REF_newInvokeSpecial = 8; // 0x8 + field public static final int REF_putField = 3; // 0x3 + field public static final int REF_putStatic = 4; // 0x4 + } + + public class MethodHandles { + 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<? extends java.lang.Throwable>, 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<java.lang.Class<?>>); + 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 filterReturnValue(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 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 java.lang.invoke.MethodHandle throwException(java.lang.Class<?>, java.lang.Class<? extends java.lang.Throwable>); + } + + public static final class MethodHandles.Lookup { + method public java.lang.invoke.MethodHandle bind(java.lang.Object, java.lang.String, java.lang.invoke.MethodType) throws java.lang.IllegalAccessException, java.lang.NoSuchMethodException; + method public java.lang.invoke.MethodHandle findConstructor(java.lang.Class<?>, java.lang.invoke.MethodType) throws java.lang.IllegalAccessException, java.lang.NoSuchMethodException; + method public java.lang.invoke.MethodHandle findGetter(java.lang.Class<?>, java.lang.String, java.lang.Class<?>) throws java.lang.IllegalAccessException, java.lang.NoSuchFieldException; + method public java.lang.invoke.MethodHandle findSetter(java.lang.Class<?>, java.lang.String, java.lang.Class<?>) throws java.lang.IllegalAccessException, java.lang.NoSuchFieldException; + method public java.lang.invoke.MethodHandle findSpecial(java.lang.Class<?>, java.lang.String, java.lang.invoke.MethodType, java.lang.Class<?>) throws java.lang.IllegalAccessException, java.lang.NoSuchMethodException; + method public java.lang.invoke.MethodHandle findStatic(java.lang.Class<?>, java.lang.String, java.lang.invoke.MethodType) throws java.lang.IllegalAccessException, java.lang.NoSuchMethodException; + method public java.lang.invoke.MethodHandle findStaticGetter(java.lang.Class<?>, java.lang.String, java.lang.Class<?>) throws java.lang.IllegalAccessException, java.lang.NoSuchFieldException; + method public java.lang.invoke.MethodHandle findStaticSetter(java.lang.Class<?>, java.lang.String, java.lang.Class<?>) throws java.lang.IllegalAccessException, java.lang.NoSuchFieldException; + method public java.lang.invoke.MethodHandle findVirtual(java.lang.Class<?>, java.lang.String, java.lang.invoke.MethodType) throws java.lang.IllegalAccessException, java.lang.NoSuchMethodException; + method public java.lang.invoke.MethodHandles.Lookup in(java.lang.Class<?>); + method public java.lang.Class<?> lookupClass(); + method public int lookupModes(); + 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; + method public java.lang.invoke.MethodHandle unreflectGetter(java.lang.reflect.Field) throws java.lang.IllegalAccessException; + method public java.lang.invoke.MethodHandle unreflectSetter(java.lang.reflect.Field) throws java.lang.IllegalAccessException; + method public java.lang.invoke.MethodHandle unreflectSpecial(java.lang.reflect.Method, java.lang.Class<?>) throws java.lang.IllegalAccessException; + field public static final int PACKAGE = 8; // 0x8 + field public static final int PRIVATE = 2; // 0x2 + field public static final int PROTECTED = 4; // 0x4 + field public static final int PUBLIC = 1; // 0x1 + } + + public final class MethodType implements java.io.Serializable { + method public java.lang.invoke.MethodType appendParameterTypes(java.lang.Class<?>...); + method public java.lang.invoke.MethodType appendParameterTypes(java.util.List<java.lang.Class<?>>); + method public java.lang.invoke.MethodType changeParameterType(int, java.lang.Class<?>); + method public java.lang.invoke.MethodType changeReturnType(java.lang.Class<?>); + method public java.lang.invoke.MethodType dropParameterTypes(int, int); + method public java.lang.invoke.MethodType erase(); + method public static java.lang.invoke.MethodType fromMethodDescriptorString(java.lang.String, java.lang.ClassLoader) throws java.lang.IllegalArgumentException, java.lang.TypeNotPresentException; + method public java.lang.invoke.MethodType generic(); + method public static java.lang.invoke.MethodType genericMethodType(int, boolean); + method public static java.lang.invoke.MethodType genericMethodType(int); + method public boolean hasPrimitives(); + method public boolean hasWrappers(); + method public java.lang.invoke.MethodType insertParameterTypes(int, java.lang.Class<?>...); + method public java.lang.invoke.MethodType insertParameterTypes(int, java.util.List<java.lang.Class<?>>); + method public static java.lang.invoke.MethodType methodType(java.lang.Class<?>, java.lang.Class<?>[]); + method public static java.lang.invoke.MethodType methodType(java.lang.Class<?>, java.util.List<java.lang.Class<?>>); + method public static java.lang.invoke.MethodType methodType(java.lang.Class<?>, java.lang.Class<?>, java.lang.Class<?>...); + method public static java.lang.invoke.MethodType methodType(java.lang.Class<?>); + method public static java.lang.invoke.MethodType methodType(java.lang.Class<?>, java.lang.Class<?>); + method public static java.lang.invoke.MethodType methodType(java.lang.Class<?>, java.lang.invoke.MethodType); + method public java.lang.Class<?>[] parameterArray(); + method public int parameterCount(); + method public java.util.List<java.lang.Class<?>> parameterList(); + method public java.lang.Class<?> parameterType(int); + method public java.lang.Class<?> returnType(); + method public java.lang.String toMethodDescriptorString(); + method public java.lang.invoke.MethodType unwrap(); + method public java.lang.invoke.MethodType wrap(); + } + + public class WrongMethodTypeException extends java.lang.RuntimeException { + ctor public WrongMethodTypeException(); + ctor public WrongMethodTypeException(java.lang.String); + } + +} + package java.lang.ref { public class PhantomReference<T> extends java.lang.ref.Reference { diff --git a/api/system-current.txt b/api/system-current.txt index 29d1248e15df..c5053bf43c8c 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -55791,6 +55791,133 @@ package java.lang.annotation { } +package java.lang.invoke { + + public class LambdaConversionException extends java.lang.Exception { + ctor public LambdaConversionException(); + ctor public LambdaConversionException(java.lang.String); + ctor public LambdaConversionException(java.lang.String, java.lang.Throwable); + ctor public LambdaConversionException(java.lang.Throwable); + ctor public LambdaConversionException(java.lang.String, java.lang.Throwable, boolean, boolean); + } + + public abstract class MethodHandle { + method public java.lang.invoke.MethodHandle asFixedArity(); + 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.util.List<?>) throws java.lang.Throwable; + method public boolean isVarargsCollector(); + method public java.lang.invoke.MethodType type(); + } + + public abstract interface MethodHandleInfo { + method public abstract java.lang.Class<?> getDeclaringClass(); + method public abstract java.lang.invoke.MethodType getMethodType(); + method public abstract int getModifiers(); + method public abstract java.lang.String getName(); + method public abstract int getReferenceKind(); + method public default boolean isVarArgs(); + method public static boolean refKindIsField(int); + method public static boolean refKindIsValid(int); + method public static java.lang.String refKindName(int); + method public static java.lang.String referenceKindToString(int); + method public abstract <T extends java.lang.reflect.Member> T reflectAs(java.lang.Class<T>, java.lang.invoke.MethodHandles.Lookup); + method public static java.lang.String toString(int, java.lang.Class<?>, java.lang.String, java.lang.invoke.MethodType); + field public static final int REF_getField = 1; // 0x1 + field public static final int REF_getStatic = 2; // 0x2 + field public static final int REF_invokeInterface = 9; // 0x9 + field public static final int REF_invokeSpecial = 7; // 0x7 + field public static final int REF_invokeStatic = 6; // 0x6 + field public static final int REF_invokeVirtual = 5; // 0x5 + field public static final int REF_newInvokeSpecial = 8; // 0x8 + field public static final int REF_putField = 3; // 0x3 + field public static final int REF_putStatic = 4; // 0x4 + } + + public class MethodHandles { + 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<? extends java.lang.Throwable>, 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<java.lang.Class<?>>); + 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 filterReturnValue(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 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 java.lang.invoke.MethodHandle throwException(java.lang.Class<?>, java.lang.Class<? extends java.lang.Throwable>); + } + + public static final class MethodHandles.Lookup { + method public java.lang.invoke.MethodHandle bind(java.lang.Object, java.lang.String, java.lang.invoke.MethodType) throws java.lang.IllegalAccessException, java.lang.NoSuchMethodException; + method public java.lang.invoke.MethodHandle findConstructor(java.lang.Class<?>, java.lang.invoke.MethodType) throws java.lang.IllegalAccessException, java.lang.NoSuchMethodException; + method public java.lang.invoke.MethodHandle findGetter(java.lang.Class<?>, java.lang.String, java.lang.Class<?>) throws java.lang.IllegalAccessException, java.lang.NoSuchFieldException; + method public java.lang.invoke.MethodHandle findSetter(java.lang.Class<?>, java.lang.String, java.lang.Class<?>) throws java.lang.IllegalAccessException, java.lang.NoSuchFieldException; + method public java.lang.invoke.MethodHandle findSpecial(java.lang.Class<?>, java.lang.String, java.lang.invoke.MethodType, java.lang.Class<?>) throws java.lang.IllegalAccessException, java.lang.NoSuchMethodException; + method public java.lang.invoke.MethodHandle findStatic(java.lang.Class<?>, java.lang.String, java.lang.invoke.MethodType) throws java.lang.IllegalAccessException, java.lang.NoSuchMethodException; + method public java.lang.invoke.MethodHandle findStaticGetter(java.lang.Class<?>, java.lang.String, java.lang.Class<?>) throws java.lang.IllegalAccessException, java.lang.NoSuchFieldException; + method public java.lang.invoke.MethodHandle findStaticSetter(java.lang.Class<?>, java.lang.String, java.lang.Class<?>) throws java.lang.IllegalAccessException, java.lang.NoSuchFieldException; + method public java.lang.invoke.MethodHandle findVirtual(java.lang.Class<?>, java.lang.String, java.lang.invoke.MethodType) throws java.lang.IllegalAccessException, java.lang.NoSuchMethodException; + method public java.lang.invoke.MethodHandles.Lookup in(java.lang.Class<?>); + method public java.lang.Class<?> lookupClass(); + method public int lookupModes(); + 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; + method public java.lang.invoke.MethodHandle unreflectGetter(java.lang.reflect.Field) throws java.lang.IllegalAccessException; + method public java.lang.invoke.MethodHandle unreflectSetter(java.lang.reflect.Field) throws java.lang.IllegalAccessException; + method public java.lang.invoke.MethodHandle unreflectSpecial(java.lang.reflect.Method, java.lang.Class<?>) throws java.lang.IllegalAccessException; + field public static final int PACKAGE = 8; // 0x8 + field public static final int PRIVATE = 2; // 0x2 + field public static final int PROTECTED = 4; // 0x4 + field public static final int PUBLIC = 1; // 0x1 + } + + public final class MethodType implements java.io.Serializable { + method public java.lang.invoke.MethodType appendParameterTypes(java.lang.Class<?>...); + method public java.lang.invoke.MethodType appendParameterTypes(java.util.List<java.lang.Class<?>>); + method public java.lang.invoke.MethodType changeParameterType(int, java.lang.Class<?>); + method public java.lang.invoke.MethodType changeReturnType(java.lang.Class<?>); + method public java.lang.invoke.MethodType dropParameterTypes(int, int); + method public java.lang.invoke.MethodType erase(); + method public static java.lang.invoke.MethodType fromMethodDescriptorString(java.lang.String, java.lang.ClassLoader) throws java.lang.IllegalArgumentException, java.lang.TypeNotPresentException; + method public java.lang.invoke.MethodType generic(); + method public static java.lang.invoke.MethodType genericMethodType(int, boolean); + method public static java.lang.invoke.MethodType genericMethodType(int); + method public boolean hasPrimitives(); + method public boolean hasWrappers(); + method public java.lang.invoke.MethodType insertParameterTypes(int, java.lang.Class<?>...); + method public java.lang.invoke.MethodType insertParameterTypes(int, java.util.List<java.lang.Class<?>>); + method public static java.lang.invoke.MethodType methodType(java.lang.Class<?>, java.lang.Class<?>[]); + method public static java.lang.invoke.MethodType methodType(java.lang.Class<?>, java.util.List<java.lang.Class<?>>); + method public static java.lang.invoke.MethodType methodType(java.lang.Class<?>, java.lang.Class<?>, java.lang.Class<?>...); + method public static java.lang.invoke.MethodType methodType(java.lang.Class<?>); + method public static java.lang.invoke.MethodType methodType(java.lang.Class<?>, java.lang.Class<?>); + method public static java.lang.invoke.MethodType methodType(java.lang.Class<?>, java.lang.invoke.MethodType); + method public java.lang.Class<?>[] parameterArray(); + method public int parameterCount(); + method public java.util.List<java.lang.Class<?>> parameterList(); + method public java.lang.Class<?> parameterType(int); + method public java.lang.Class<?> returnType(); + method public java.lang.String toMethodDescriptorString(); + method public java.lang.invoke.MethodType unwrap(); + method public java.lang.invoke.MethodType wrap(); + } + + public class WrongMethodTypeException extends java.lang.RuntimeException { + ctor public WrongMethodTypeException(); + ctor public WrongMethodTypeException(java.lang.String); + } + +} + package java.lang.ref { public class PhantomReference<T> extends java.lang.ref.Reference { diff --git a/api/test-current.txt b/api/test-current.txt index 31cb5573abc3..bb08b07da41c 100644 --- a/api/test-current.txt +++ b/api/test-current.txt @@ -52282,6 +52282,133 @@ package java.lang.annotation { } +package java.lang.invoke { + + public class LambdaConversionException extends java.lang.Exception { + ctor public LambdaConversionException(); + ctor public LambdaConversionException(java.lang.String); + ctor public LambdaConversionException(java.lang.String, java.lang.Throwable); + ctor public LambdaConversionException(java.lang.Throwable); + ctor public LambdaConversionException(java.lang.String, java.lang.Throwable, boolean, boolean); + } + + public abstract class MethodHandle { + method public java.lang.invoke.MethodHandle asFixedArity(); + 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.util.List<?>) throws java.lang.Throwable; + method public boolean isVarargsCollector(); + method public java.lang.invoke.MethodType type(); + } + + public abstract interface MethodHandleInfo { + method public abstract java.lang.Class<?> getDeclaringClass(); + method public abstract java.lang.invoke.MethodType getMethodType(); + method public abstract int getModifiers(); + method public abstract java.lang.String getName(); + method public abstract int getReferenceKind(); + method public default boolean isVarArgs(); + method public static boolean refKindIsField(int); + method public static boolean refKindIsValid(int); + method public static java.lang.String refKindName(int); + method public static java.lang.String referenceKindToString(int); + method public abstract <T extends java.lang.reflect.Member> T reflectAs(java.lang.Class<T>, java.lang.invoke.MethodHandles.Lookup); + method public static java.lang.String toString(int, java.lang.Class<?>, java.lang.String, java.lang.invoke.MethodType); + field public static final int REF_getField = 1; // 0x1 + field public static final int REF_getStatic = 2; // 0x2 + field public static final int REF_invokeInterface = 9; // 0x9 + field public static final int REF_invokeSpecial = 7; // 0x7 + field public static final int REF_invokeStatic = 6; // 0x6 + field public static final int REF_invokeVirtual = 5; // 0x5 + field public static final int REF_newInvokeSpecial = 8; // 0x8 + field public static final int REF_putField = 3; // 0x3 + field public static final int REF_putStatic = 4; // 0x4 + } + + public class MethodHandles { + 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<? extends java.lang.Throwable>, 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<java.lang.Class<?>>); + 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 filterReturnValue(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 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 java.lang.invoke.MethodHandle throwException(java.lang.Class<?>, java.lang.Class<? extends java.lang.Throwable>); + } + + public static final class MethodHandles.Lookup { + method public java.lang.invoke.MethodHandle bind(java.lang.Object, java.lang.String, java.lang.invoke.MethodType) throws java.lang.IllegalAccessException, java.lang.NoSuchMethodException; + method public java.lang.invoke.MethodHandle findConstructor(java.lang.Class<?>, java.lang.invoke.MethodType) throws java.lang.IllegalAccessException, java.lang.NoSuchMethodException; + method public java.lang.invoke.MethodHandle findGetter(java.lang.Class<?>, java.lang.String, java.lang.Class<?>) throws java.lang.IllegalAccessException, java.lang.NoSuchFieldException; + method public java.lang.invoke.MethodHandle findSetter(java.lang.Class<?>, java.lang.String, java.lang.Class<?>) throws java.lang.IllegalAccessException, java.lang.NoSuchFieldException; + method public java.lang.invoke.MethodHandle findSpecial(java.lang.Class<?>, java.lang.String, java.lang.invoke.MethodType, java.lang.Class<?>) throws java.lang.IllegalAccessException, java.lang.NoSuchMethodException; + method public java.lang.invoke.MethodHandle findStatic(java.lang.Class<?>, java.lang.String, java.lang.invoke.MethodType) throws java.lang.IllegalAccessException, java.lang.NoSuchMethodException; + method public java.lang.invoke.MethodHandle findStaticGetter(java.lang.Class<?>, java.lang.String, java.lang.Class<?>) throws java.lang.IllegalAccessException, java.lang.NoSuchFieldException; + method public java.lang.invoke.MethodHandle findStaticSetter(java.lang.Class<?>, java.lang.String, java.lang.Class<?>) throws java.lang.IllegalAccessException, java.lang.NoSuchFieldException; + method public java.lang.invoke.MethodHandle findVirtual(java.lang.Class<?>, java.lang.String, java.lang.invoke.MethodType) throws java.lang.IllegalAccessException, java.lang.NoSuchMethodException; + method public java.lang.invoke.MethodHandles.Lookup in(java.lang.Class<?>); + method public java.lang.Class<?> lookupClass(); + method public int lookupModes(); + 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; + method public java.lang.invoke.MethodHandle unreflectGetter(java.lang.reflect.Field) throws java.lang.IllegalAccessException; + method public java.lang.invoke.MethodHandle unreflectSetter(java.lang.reflect.Field) throws java.lang.IllegalAccessException; + method public java.lang.invoke.MethodHandle unreflectSpecial(java.lang.reflect.Method, java.lang.Class<?>) throws java.lang.IllegalAccessException; + field public static final int PACKAGE = 8; // 0x8 + field public static final int PRIVATE = 2; // 0x2 + field public static final int PROTECTED = 4; // 0x4 + field public static final int PUBLIC = 1; // 0x1 + } + + public final class MethodType implements java.io.Serializable { + method public java.lang.invoke.MethodType appendParameterTypes(java.lang.Class<?>...); + method public java.lang.invoke.MethodType appendParameterTypes(java.util.List<java.lang.Class<?>>); + method public java.lang.invoke.MethodType changeParameterType(int, java.lang.Class<?>); + method public java.lang.invoke.MethodType changeReturnType(java.lang.Class<?>); + method public java.lang.invoke.MethodType dropParameterTypes(int, int); + method public java.lang.invoke.MethodType erase(); + method public static java.lang.invoke.MethodType fromMethodDescriptorString(java.lang.String, java.lang.ClassLoader) throws java.lang.IllegalArgumentException, java.lang.TypeNotPresentException; + method public java.lang.invoke.MethodType generic(); + method public static java.lang.invoke.MethodType genericMethodType(int, boolean); + method public static java.lang.invoke.MethodType genericMethodType(int); + method public boolean hasPrimitives(); + method public boolean hasWrappers(); + method public java.lang.invoke.MethodType insertParameterTypes(int, java.lang.Class<?>...); + method public java.lang.invoke.MethodType insertParameterTypes(int, java.util.List<java.lang.Class<?>>); + method public static java.lang.invoke.MethodType methodType(java.lang.Class<?>, java.lang.Class<?>[]); + method public static java.lang.invoke.MethodType methodType(java.lang.Class<?>, java.util.List<java.lang.Class<?>>); + method public static java.lang.invoke.MethodType methodType(java.lang.Class<?>, java.lang.Class<?>, java.lang.Class<?>...); + method public static java.lang.invoke.MethodType methodType(java.lang.Class<?>); + method public static java.lang.invoke.MethodType methodType(java.lang.Class<?>, java.lang.Class<?>); + method public static java.lang.invoke.MethodType methodType(java.lang.Class<?>, java.lang.invoke.MethodType); + method public java.lang.Class<?>[] parameterArray(); + method public int parameterCount(); + method public java.util.List<java.lang.Class<?>> parameterList(); + method public java.lang.Class<?> parameterType(int); + method public java.lang.Class<?> returnType(); + method public java.lang.String toMethodDescriptorString(); + method public java.lang.invoke.MethodType unwrap(); + method public java.lang.invoke.MethodType wrap(); + } + + public class WrongMethodTypeException extends java.lang.RuntimeException { + ctor public WrongMethodTypeException(); + ctor public WrongMethodTypeException(java.lang.String); + } + +} + package java.lang.ref { public class PhantomReference<T> extends java.lang.ref.Reference { |