< prev index next >

src/java.base/share/classes/java/lang/invoke/MethodHandleImpl.java

Print this page
*** 39,10 ***
--- 39,11 ---
  import jdk.internal.vm.annotation.Stable;
  import sun.invoke.util.ValueConversions;
  import sun.invoke.util.VerifyType;
  import sun.invoke.util.Wrapper;
  
+ import java.lang.classfile.ClassBuilder;
  import java.lang.classfile.ClassFile;
  import java.lang.constant.ClassDesc;
  import java.lang.foreign.MemoryLayout;
  import java.lang.invoke.MethodHandles.Lookup;
  import java.lang.reflect.Array;

*** 1643,10 ***
--- 1644,23 ---
              @Override
              public MethodHandle serializableConstructor(Class<?> decl, Constructor<?> ctorToCall) throws IllegalAccessException {
                  return IMPL_LOOKUP.serializableConstructor(decl, ctorToCall);
              }
  
+             @Override
+             public CallSite metafactoryInternal(Lookup caller, String interfaceMethodName, MethodType factoryType,
+                                                 MethodType interfaceMethodType, MethodHandle implementation,
+                                                 MethodType dynamicMethodType, Function<ClassBuilder, Object> finisher) throws LambdaConversionException {
+                 return LambdaMetafactory.metafactoryInternal(caller, interfaceMethodName, factoryType,
+                         interfaceMethodType, implementation, dynamicMethodType, finisher);
+             }
+ 
+             @Override
+             public CallSite altMetafactoryInternal(Lookup caller, String interfaceMethodName, MethodType factoryType,
+                                                    Function<ClassBuilder, Object> finisher, Object... args) throws LambdaConversionException {
+                 return LambdaMetafactory.altMetafactoryInternal(caller, interfaceMethodName, factoryType, finisher, args);
+             }
          });
      }
  
      /** Result unboxing: ValueConversions.unbox() OR ValueConversions.identity() OR ValueConversions.ignore(). */
      private static MethodHandle unboxResultHandle(Class<?> returnType) {
< prev index next >