< prev index next >

src/java.base/share/classes/jdk/internal/access/JavaLangInvokeAccess.java

Print this page
*** 25,19 ***
--- 25,24 ---
  
  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.

*** 168,6 ***
--- 173,20 ---
       * 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 >