< prev index next > src/java.base/share/classes/jdk/internal/access/JavaLangInvokeAccess.java
Print this page
package jdk.internal.access;
import jdk.internal.foreign.abi.NativeEntryPoint;
+ import java.lang.classfile.ClassBuilder;
import java.lang.foreign.MemoryLayout;
+ import java.lang.invoke.CallSite;
+ import java.lang.invoke.LambdaConversionException;
import java.lang.invoke.MethodHandle;
+ import java.lang.invoke.MethodHandles;
import java.lang.invoke.MethodType;
import java.lang.invoke.VarHandle;
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.nio.ByteOrder;
import java.util.List;
import java.util.Map;
+ import java.util.function.Function;
import java.util.stream.Stream;
public interface JavaLangInvokeAccess {
/**
* Returns the declaring class for the given ResolvedMethodName.
* and then invoke the given constructor of one of its superclasses.
*
* This method should only be used by ReflectionFactory::newConstructorForSerialization.
*/
MethodHandle serializableConstructor(Class<?> decl, Constructor<?> ctorToCall) throws IllegalAccessException;
+
+ CallSite metafactoryInternal(MethodHandles.Lookup caller,
+ String interfaceMethodName,
+ MethodType factoryType,
+ MethodType interfaceMethodType,
+ MethodHandle implementation,
+ MethodType dynamicMethodType,
+ Function<ClassBuilder, Object> finisher) throws LambdaConversionException;
+
+ CallSite altMetafactoryInternal(MethodHandles.Lookup caller,
+ String interfaceMethodName,
+ MethodType factoryType,
+ Function<ClassBuilder, Object> finisher,
+ Object... args) throws LambdaConversionException;
}
< prev index next >