< prev index next >

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

Print this page
*** 25,12 ***
--- 25,18 ---
  
  package jdk.internal.access;
  
  import jdk.internal.foreign.abi.NativeEntryPoint;
  
+ import java.lang.constant.ClassDesc;
+ import java.lang.constant.MethodHandleDesc;
+ import java.lang.constant.MethodTypeDesc;
  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;

*** 168,6 ***
--- 174,23 ---
       * 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;
+ 
+     record ReflectableLambdaInfo(ClassDesc quotedClass, ClassDesc funcOpClass,
+                                  MethodHandle extractOpHandle, MethodHandle opHandle) { }
+ 
+     CallSite metafactoryInternal(MethodHandles.Lookup caller,
+                                                String interfaceMethodName,
+                                                MethodType factoryType,
+                                                MethodType interfaceMethodType,
+                                                MethodHandle implementation,
+                                                MethodType dynamicMethodType,
+                                                ReflectableLambdaInfo reflectableLambdaInfo) throws LambdaConversionException;
+ 
+     CallSite altMetafactoryInternal(MethodHandles.Lookup caller,
+                                     String interfaceMethodName,
+                                     MethodType factoryType,
+                                     ReflectableLambdaInfo reflectableLambdaInfo,
+                                     Object... args) throws LambdaConversionException;
  }
< prev index next >