public interface jdk.dynalink.linker.LinkerServices
  minor version: 0
  major version: 59
  flags: flags: (0x0601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT
  this_class: jdk.dynalink.linker.LinkerServices
  super_class: java.lang.Object
{
  public abstract java.lang.invoke.MethodHandle asType(java.lang.invoke.MethodHandle, java.lang.invoke.MethodType);
    descriptor: (Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
          Name  Flags
      handle    
      fromType  

  public java.lang.invoke.MethodHandle asTypeLosslessReturn(java.lang.invoke.MethodHandle, java.lang.invoke.MethodType);
    descriptor: (Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // jdk.dynalink.linker.LinkerServices this
        start local 1 // java.lang.invoke.MethodHandle handle
        start local 2 // java.lang.invoke.MethodType fromType
         0: .line 121
            aload 1 /* handle */
            invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
            invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
            astore 3 /* handleReturnType */
        start local 3 // java.lang.Class handleReturnType
         1: .line 122
            aload 0 /* this */
            aload 1 /* handle */
            aload 3 /* handleReturnType */
            aload 2 /* fromType */
            invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
            invokestatic jdk.dynalink.linker.support.TypeUtilities.isConvertibleWithoutLoss:(Ljava/lang/Class;Ljava/lang/Class;)Z
            ifeq 3
         2: .line 123
            aload 2 /* fromType */
            goto 4
      StackMap locals: jdk.dynalink.linker.LinkerServices java.lang.invoke.MethodHandle java.lang.invoke.MethodType java.lang.Class
      StackMap stack: jdk.dynalink.linker.LinkerServices java.lang.invoke.MethodHandle
         3: aload 2 /* fromType */
            aload 3 /* handleReturnType */
            invokevirtual java.lang.invoke.MethodType.changeReturnType:(Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
         4: .line 122
      StackMap locals: jdk.dynalink.linker.LinkerServices java.lang.invoke.MethodHandle java.lang.invoke.MethodType java.lang.Class
      StackMap stack: jdk.dynalink.linker.LinkerServices java.lang.invoke.MethodHandle java.lang.invoke.MethodType
            invokeinterface jdk.dynalink.linker.LinkerServices.asType:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 3 // java.lang.Class handleReturnType
        end local 2 // java.lang.invoke.MethodType fromType
        end local 1 // java.lang.invoke.MethodHandle handle
        end local 0 // jdk.dynalink.linker.LinkerServices this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    5     0              this  Ljdk/dynalink/linker/LinkerServices;
            0    5     1            handle  Ljava/lang/invoke/MethodHandle;
            0    5     2          fromType  Ljava/lang/invoke/MethodType;
            1    5     3  handleReturnType  Ljava/lang/Class<*>;
    MethodParameters:
          Name  Flags
      handle    final
      fromType  final

  public abstract java.lang.invoke.MethodHandle getTypeConverter(java.lang.Class<?>, java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/lang/Class<*>;Ljava/lang/Class<*>;)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
            Name  Flags
      sourceType  
      targetType  

  public abstract boolean canConvert(java.lang.Class<?>, java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;Ljava/lang/Class;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/lang/Class<*>;Ljava/lang/Class<*>;)Z
    MethodParameters:
      Name  Flags
      from  
      to    

  public abstract jdk.dynalink.linker.GuardedInvocation getGuardedInvocation(jdk.dynalink.linker.LinkRequest);
    descriptor: (Ljdk/dynalink/linker/LinkRequest;)Ljdk/dynalink/linker/GuardedInvocation;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
             Name  Flags
      linkRequest  

  public abstract jdk.dynalink.linker.ConversionComparator$Comparison compareConversion(java.lang.Class<?>, java.lang.Class<?>, java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/Class;)Ljdk/dynalink/linker/ConversionComparator$Comparison;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/lang/Class<*>;Ljava/lang/Class<*>;Ljava/lang/Class<*>;)Ljdk/dynalink/linker/ConversionComparator$Comparison;
    MethodParameters:
             Name  Flags
      sourceType   
      targetType1  
      targetType2  

  public abstract java.lang.invoke.MethodHandle filterInternalObjects(java.lang.invoke.MethodHandle);
    descriptor: (Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      target  final

  public abstract <T> T getWithLookup(java.util.function.Supplier<T>, jdk.dynalink.SecureLookupSupplier);
    descriptor: (Ljava/util/function/Supplier;Ljdk/dynalink/SecureLookupSupplier;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <T:Ljava/lang/Object;>(Ljava/util/function/Supplier<TT;>;Ljdk/dynalink/SecureLookupSupplier;)TT;
    MethodParameters:
                Name  Flags
      operation       final
      lookupSupplier  final
}
SourceFile: "LinkerServices.java"
InnerClasses:
  public final Comparison = jdk.dynalink.linker.ConversionComparator$Comparison of jdk.dynalink.linker.ConversionComparator