public interface jdk.nashorn.internal.lookup.MethodHandleFunctionality
  minor version: 0
  major version: 59
  flags: flags: (0x0601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT
  this_class: jdk.nashorn.internal.lookup.MethodHandleFunctionality
  super_class: java.lang.Object
{
  public abstract java.lang.invoke.MethodHandle filterArguments(java.lang.invoke.MethodHandle, int, java.lang.invoke.MethodHandle[]);
    descriptor: (Ljava/lang/invoke/MethodHandle;I[Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0481) ACC_PUBLIC, ACC_VARARGS, ACC_ABSTRACT
    MethodParameters:
         Name  Flags
      target   
      pos      
      filters  

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

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

  public abstract java.lang.invoke.MethodHandle insertArguments(java.lang.invoke.MethodHandle, int, java.lang.Object[]);
    descriptor: (Ljava/lang/invoke/MethodHandle;I[Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0481) ACC_PUBLIC, ACC_VARARGS, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      target  
      pos     
      values  

  public abstract java.lang.invoke.MethodHandle dropArguments(java.lang.invoke.MethodHandle, int, java.lang.Class<?>[]);
    descriptor: (Ljava/lang/invoke/MethodHandle;I[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0481) ACC_PUBLIC, ACC_VARARGS, ACC_ABSTRACT
    Signature: (Ljava/lang/invoke/MethodHandle;I[Ljava/lang/Class<*>;)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
            Name  Flags
      target      
      pos         
      valueTypes  

  public abstract java.lang.invoke.MethodHandle dropArguments(java.lang.invoke.MethodHandle, int, java.util.List<java.lang.Class<?>>);
    descriptor: (Ljava/lang/invoke/MethodHandle;ILjava/util/List;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/lang/invoke/MethodHandle;ILjava/util/List<Ljava/lang/Class<*>;>;)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
            Name  Flags
      target      final
      pos         final
      valueTypes  final

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

  public abstract java.lang.invoke.MethodHandle explicitCastArguments(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
      target  
      type    

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

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

  public abstract java.lang.invoke.MethodHandle throwException(java.lang.Class<?>, java.lang.Class<? extends java.lang.Throwable>);
    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/Throwable;>;)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
            Name  Flags
      returnType  
      exType      

  public abstract java.lang.invoke.MethodHandle catchException(java.lang.invoke.MethodHandle, java.lang.Class<? extends java.lang.Throwable>, java.lang.invoke.MethodHandle);
    descriptor: (Ljava/lang/invoke/MethodHandle;Ljava/lang/Class;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/lang/invoke/MethodHandle;Ljava/lang/Class<+Ljava/lang/Throwable;>;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
         Name  Flags
      target   final
      exType   final
      handler  final

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

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

  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  
      type    

  public abstract java.lang.invoke.MethodHandle asCollector(java.lang.invoke.MethodHandle, java.lang.Class<?>, int);
    descriptor: (Ljava/lang/invoke/MethodHandle;Ljava/lang/Class;I)Ljava/lang/invoke/MethodHandle;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/lang/invoke/MethodHandle;Ljava/lang/Class<*>;I)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
             Name  Flags
      handle       
      arrayType    
      arrayLength  

  public abstract java.lang.invoke.MethodHandle asSpreader(java.lang.invoke.MethodHandle, java.lang.Class<?>, int);
    descriptor: (Ljava/lang/invoke/MethodHandle;Ljava/lang/Class;I)Ljava/lang/invoke/MethodHandle;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/lang/invoke/MethodHandle;Ljava/lang/Class<*>;I)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
             Name  Flags
      handle       
      arrayType    
      arrayLength  

  public abstract java.lang.invoke.MethodHandle bindTo(java.lang.invoke.MethodHandle, java.lang.Object);
    descriptor: (Ljava/lang/invoke/MethodHandle;Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      handle  
      x       

  public abstract java.lang.invoke.MethodHandle getter(java.lang.invoke.MethodHandles$Lookup, java.lang.Class<?>, java.lang.String, java.lang.Class<?>);
    descriptor: (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/Class<*>;Ljava/lang/String;Ljava/lang/Class<*>;)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
                Name  Flags
      explicitLookup  
      clazz           
      name            
      type            

  public abstract java.lang.invoke.MethodHandle staticGetter(java.lang.invoke.MethodHandles$Lookup, java.lang.Class<?>, java.lang.String, java.lang.Class<?>);
    descriptor: (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/Class<*>;Ljava/lang/String;Ljava/lang/Class<*>;)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
                Name  Flags
      explicitLookup  
      clazz           
      name            
      type            

  public abstract java.lang.invoke.MethodHandle setter(java.lang.invoke.MethodHandles$Lookup, java.lang.Class<?>, java.lang.String, java.lang.Class<?>);
    descriptor: (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/Class<*>;Ljava/lang/String;Ljava/lang/Class<*>;)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
                Name  Flags
      explicitLookup  
      clazz           
      name            
      type            

  public abstract java.lang.invoke.MethodHandle staticSetter(java.lang.invoke.MethodHandles$Lookup, java.lang.Class<?>, java.lang.String, java.lang.Class<?>);
    descriptor: (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/Class<*>;Ljava/lang/String;Ljava/lang/Class<*>;)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
                Name  Flags
      explicitLookup  
      clazz           
      name            
      type            

  public abstract java.lang.invoke.MethodHandle find(java.lang.reflect.Method);
    descriptor: (Ljava/lang/reflect/Method;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      method  

  public abstract java.lang.invoke.MethodHandle findStatic(java.lang.invoke.MethodHandles$Lookup, java.lang.Class<?>, java.lang.String, java.lang.invoke.MethodType);
    descriptor: (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/Class<*>;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
                Name  Flags
      explicitLookup  
      clazz           
      name            
      type            

  public abstract java.lang.invoke.MethodHandle findVirtual(java.lang.invoke.MethodHandles$Lookup, java.lang.Class<?>, java.lang.String, java.lang.invoke.MethodType);
    descriptor: (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/Class<*>;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
                Name  Flags
      explicitLookup  
      clazz           
      name            
      type            

  public abstract java.lang.invoke.MethodHandle findSpecial(java.lang.invoke.MethodHandles$Lookup, java.lang.Class<?>, java.lang.String, java.lang.invoke.MethodType, java.lang.Class<?>);
    descriptor: (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/Class<*>;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/Class<*>;)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
                Name  Flags
      explicitLookup  
      clazz           
      name            
      type            
      thisClass       final

  public abstract java.lang.invoke.SwitchPoint createSwitchPoint();
    descriptor: ()Ljava/lang/invoke/SwitchPoint;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract java.lang.invoke.MethodHandle guardWithTest(java.lang.invoke.SwitchPoint, java.lang.invoke.MethodHandle, java.lang.invoke.MethodHandle);
    descriptor: (Ljava/lang/invoke/SwitchPoint;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      sp      
      before  
      after   

  public abstract java.lang.invoke.MethodType type(java.lang.Class<?>, java.lang.Class<?>[]);
    descriptor: (Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
    flags: (0x0481) ACC_PUBLIC, ACC_VARARGS, ACC_ABSTRACT
    Signature: (Ljava/lang/Class<*>;[Ljava/lang/Class<*>;)Ljava/lang/invoke/MethodType;
    MethodParameters:
            Name  Flags
      returnType  
      paramTypes  
}
SourceFile: "MethodHandleFunctionality.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles