class jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality implements jdk.nashorn.internal.lookup.MethodHandleFunctionality, jdk.nashorn.internal.runtime.logging.Loggable
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality
  super_class: java.lang.Object
{
  private jdk.nashorn.internal.runtime.logging.DebugLogger log;
    descriptor: Ljdk/nashorn/internal/runtime/logging/DebugLogger;
    flags: (0x0002) ACC_PRIVATE

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality this
         0: .line 327
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 325
            aload 0 /* this */
            getstatic jdk.nashorn.internal.runtime.logging.DebugLogger.DISABLED_LOGGER:Ljdk/nashorn/internal/runtime/logging/DebugLogger;
            putfield jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality.log:Ljdk/nashorn/internal/runtime/logging/DebugLogger;
         2: .line 328
            return
        end local 0 // jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/nashorn/internal/lookup/MethodHandleFactory$StandardMethodHandleFunctionality;

  public jdk.nashorn.internal.runtime.logging.DebugLogger initLogger(jdk.nashorn.internal.runtime.Context);
    descriptor: (Ljdk/nashorn/internal/runtime/Context;)Ljdk/nashorn/internal/runtime/logging/DebugLogger;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality this
        start local 1 // jdk.nashorn.internal.runtime.Context context
         0: .line 332
            aload 0 /* this */
            aload 1 /* context */
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual jdk.nashorn.internal.runtime.Context.getLogger:(Ljava/lang/Class;)Ljdk/nashorn/internal/runtime/logging/DebugLogger;
            dup_x1
            putfield jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality.log:Ljdk/nashorn/internal/runtime/logging/DebugLogger;
            areturn
        end local 1 // jdk.nashorn.internal.runtime.Context context
        end local 0 // jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Ljdk/nashorn/internal/lookup/MethodHandleFactory$StandardMethodHandleFunctionality;
            0    1     1  context  Ljdk/nashorn/internal/runtime/Context;
    MethodParameters:
         Name  Flags
      context  final

  public jdk.nashorn.internal.runtime.logging.DebugLogger getLogger();
    descriptor: ()Ljdk/nashorn/internal/runtime/logging/DebugLogger;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality this
         0: .line 337
            aload 0 /* this */
            getfield jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality.log:Ljdk/nashorn/internal/runtime/logging/DebugLogger;
            areturn
        end local 0 // jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/lookup/MethodHandleFactory$StandardMethodHandleFunctionality;

  protected static java.lang.String describe(java.lang.Object[]);
    descriptor: ([Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x008c) ACC_PROTECTED, ACC_STATIC, ACC_VARARGS
    Code:
      stack=5, locals=8, args_size=1
        start local 0 // java.lang.Object[] data
         0: .line 341
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 1 /* sb */
        start local 1 // java.lang.StringBuilder sb
         1: .line 343
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 27
         3: .line 344
      StackMap locals: java.lang.StringBuilder int
      StackMap stack:
            aload 0 /* data */
            iload 2 /* i */
            aaload
            astore 3 /* d */
        start local 3 // java.lang.Object d
         4: .line 345
            aload 3 /* d */
            ifnonnull 7
         5: .line 346
            aload 1 /* sb */
            ldc "<null> "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         6: .line 347
            goto 24
      StackMap locals: java.lang.Object
      StackMap stack:
         7: aload 3 /* d */
            invokestatic jdk.nashorn.internal.runtime.JSType.isString:(Ljava/lang/Object;)Z
            ifeq 11
         8: .line 348
            aload 1 /* sb */
            aload 3 /* d */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         9: .line 349
            aload 1 /* sb */
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        10: .line 350
            goto 24
      StackMap locals:
      StackMap stack:
        11: aload 3 /* d */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.isArray:()Z
            ifeq 20
        12: .line 351
            aload 1 /* sb */
            ldc "[ "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        13: .line 352
            aload 3 /* d */
            checkcast java.lang.Object[]
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 17
      StackMap locals: java.lang.Object[] java.lang.StringBuilder int java.lang.Object top int int java.lang.Object[]
      StackMap stack:
        14: aload 7
            iload 5
            aaload
            astore 4 /* da */
        start local 4 // java.lang.Object da
        15: .line 353
            aload 1 /* sb */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 4 /* da */
            aastore
            invokestatic jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality.describe:([Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        end local 4 // java.lang.Object da
        16: .line 352
            iinc 5 1
      StackMap locals:
      StackMap stack:
        17: iload 5
            iload 6
            if_icmplt 14
        18: .line 355
            aload 1 /* sb */
            ldc "] "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        19: .line 356
            goto 24
        20: .line 357
      StackMap locals: java.lang.Object[] java.lang.StringBuilder int java.lang.Object
      StackMap stack:
            aload 1 /* sb */
            aload 3 /* d */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        21: .line 358
            bipush 123
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
        22: .line 359
            aload 3 /* d */
            invokestatic java.lang.System.identityHashCode:(Ljava/lang/Object;)I
            invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        23: .line 360
            bipush 125
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        24: .line 363
      StackMap locals:
      StackMap stack:
            iload 2 /* i */
            iconst_1
            iadd
            aload 0 /* data */
            arraylength
            if_icmpge 26
        25: .line 364
            aload 1 /* sb */
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 3 // java.lang.Object d
        26: .line 343
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        27: iload 2 /* i */
            aload 0 /* data */
            arraylength
            if_icmplt 3
        end local 2 // int i
        28: .line 368
            aload 1 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuilder sb
        end local 0 // java.lang.Object[] data
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   29     0  data  [Ljava/lang/Object;
            1   29     1    sb  Ljava/lang/StringBuilder;
            2   28     2     i  I
            4   26     3     d  Ljava/lang/Object;
           15   16     4    da  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      data  final

  public java.lang.invoke.MethodHandle debug(java.lang.invoke.MethodHandle, java.lang.String, java.lang.Object[]);
    descriptor: (Ljava/lang/invoke/MethodHandle;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=8, locals=4, args_size=4
        start local 0 // jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality this
        start local 1 // java.lang.invoke.MethodHandle master
        start local 2 // java.lang.String str
        start local 3 // java.lang.Object[] args
         0: .line 372
            aload 0 /* this */
            getfield jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality.log:Ljdk/nashorn/internal/runtime/logging/DebugLogger;
            invokevirtual jdk.nashorn.internal.runtime.logging.DebugLogger.isEnabled:()Z
            ifeq 4
         1: .line 373
            getstatic jdk.nashorn.internal.lookup.MethodHandleFactory.PRINT_STACKTRACE:Z
            ifeq 3
         2: .line 374
            aload 0 /* this */
            getfield jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality.log:Ljdk/nashorn/internal/runtime/logging/DebugLogger;
            invokestatic jdk.nashorn.internal.lookup.MethodHandleFactory.stacktrace:(Ljdk/nashorn/internal/runtime/logging/DebugLogger;)V
         3: .line 376
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality.log:Ljdk/nashorn/internal/runtime/logging/DebugLogger;
            getstatic java.util.logging.Level.INFO:Ljava/util/logging/Level;
            aload 1 /* master */
            ldc 2147483647
            iconst_0
            new java.lang.StringBuilder
            dup
            aload 2 /* str */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 3 /* args */
            invokestatic jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality.describe:([Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic jdk.nashorn.internal.lookup.MethodHandleFactory.addDebugPrintout:(Ljdk/nashorn/internal/runtime/logging/DebugLogger;Ljava/util/logging/Level;Ljava/lang/invoke/MethodHandle;IZLjava/lang/Object;)Ljava/lang/invoke/MethodHandle;
            areturn
         4: .line 378
      StackMap locals:
      StackMap stack:
            aload 1 /* master */
            areturn
        end local 3 // java.lang.Object[] args
        end local 2 // java.lang.String str
        end local 1 // java.lang.invoke.MethodHandle master
        end local 0 // jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Ljdk/nashorn/internal/lookup/MethodHandleFactory$StandardMethodHandleFunctionality;
            0    5     1  master  Ljava/lang/invoke/MethodHandle;
            0    5     2     str  Ljava/lang/String;
            0    5     3    args  [Ljava/lang/Object;
    MethodParameters:
        Name  Flags
      master  final
      str     final
      args    final

  public 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: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=7, locals=5, args_size=4
        start local 0 // jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality this
        start local 1 // java.lang.invoke.MethodHandle target
        start local 2 // int pos
        start local 3 // java.lang.invoke.MethodHandle[] filters
         0: .line 383
            aload 1 /* target */
            iload 2 /* pos */
            aload 3 /* filters */
            invokestatic java.lang.invoke.MethodHandles.filterArguments:(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
            astore 4 /* mh */
        start local 4 // java.lang.invoke.MethodHandle mh
         1: .line 384
            aload 0 /* this */
            aload 4 /* mh */
            ldc "filterArguments"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* target */
            aastore
            dup
            iconst_1
            iload 2 /* pos */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            aload 3 /* filters */
            aastore
            invokevirtual jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality.debug:(Ljava/lang/invoke/MethodHandle;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 4 // java.lang.invoke.MethodHandle mh
        end local 3 // java.lang.invoke.MethodHandle[] filters
        end local 2 // int pos
        end local 1 // java.lang.invoke.MethodHandle target
        end local 0 // jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Ljdk/nashorn/internal/lookup/MethodHandleFactory$StandardMethodHandleFunctionality;
            0    2     1   target  Ljava/lang/invoke/MethodHandle;
            0    2     2      pos  I
            0    2     3  filters  [Ljava/lang/invoke/MethodHandle;
            1    2     4       mh  Ljava/lang/invoke/MethodHandle;
    MethodParameters:
         Name  Flags
      target   final
      pos      final
      filters  final

  public 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: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=3
        start local 0 // jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality this
        start local 1 // java.lang.invoke.MethodHandle target
        start local 2 // java.lang.invoke.MethodHandle filter
         0: .line 389
            aload 1 /* target */
            aload 2 /* filter */
            invokestatic java.lang.invoke.MethodHandles.filterReturnValue:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
            astore 3 /* mh */
        start local 3 // java.lang.invoke.MethodHandle mh
         1: .line 390
            aload 0 /* this */
            aload 3 /* mh */
            ldc "filterReturnValue"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* target */
            aastore
            dup
            iconst_1
            aload 2 /* filter */
            aastore
            invokevirtual jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality.debug:(Ljava/lang/invoke/MethodHandle;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 3 // java.lang.invoke.MethodHandle mh
        end local 2 // java.lang.invoke.MethodHandle filter
        end local 1 // java.lang.invoke.MethodHandle target
        end local 0 // jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Ljdk/nashorn/internal/lookup/MethodHandleFactory$StandardMethodHandleFunctionality;
            0    2     1  target  Ljava/lang/invoke/MethodHandle;
            0    2     2  filter  Ljava/lang/invoke/MethodHandle;
            1    2     3      mh  Ljava/lang/invoke/MethodHandle;
    MethodParameters:
        Name  Flags
      target  final
      filter  final

  public 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: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=4
        start local 0 // jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality this
        start local 1 // java.lang.invoke.MethodHandle test
        start local 2 // java.lang.invoke.MethodHandle target
        start local 3 // java.lang.invoke.MethodHandle fallback
         0: .line 395
            aload 1 /* test */
            aload 2 /* target */
            aload 3 /* fallback */
            invokestatic java.lang.invoke.MethodHandles.guardWithTest:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
            astore 4 /* mh */
        start local 4 // java.lang.invoke.MethodHandle mh
         1: .line 396
            aload 0 /* this */
            aload 4 /* mh */
            ldc "guardWithTest"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* test */
            aastore
            dup
            iconst_1
            aload 2 /* target */
            aastore
            dup
            iconst_2
            aload 3 /* fallback */
            aastore
            invokevirtual jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality.debug:(Ljava/lang/invoke/MethodHandle;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 4 // java.lang.invoke.MethodHandle mh
        end local 3 // java.lang.invoke.MethodHandle fallback
        end local 2 // java.lang.invoke.MethodHandle target
        end local 1 // java.lang.invoke.MethodHandle test
        end local 0 // jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Ljdk/nashorn/internal/lookup/MethodHandleFactory$StandardMethodHandleFunctionality;
            0    2     1      test  Ljava/lang/invoke/MethodHandle;
            0    2     2    target  Ljava/lang/invoke/MethodHandle;
            0    2     3  fallback  Ljava/lang/invoke/MethodHandle;
            1    2     4        mh  Ljava/lang/invoke/MethodHandle;
    MethodParameters:
          Name  Flags
      test      final
      target    final
      fallback  final

  public 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: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=7, locals=5, args_size=4
        start local 0 // jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality this
        start local 1 // java.lang.invoke.MethodHandle target
        start local 2 // int pos
        start local 3 // java.lang.Object[] values
         0: .line 401
            aload 1 /* target */
            iload 2 /* pos */
            aload 3 /* values */
            invokestatic java.lang.invoke.MethodHandles.insertArguments:(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
            astore 4 /* mh */
        start local 4 // java.lang.invoke.MethodHandle mh
         1: .line 402
            aload 0 /* this */
            aload 4 /* mh */
            ldc "insertArguments"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* target */
            aastore
            dup
            iconst_1
            iload 2 /* pos */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            aload 3 /* values */
            aastore
            invokevirtual jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality.debug:(Ljava/lang/invoke/MethodHandle;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 4 // java.lang.invoke.MethodHandle mh
        end local 3 // java.lang.Object[] values
        end local 2 // int pos
        end local 1 // java.lang.invoke.MethodHandle target
        end local 0 // jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Ljdk/nashorn/internal/lookup/MethodHandleFactory$StandardMethodHandleFunctionality;
            0    2     1  target  Ljava/lang/invoke/MethodHandle;
            0    2     2     pos  I
            0    2     3  values  [Ljava/lang/Object;
            1    2     4      mh  Ljava/lang/invoke/MethodHandle;
    MethodParameters:
        Name  Flags
      target  final
      pos     final
      values  final

  public 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: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=7, locals=5, args_size=4
        start local 0 // jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality this
        start local 1 // java.lang.invoke.MethodHandle target
        start local 2 // int pos
        start local 3 // java.lang.Class[] values
         0: .line 407
            aload 1 /* target */
            iload 2 /* pos */
            aload 3 /* values */
            invokestatic java.lang.invoke.MethodHandles.dropArguments:(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            astore 4 /* mh */
        start local 4 // java.lang.invoke.MethodHandle mh
         1: .line 408
            aload 0 /* this */
            aload 4 /* mh */
            ldc "dropArguments"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* target */
            aastore
            dup
            iconst_1
            iload 2 /* pos */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            aload 3 /* values */
            aastore
            invokevirtual jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality.debug:(Ljava/lang/invoke/MethodHandle;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 4 // java.lang.invoke.MethodHandle mh
        end local 3 // java.lang.Class[] values
        end local 2 // int pos
        end local 1 // java.lang.invoke.MethodHandle target
        end local 0 // jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Ljdk/nashorn/internal/lookup/MethodHandleFactory$StandardMethodHandleFunctionality;
            0    2     1  target  Ljava/lang/invoke/MethodHandle;
            0    2     2     pos  I
            0    2     3  values  [Ljava/lang/Class;
            1    2     4      mh  Ljava/lang/invoke/MethodHandle;
    Signature: (Ljava/lang/invoke/MethodHandle;I[Ljava/lang/Class<*>;)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
        Name  Flags
      target  final
      pos     final
      values  final

  public 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: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=4
        start local 0 // jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality this
        start local 1 // java.lang.invoke.MethodHandle target
        start local 2 // int pos
        start local 3 // java.util.List values
         0: .line 413
            aload 1 /* target */
            iload 2 /* pos */
            aload 3 /* values */
            invokestatic java.lang.invoke.MethodHandles.dropArguments:(Ljava/lang/invoke/MethodHandle;ILjava/util/List;)Ljava/lang/invoke/MethodHandle;
            astore 4 /* mh */
        start local 4 // java.lang.invoke.MethodHandle mh
         1: .line 414
            aload 0 /* this */
            aload 4 /* mh */
            ldc "dropArguments"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* target */
            aastore
            dup
            iconst_1
            iload 2 /* pos */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            aload 3 /* values */
            aastore
            invokevirtual jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality.debug:(Ljava/lang/invoke/MethodHandle;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 4 // java.lang.invoke.MethodHandle mh
        end local 3 // java.util.List values
        end local 2 // int pos
        end local 1 // java.lang.invoke.MethodHandle target
        end local 0 // jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Ljdk/nashorn/internal/lookup/MethodHandleFactory$StandardMethodHandleFunctionality;
            0    2     1  target  Ljava/lang/invoke/MethodHandle;
            0    2     2     pos  I
            0    2     3  values  Ljava/util/List<Ljava/lang/Class<*>;>;
            1    2     4      mh  Ljava/lang/invoke/MethodHandle;
    Signature: (Ljava/lang/invoke/MethodHandle;ILjava/util/List<Ljava/lang/Class<*>;>;)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
        Name  Flags
      target  final
      pos     final
      values  final

  public 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: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=3
        start local 0 // jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality this
        start local 1 // java.lang.invoke.MethodHandle handle
        start local 2 // java.lang.invoke.MethodType type
         0: .line 419
            aload 1 /* handle */
            aload 2 /* type */
            invokevirtual java.lang.invoke.MethodHandle.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
            astore 3 /* mh */
        start local 3 // java.lang.invoke.MethodHandle mh
         1: .line 420
            aload 0 /* this */
            aload 3 /* mh */
            ldc "asType"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* handle */
            aastore
            dup
            iconst_1
            aload 2 /* type */
            aastore
            invokevirtual jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality.debug:(Ljava/lang/invoke/MethodHandle;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 3 // java.lang.invoke.MethodHandle mh
        end local 2 // java.lang.invoke.MethodType type
        end local 1 // java.lang.invoke.MethodHandle handle
        end local 0 // jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Ljdk/nashorn/internal/lookup/MethodHandleFactory$StandardMethodHandleFunctionality;
            0    2     1  handle  Ljava/lang/invoke/MethodHandle;
            0    2     2    type  Ljava/lang/invoke/MethodType;
            1    2     3      mh  Ljava/lang/invoke/MethodHandle;
    MethodParameters:
        Name  Flags
      handle  final
      type    final

  public 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: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=3
        start local 0 // jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality this
        start local 1 // java.lang.invoke.MethodHandle handle
        start local 2 // java.lang.Object x
         0: .line 425
            aload 1 /* handle */
            aload 2 /* x */
            invokevirtual java.lang.invoke.MethodHandle.bindTo:(Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
            astore 3 /* mh */
        start local 3 // java.lang.invoke.MethodHandle mh
         1: .line 426
            aload 0 /* this */
            aload 3 /* mh */
            ldc "bindTo"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* handle */
            aastore
            dup
            iconst_1
            aload 2 /* x */
            aastore
            invokevirtual jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality.debug:(Ljava/lang/invoke/MethodHandle;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 3 // java.lang.invoke.MethodHandle mh
        end local 2 // java.lang.Object x
        end local 1 // java.lang.invoke.MethodHandle handle
        end local 0 // jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Ljdk/nashorn/internal/lookup/MethodHandleFactory$StandardMethodHandleFunctionality;
            0    2     1  handle  Ljava/lang/invoke/MethodHandle;
            0    2     2       x  Ljava/lang/Object;
            1    2     3      mh  Ljava/lang/invoke/MethodHandle;
    MethodParameters:
        Name  Flags
      handle  final
      x       final

  public 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: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=3
        start local 0 // jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality this
        start local 1 // java.lang.invoke.MethodHandle target
        start local 2 // java.lang.invoke.MethodHandle combiner
         0: .line 431
            aload 1 /* target */
            aload 2 /* combiner */
            invokestatic java.lang.invoke.MethodHandles.foldArguments:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
            astore 3 /* mh */
        start local 3 // java.lang.invoke.MethodHandle mh
         1: .line 432
            aload 0 /* this */
            aload 3 /* mh */
            ldc "foldArguments"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* target */
            aastore
            dup
            iconst_1
            aload 2 /* combiner */
            aastore
            invokevirtual jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality.debug:(Ljava/lang/invoke/MethodHandle;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 3 // java.lang.invoke.MethodHandle mh
        end local 2 // java.lang.invoke.MethodHandle combiner
        end local 1 // java.lang.invoke.MethodHandle target
        end local 0 // jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Ljdk/nashorn/internal/lookup/MethodHandleFactory$StandardMethodHandleFunctionality;
            0    2     1    target  Ljava/lang/invoke/MethodHandle;
            0    2     2  combiner  Ljava/lang/invoke/MethodHandle;
            1    2     3        mh  Ljava/lang/invoke/MethodHandle;
    MethodParameters:
          Name  Flags
      target    final
      combiner  final

  public 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: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=3
        start local 0 // jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality this
        start local 1 // java.lang.invoke.MethodHandle target
        start local 2 // java.lang.invoke.MethodType type
         0: .line 437
            aload 1 /* target */
            aload 2 /* type */
            invokestatic java.lang.invoke.MethodHandles.explicitCastArguments:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
            astore 3 /* mh */
        start local 3 // java.lang.invoke.MethodHandle mh
         1: .line 438
            aload 0 /* this */
            aload 3 /* mh */
            ldc "explicitCastArguments"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* target */
            aastore
            dup
            iconst_1
            aload 2 /* type */
            aastore
            invokevirtual jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality.debug:(Ljava/lang/invoke/MethodHandle;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 3 // java.lang.invoke.MethodHandle mh
        end local 2 // java.lang.invoke.MethodType type
        end local 1 // java.lang.invoke.MethodHandle target
        end local 0 // jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Ljdk/nashorn/internal/lookup/MethodHandleFactory$StandardMethodHandleFunctionality;
            0    2     1  target  Ljava/lang/invoke/MethodHandle;
            0    2     2    type  Ljava/lang/invoke/MethodType;
            1    2     3      mh  Ljava/lang/invoke/MethodHandle;
    MethodParameters:
        Name  Flags
      target  final
      type    final

  public java.lang.invoke.MethodHandle arrayElementGetter(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=3, args_size=2
        start local 0 // jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality this
        start local 1 // java.lang.Class type
         0: .line 443
            aload 1 /* type */
            invokestatic java.lang.invoke.MethodHandles.arrayElementGetter:(Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            astore 2 /* mh */
        start local 2 // java.lang.invoke.MethodHandle mh
         1: .line 444
            aload 0 /* this */
            aload 2 /* mh */
            ldc "arrayElementGetter"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* type */
            aastore
            invokevirtual jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality.debug:(Ljava/lang/invoke/MethodHandle;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 2 // java.lang.invoke.MethodHandle mh
        end local 1 // java.lang.Class type
        end local 0 // jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/nashorn/internal/lookup/MethodHandleFactory$StandardMethodHandleFunctionality;
            0    2     1  type  Ljava/lang/Class<*>;
            1    2     2    mh  Ljava/lang/invoke/MethodHandle;
    Signature: (Ljava/lang/Class<*>;)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
      Name  Flags
      type  final

  public java.lang.invoke.MethodHandle arrayElementSetter(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=3, args_size=2
        start local 0 // jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality this
        start local 1 // java.lang.Class type
         0: .line 449
            aload 1 /* type */
            invokestatic java.lang.invoke.MethodHandles.arrayElementSetter:(Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            astore 2 /* mh */
        start local 2 // java.lang.invoke.MethodHandle mh
         1: .line 450
            aload 0 /* this */
            aload 2 /* mh */
            ldc "arrayElementSetter"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* type */
            aastore
            invokevirtual jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality.debug:(Ljava/lang/invoke/MethodHandle;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 2 // java.lang.invoke.MethodHandle mh
        end local 1 // java.lang.Class type
        end local 0 // jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/nashorn/internal/lookup/MethodHandleFactory$StandardMethodHandleFunctionality;
            0    2     1  type  Ljava/lang/Class<*>;
            1    2     2    mh  Ljava/lang/invoke/MethodHandle;
    Signature: (Ljava/lang/Class<*>;)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
      Name  Flags
      type  final

  public 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: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=3
        start local 0 // jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality this
        start local 1 // java.lang.Class returnType
        start local 2 // java.lang.Class exType
         0: .line 455
            aload 1 /* returnType */
            aload 2 /* exType */
            invokestatic java.lang.invoke.MethodHandles.throwException:(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            astore 3 /* mh */
        start local 3 // java.lang.invoke.MethodHandle mh
         1: .line 456
            aload 0 /* this */
            aload 3 /* mh */
            ldc "throwException"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* returnType */
            aastore
            dup
            iconst_1
            aload 2 /* exType */
            aastore
            invokevirtual jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality.debug:(Ljava/lang/invoke/MethodHandle;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 3 // java.lang.invoke.MethodHandle mh
        end local 2 // java.lang.Class exType
        end local 1 // java.lang.Class returnType
        end local 0 // jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Ljdk/nashorn/internal/lookup/MethodHandleFactory$StandardMethodHandleFunctionality;
            0    2     1  returnType  Ljava/lang/Class<*>;
            0    2     2      exType  Ljava/lang/Class<+Ljava/lang/Throwable;>;
            1    2     3          mh  Ljava/lang/invoke/MethodHandle;
    Signature: (Ljava/lang/Class<*>;Ljava/lang/Class<+Ljava/lang/Throwable;>;)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
            Name  Flags
      returnType  final
      exType      final

  public 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: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=4
        start local 0 // jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality this
        start local 1 // java.lang.invoke.MethodHandle target
        start local 2 // java.lang.Class exType
        start local 3 // java.lang.invoke.MethodHandle handler
         0: .line 461
            aload 1 /* target */
            aload 2 /* exType */
            aload 3 /* handler */
            invokestatic java.lang.invoke.MethodHandles.catchException:(Ljava/lang/invoke/MethodHandle;Ljava/lang/Class;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
            astore 4 /* mh */
        start local 4 // java.lang.invoke.MethodHandle mh
         1: .line 462
            aload 0 /* this */
            aload 4 /* mh */
            ldc "catchException"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* exType */
            aastore
            invokevirtual jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality.debug:(Ljava/lang/invoke/MethodHandle;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 4 // java.lang.invoke.MethodHandle mh
        end local 3 // java.lang.invoke.MethodHandle handler
        end local 2 // java.lang.Class exType
        end local 1 // java.lang.invoke.MethodHandle target
        end local 0 // jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Ljdk/nashorn/internal/lookup/MethodHandleFactory$StandardMethodHandleFunctionality;
            0    2     1   target  Ljava/lang/invoke/MethodHandle;
            0    2     2   exType  Ljava/lang/Class<+Ljava/lang/Throwable;>;
            0    2     3  handler  Ljava/lang/invoke/MethodHandle;
            1    2     4       mh  Ljava/lang/invoke/MethodHandle;
    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 java.lang.invoke.MethodHandle constant(java.lang.Class<?>, );
    descriptor: (Ljava/lang/Class;Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=3
        start local 0 // jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality this
        start local 1 // java.lang.Class type
        start local 2 // java.lang.Object value
         0: .line 467
            aload 1 /* type */
            aload 2 /* value */
            invokestatic java.lang.invoke.MethodHandles.constant:(Ljava/lang/Class;Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
            astore 3 /* mh */
        start local 3 // java.lang.invoke.MethodHandle mh
         1: .line 468
            aload 0 /* this */
            aload 3 /* mh */
            ldc "constant"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* type */
            aastore
            dup
            iconst_1
            aload 2 /* value */
            aastore
            invokevirtual jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality.debug:(Ljava/lang/invoke/MethodHandle;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 3 // java.lang.invoke.MethodHandle mh
        end local 2 // java.lang.Object value
        end local 1 // java.lang.Class type
        end local 0 // jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Ljdk/nashorn/internal/lookup/MethodHandleFactory$StandardMethodHandleFunctionality;
            0    2     1   type  Ljava/lang/Class<*>;
            0    2     2  value  Ljava/lang/Object;
            1    2     3     mh  Ljava/lang/invoke/MethodHandle;
    Signature: (Ljava/lang/Class<*>;Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
       Name  Flags
      type   final
      value  final

  public java.lang.invoke.MethodHandle identity(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=3, args_size=2
        start local 0 // jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality this
        start local 1 // java.lang.Class type
         0: .line 473
            aload 1 /* type */
            invokestatic java.lang.invoke.MethodHandles.identity:(Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            astore 2 /* mh */
        start local 2 // java.lang.invoke.MethodHandle mh
         1: .line 474
            aload 0 /* this */
            aload 2 /* mh */
            ldc "identity"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* type */
            aastore
            invokevirtual jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality.debug:(Ljava/lang/invoke/MethodHandle;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 2 // java.lang.invoke.MethodHandle mh
        end local 1 // java.lang.Class type
        end local 0 // jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/nashorn/internal/lookup/MethodHandleFactory$StandardMethodHandleFunctionality;
            0    2     1  type  Ljava/lang/Class<*>;
            1    2     2    mh  Ljava/lang/invoke/MethodHandle;
    Signature: (Ljava/lang/Class<*>;)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
      Name  Flags
      type  final

  public 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: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=4
        start local 0 // jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality this
        start local 1 // java.lang.invoke.MethodHandle handle
        start local 2 // java.lang.Class arrayType
        start local 3 // int arrayLength
         0: .line 479
            aload 1 /* handle */
            aload 2 /* arrayType */
            iload 3 /* arrayLength */
            invokevirtual java.lang.invoke.MethodHandle.asCollector:(Ljava/lang/Class;I)Ljava/lang/invoke/MethodHandle;
            astore 4 /* mh */
        start local 4 // java.lang.invoke.MethodHandle mh
         1: .line 480
            aload 0 /* this */
            aload 4 /* mh */
            ldc "asCollector"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* handle */
            aastore
            dup
            iconst_1
            aload 2 /* arrayType */
            aastore
            dup
            iconst_2
            iload 3 /* arrayLength */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality.debug:(Ljava/lang/invoke/MethodHandle;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 4 // java.lang.invoke.MethodHandle mh
        end local 3 // int arrayLength
        end local 2 // java.lang.Class arrayType
        end local 1 // java.lang.invoke.MethodHandle handle
        end local 0 // jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Ljdk/nashorn/internal/lookup/MethodHandleFactory$StandardMethodHandleFunctionality;
            0    2     1       handle  Ljava/lang/invoke/MethodHandle;
            0    2     2    arrayType  Ljava/lang/Class<*>;
            0    2     3  arrayLength  I
            1    2     4           mh  Ljava/lang/invoke/MethodHandle;
    Signature: (Ljava/lang/invoke/MethodHandle;Ljava/lang/Class<*>;I)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
             Name  Flags
      handle       final
      arrayType    final
      arrayLength  final

  public 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: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=4
        start local 0 // jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality this
        start local 1 // java.lang.invoke.MethodHandle handle
        start local 2 // java.lang.Class arrayType
        start local 3 // int arrayLength
         0: .line 485
            aload 1 /* handle */
            aload 2 /* arrayType */
            iload 3 /* arrayLength */
            invokevirtual java.lang.invoke.MethodHandle.asSpreader:(Ljava/lang/Class;I)Ljava/lang/invoke/MethodHandle;
            astore 4 /* mh */
        start local 4 // java.lang.invoke.MethodHandle mh
         1: .line 486
            aload 0 /* this */
            aload 4 /* mh */
            ldc "asSpreader"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* handle */
            aastore
            dup
            iconst_1
            aload 2 /* arrayType */
            aastore
            dup
            iconst_2
            iload 3 /* arrayLength */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality.debug:(Ljava/lang/invoke/MethodHandle;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 4 // java.lang.invoke.MethodHandle mh
        end local 3 // int arrayLength
        end local 2 // java.lang.Class arrayType
        end local 1 // java.lang.invoke.MethodHandle handle
        end local 0 // jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Ljdk/nashorn/internal/lookup/MethodHandleFactory$StandardMethodHandleFunctionality;
            0    2     1       handle  Ljava/lang/invoke/MethodHandle;
            0    2     2    arrayType  Ljava/lang/Class<*>;
            0    2     3  arrayLength  I
            1    2     4           mh  Ljava/lang/invoke/MethodHandle;
    Signature: (Ljava/lang/invoke/MethodHandle;Ljava/lang/Class<*>;I)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
             Name  Flags
      handle       final
      arrayType    final
      arrayLength  final

  public 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: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=6, args_size=5
        start local 0 // jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality this
        start local 1 // java.lang.invoke.MethodHandles$Lookup explicitLookup
        start local 2 // java.lang.Class clazz
        start local 3 // java.lang.String name
        start local 4 // java.lang.Class type
         0: .line 492
            aload 1 /* explicitLookup */
            aload 2 /* clazz */
            aload 3 /* name */
            aload 4 /* type */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.findGetter:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            astore 5 /* mh */
        start local 5 // java.lang.invoke.MethodHandle mh
         1: .line 493
            aload 0 /* this */
            aload 5 /* mh */
            ldc "getter"
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* explicitLookup */
            aastore
            dup
            iconst_1
            aload 2 /* clazz */
            aastore
            dup
            iconst_2
            aload 3 /* name */
            aastore
            dup
            iconst_3
            aload 4 /* type */
            aastore
            invokevirtual jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality.debug:(Ljava/lang/invoke/MethodHandle;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
         2: areturn
        end local 5 // java.lang.invoke.MethodHandle mh
         3: .line 494
      StackMap locals:
      StackMap stack: java.lang.ReflectiveOperationException
            astore 5 /* e */
        start local 5 // java.lang.ReflectiveOperationException e
         4: .line 495
            new jdk.nashorn.internal.lookup.MethodHandleFactory$LookupException
            dup
            aload 5 /* e */
            invokespecial jdk.nashorn.internal.lookup.MethodHandleFactory$LookupException.<init>:(Ljava/lang/Exception;)V
            athrow
        end local 5 // java.lang.ReflectiveOperationException e
        end local 4 // java.lang.Class type
        end local 3 // java.lang.String name
        end local 2 // java.lang.Class clazz
        end local 1 // java.lang.invoke.MethodHandles$Lookup explicitLookup
        end local 0 // jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    5     0            this  Ljdk/nashorn/internal/lookup/MethodHandleFactory$StandardMethodHandleFunctionality;
            0    5     1  explicitLookup  Ljava/lang/invoke/MethodHandles$Lookup;
            0    5     2           clazz  Ljava/lang/Class<*>;
            0    5     3            name  Ljava/lang/String;
            0    5     4            type  Ljava/lang/Class<*>;
            1    3     5              mh  Ljava/lang/invoke/MethodHandle;
            4    5     5               e  Ljava/lang/ReflectiveOperationException;
      Exception table:
        from    to  target  type
           0     2       3  Class java.lang.NoSuchFieldException
           0     2       3  Class java.lang.IllegalAccessException
    Signature: (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/Class<*>;Ljava/lang/String;Ljava/lang/Class<*>;)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
                Name  Flags
      explicitLookup  final
      clazz           final
      name            final
      type            final

  public 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: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=6, args_size=5
        start local 0 // jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality this
        start local 1 // java.lang.invoke.MethodHandles$Lookup explicitLookup
        start local 2 // java.lang.Class clazz
        start local 3 // java.lang.String name
        start local 4 // java.lang.Class type
         0: .line 502
            aload 1 /* explicitLookup */
            aload 2 /* clazz */
            aload 3 /* name */
            aload 4 /* type */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.findStaticGetter:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            astore 5 /* mh */
        start local 5 // java.lang.invoke.MethodHandle mh
         1: .line 503
            aload 0 /* this */
            aload 5 /* mh */
            ldc "static getter"
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* explicitLookup */
            aastore
            dup
            iconst_1
            aload 2 /* clazz */
            aastore
            dup
            iconst_2
            aload 3 /* name */
            aastore
            dup
            iconst_3
            aload 4 /* type */
            aastore
            invokevirtual jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality.debug:(Ljava/lang/invoke/MethodHandle;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
         2: areturn
        end local 5 // java.lang.invoke.MethodHandle mh
         3: .line 504
      StackMap locals:
      StackMap stack: java.lang.ReflectiveOperationException
            astore 5 /* e */
        start local 5 // java.lang.ReflectiveOperationException e
         4: .line 505
            new jdk.nashorn.internal.lookup.MethodHandleFactory$LookupException
            dup
            aload 5 /* e */
            invokespecial jdk.nashorn.internal.lookup.MethodHandleFactory$LookupException.<init>:(Ljava/lang/Exception;)V
            athrow
        end local 5 // java.lang.ReflectiveOperationException e
        end local 4 // java.lang.Class type
        end local 3 // java.lang.String name
        end local 2 // java.lang.Class clazz
        end local 1 // java.lang.invoke.MethodHandles$Lookup explicitLookup
        end local 0 // jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    5     0            this  Ljdk/nashorn/internal/lookup/MethodHandleFactory$StandardMethodHandleFunctionality;
            0    5     1  explicitLookup  Ljava/lang/invoke/MethodHandles$Lookup;
            0    5     2           clazz  Ljava/lang/Class<*>;
            0    5     3            name  Ljava/lang/String;
            0    5     4            type  Ljava/lang/Class<*>;
            1    3     5              mh  Ljava/lang/invoke/MethodHandle;
            4    5     5               e  Ljava/lang/ReflectiveOperationException;
      Exception table:
        from    to  target  type
           0     2       3  Class java.lang.NoSuchFieldException
           0     2       3  Class java.lang.IllegalAccessException
    Signature: (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/Class<*>;Ljava/lang/String;Ljava/lang/Class<*>;)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
                Name  Flags
      explicitLookup  final
      clazz           final
      name            final
      type            final

  public 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: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=6, args_size=5
        start local 0 // jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality this
        start local 1 // java.lang.invoke.MethodHandles$Lookup explicitLookup
        start local 2 // java.lang.Class clazz
        start local 3 // java.lang.String name
        start local 4 // java.lang.Class type
         0: .line 512
            aload 1 /* explicitLookup */
            aload 2 /* clazz */
            aload 3 /* name */
            aload 4 /* type */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.findSetter:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            astore 5 /* mh */
        start local 5 // java.lang.invoke.MethodHandle mh
         1: .line 513
            aload 0 /* this */
            aload 5 /* mh */
            ldc "setter"
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* explicitLookup */
            aastore
            dup
            iconst_1
            aload 2 /* clazz */
            aastore
            dup
            iconst_2
            aload 3 /* name */
            aastore
            dup
            iconst_3
            aload 4 /* type */
            aastore
            invokevirtual jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality.debug:(Ljava/lang/invoke/MethodHandle;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
         2: areturn
        end local 5 // java.lang.invoke.MethodHandle mh
         3: .line 514
      StackMap locals:
      StackMap stack: java.lang.ReflectiveOperationException
            astore 5 /* e */
        start local 5 // java.lang.ReflectiveOperationException e
         4: .line 515
            new jdk.nashorn.internal.lookup.MethodHandleFactory$LookupException
            dup
            aload 5 /* e */
            invokespecial jdk.nashorn.internal.lookup.MethodHandleFactory$LookupException.<init>:(Ljava/lang/Exception;)V
            athrow
        end local 5 // java.lang.ReflectiveOperationException e
        end local 4 // java.lang.Class type
        end local 3 // java.lang.String name
        end local 2 // java.lang.Class clazz
        end local 1 // java.lang.invoke.MethodHandles$Lookup explicitLookup
        end local 0 // jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    5     0            this  Ljdk/nashorn/internal/lookup/MethodHandleFactory$StandardMethodHandleFunctionality;
            0    5     1  explicitLookup  Ljava/lang/invoke/MethodHandles$Lookup;
            0    5     2           clazz  Ljava/lang/Class<*>;
            0    5     3            name  Ljava/lang/String;
            0    5     4            type  Ljava/lang/Class<*>;
            1    3     5              mh  Ljava/lang/invoke/MethodHandle;
            4    5     5               e  Ljava/lang/ReflectiveOperationException;
      Exception table:
        from    to  target  type
           0     2       3  Class java.lang.NoSuchFieldException
           0     2       3  Class java.lang.IllegalAccessException
    Signature: (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/Class<*>;Ljava/lang/String;Ljava/lang/Class<*>;)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
                Name  Flags
      explicitLookup  final
      clazz           final
      name            final
      type            final

  public 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: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=6, args_size=5
        start local 0 // jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality this
        start local 1 // java.lang.invoke.MethodHandles$Lookup explicitLookup
        start local 2 // java.lang.Class clazz
        start local 3 // java.lang.String name
        start local 4 // java.lang.Class type
         0: .line 522
            aload 1 /* explicitLookup */
            aload 2 /* clazz */
            aload 3 /* name */
            aload 4 /* type */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.findStaticSetter:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            astore 5 /* mh */
        start local 5 // java.lang.invoke.MethodHandle mh
         1: .line 523
            aload 0 /* this */
            aload 5 /* mh */
            ldc "static setter"
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* explicitLookup */
            aastore
            dup
            iconst_1
            aload 2 /* clazz */
            aastore
            dup
            iconst_2
            aload 3 /* name */
            aastore
            dup
            iconst_3
            aload 4 /* type */
            aastore
            invokevirtual jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality.debug:(Ljava/lang/invoke/MethodHandle;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
         2: areturn
        end local 5 // java.lang.invoke.MethodHandle mh
         3: .line 524
      StackMap locals:
      StackMap stack: java.lang.ReflectiveOperationException
            astore 5 /* e */
        start local 5 // java.lang.ReflectiveOperationException e
         4: .line 525
            new jdk.nashorn.internal.lookup.MethodHandleFactory$LookupException
            dup
            aload 5 /* e */
            invokespecial jdk.nashorn.internal.lookup.MethodHandleFactory$LookupException.<init>:(Ljava/lang/Exception;)V
            athrow
        end local 5 // java.lang.ReflectiveOperationException e
        end local 4 // java.lang.Class type
        end local 3 // java.lang.String name
        end local 2 // java.lang.Class clazz
        end local 1 // java.lang.invoke.MethodHandles$Lookup explicitLookup
        end local 0 // jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    5     0            this  Ljdk/nashorn/internal/lookup/MethodHandleFactory$StandardMethodHandleFunctionality;
            0    5     1  explicitLookup  Ljava/lang/invoke/MethodHandles$Lookup;
            0    5     2           clazz  Ljava/lang/Class<*>;
            0    5     3            name  Ljava/lang/String;
            0    5     4            type  Ljava/lang/Class<*>;
            1    3     5              mh  Ljava/lang/invoke/MethodHandle;
            4    5     5               e  Ljava/lang/ReflectiveOperationException;
      Exception table:
        from    to  target  type
           0     2       3  Class java.lang.NoSuchFieldException
           0     2       3  Class java.lang.IllegalAccessException
    Signature: (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/Class<*>;Ljava/lang/String;Ljava/lang/Class<*>;)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
                Name  Flags
      explicitLookup  final
      clazz           final
      name            final
      type            final

  public java.lang.invoke.MethodHandle find(java.lang.reflect.Method);
    descriptor: (Ljava/lang/reflect/Method;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=3, args_size=2
        start local 0 // jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality this
        start local 1 // java.lang.reflect.Method method
         0: .line 532
            getstatic jdk.nashorn.internal.lookup.MethodHandleFactory.PUBLIC_LOOKUP:Ljava/lang/invoke/MethodHandles$Lookup;
            aload 1 /* method */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.unreflect:(Ljava/lang/reflect/Method;)Ljava/lang/invoke/MethodHandle;
            astore 2 /* mh */
        start local 2 // java.lang.invoke.MethodHandle mh
         1: .line 533
            aload 0 /* this */
            aload 2 /* mh */
            ldc "find"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* method */
            aastore
            invokevirtual jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality.debug:(Ljava/lang/invoke/MethodHandle;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
         2: areturn
        end local 2 // java.lang.invoke.MethodHandle mh
         3: .line 534
      StackMap locals:
      StackMap stack: java.lang.IllegalAccessException
            astore 2 /* e */
        start local 2 // java.lang.IllegalAccessException e
         4: .line 535
            new jdk.nashorn.internal.lookup.MethodHandleFactory$LookupException
            dup
            aload 2 /* e */
            invokespecial jdk.nashorn.internal.lookup.MethodHandleFactory$LookupException.<init>:(Ljava/lang/Exception;)V
            athrow
        end local 2 // java.lang.IllegalAccessException e
        end local 1 // java.lang.reflect.Method method
        end local 0 // jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Ljdk/nashorn/internal/lookup/MethodHandleFactory$StandardMethodHandleFunctionality;
            0    5     1  method  Ljava/lang/reflect/Method;
            1    3     2      mh  Ljava/lang/invoke/MethodHandle;
            4    5     2       e  Ljava/lang/IllegalAccessException;
      Exception table:
        from    to  target  type
           0     2       3  Class java.lang.IllegalAccessException
    MethodParameters:
        Name  Flags
      method  final

  public 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: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=6, args_size=5
        start local 0 // jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality this
        start local 1 // java.lang.invoke.MethodHandles$Lookup explicitLookup
        start local 2 // java.lang.Class clazz
        start local 3 // java.lang.String name
        start local 4 // java.lang.invoke.MethodType type
         0: .line 542
            aload 1 /* explicitLookup */
            aload 2 /* clazz */
            aload 3 /* name */
            aload 4 /* type */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
            astore 5 /* mh */
        start local 5 // java.lang.invoke.MethodHandle mh
         1: .line 543
            aload 0 /* this */
            aload 5 /* mh */
            ldc "findStatic"
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* explicitLookup */
            aastore
            dup
            iconst_1
            aload 2 /* clazz */
            aastore
            dup
            iconst_2
            aload 3 /* name */
            aastore
            dup
            iconst_3
            aload 4 /* type */
            aastore
            invokevirtual jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality.debug:(Ljava/lang/invoke/MethodHandle;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
         2: areturn
        end local 5 // java.lang.invoke.MethodHandle mh
         3: .line 544
      StackMap locals:
      StackMap stack: java.lang.ReflectiveOperationException
            astore 5 /* e */
        start local 5 // java.lang.ReflectiveOperationException e
         4: .line 545
            new jdk.nashorn.internal.lookup.MethodHandleFactory$LookupException
            dup
            aload 5 /* e */
            invokespecial jdk.nashorn.internal.lookup.MethodHandleFactory$LookupException.<init>:(Ljava/lang/Exception;)V
            athrow
        end local 5 // java.lang.ReflectiveOperationException e
        end local 4 // java.lang.invoke.MethodType type
        end local 3 // java.lang.String name
        end local 2 // java.lang.Class clazz
        end local 1 // java.lang.invoke.MethodHandles$Lookup explicitLookup
        end local 0 // jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    5     0            this  Ljdk/nashorn/internal/lookup/MethodHandleFactory$StandardMethodHandleFunctionality;
            0    5     1  explicitLookup  Ljava/lang/invoke/MethodHandles$Lookup;
            0    5     2           clazz  Ljava/lang/Class<*>;
            0    5     3            name  Ljava/lang/String;
            0    5     4            type  Ljava/lang/invoke/MethodType;
            1    3     5              mh  Ljava/lang/invoke/MethodHandle;
            4    5     5               e  Ljava/lang/ReflectiveOperationException;
      Exception table:
        from    to  target  type
           0     2       3  Class java.lang.NoSuchMethodException
           0     2       3  Class java.lang.IllegalAccessException
    Signature: (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/Class<*>;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
                Name  Flags
      explicitLookup  final
      clazz           final
      name            final
      type            final

  public 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: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=7, args_size=6
        start local 0 // jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality this
        start local 1 // java.lang.invoke.MethodHandles$Lookup explicitLookup
        start local 2 // java.lang.Class clazz
        start local 3 // java.lang.String name
        start local 4 // java.lang.invoke.MethodType type
        start local 5 // java.lang.Class thisClass
         0: .line 552
            aload 1 /* explicitLookup */
            aload 2 /* clazz */
            aload 3 /* name */
            aload 4 /* type */
            aload 5 /* thisClass */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.findSpecial:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            astore 6 /* mh */
        start local 6 // java.lang.invoke.MethodHandle mh
         1: .line 553
            aload 0 /* this */
            aload 6 /* mh */
            ldc "findSpecial"
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* explicitLookup */
            aastore
            dup
            iconst_1
            aload 2 /* clazz */
            aastore
            dup
            iconst_2
            aload 3 /* name */
            aastore
            dup
            iconst_3
            aload 4 /* type */
            aastore
            invokevirtual jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality.debug:(Ljava/lang/invoke/MethodHandle;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
         2: areturn
        end local 6 // java.lang.invoke.MethodHandle mh
         3: .line 554
      StackMap locals:
      StackMap stack: java.lang.ReflectiveOperationException
            astore 6 /* e */
        start local 6 // java.lang.ReflectiveOperationException e
         4: .line 555
            new jdk.nashorn.internal.lookup.MethodHandleFactory$LookupException
            dup
            aload 6 /* e */
            invokespecial jdk.nashorn.internal.lookup.MethodHandleFactory$LookupException.<init>:(Ljava/lang/Exception;)V
            athrow
        end local 6 // java.lang.ReflectiveOperationException e
        end local 5 // java.lang.Class thisClass
        end local 4 // java.lang.invoke.MethodType type
        end local 3 // java.lang.String name
        end local 2 // java.lang.Class clazz
        end local 1 // java.lang.invoke.MethodHandles$Lookup explicitLookup
        end local 0 // jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    5     0            this  Ljdk/nashorn/internal/lookup/MethodHandleFactory$StandardMethodHandleFunctionality;
            0    5     1  explicitLookup  Ljava/lang/invoke/MethodHandles$Lookup;
            0    5     2           clazz  Ljava/lang/Class<*>;
            0    5     3            name  Ljava/lang/String;
            0    5     4            type  Ljava/lang/invoke/MethodType;
            0    5     5       thisClass  Ljava/lang/Class<*>;
            1    3     6              mh  Ljava/lang/invoke/MethodHandle;
            4    5     6               e  Ljava/lang/ReflectiveOperationException;
      Exception table:
        from    to  target  type
           0     2       3  Class java.lang.NoSuchMethodException
           0     2       3  Class java.lang.IllegalAccessException
    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  final
      clazz           final
      name            final
      type            final
      thisClass       final

  public 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: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=6, args_size=5
        start local 0 // jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality this
        start local 1 // java.lang.invoke.MethodHandles$Lookup explicitLookup
        start local 2 // java.lang.Class clazz
        start local 3 // java.lang.String name
        start local 4 // java.lang.invoke.MethodType type
         0: .line 562
            aload 1 /* explicitLookup */
            aload 2 /* clazz */
            aload 3 /* name */
            aload 4 /* type */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.findVirtual:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
            astore 5 /* mh */
        start local 5 // java.lang.invoke.MethodHandle mh
         1: .line 563
            aload 0 /* this */
            aload 5 /* mh */
            ldc "findVirtual"
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* explicitLookup */
            aastore
            dup
            iconst_1
            aload 2 /* clazz */
            aastore
            dup
            iconst_2
            aload 3 /* name */
            aastore
            dup
            iconst_3
            aload 4 /* type */
            aastore
            invokevirtual jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality.debug:(Ljava/lang/invoke/MethodHandle;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
         2: areturn
        end local 5 // java.lang.invoke.MethodHandle mh
         3: .line 564
      StackMap locals:
      StackMap stack: java.lang.ReflectiveOperationException
            astore 5 /* e */
        start local 5 // java.lang.ReflectiveOperationException e
         4: .line 565
            new jdk.nashorn.internal.lookup.MethodHandleFactory$LookupException
            dup
            aload 5 /* e */
            invokespecial jdk.nashorn.internal.lookup.MethodHandleFactory$LookupException.<init>:(Ljava/lang/Exception;)V
            athrow
        end local 5 // java.lang.ReflectiveOperationException e
        end local 4 // java.lang.invoke.MethodType type
        end local 3 // java.lang.String name
        end local 2 // java.lang.Class clazz
        end local 1 // java.lang.invoke.MethodHandles$Lookup explicitLookup
        end local 0 // jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    5     0            this  Ljdk/nashorn/internal/lookup/MethodHandleFactory$StandardMethodHandleFunctionality;
            0    5     1  explicitLookup  Ljava/lang/invoke/MethodHandles$Lookup;
            0    5     2           clazz  Ljava/lang/Class<*>;
            0    5     3            name  Ljava/lang/String;
            0    5     4            type  Ljava/lang/invoke/MethodType;
            1    3     5              mh  Ljava/lang/invoke/MethodHandle;
            4    5     5               e  Ljava/lang/ReflectiveOperationException;
      Exception table:
        from    to  target  type
           0     2       3  Class java.lang.NoSuchMethodException
           0     2       3  Class java.lang.IllegalAccessException
    Signature: (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/Class<*>;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
                Name  Flags
      explicitLookup  final
      clazz           final
      name            final
      type            final

  public java.lang.invoke.SwitchPoint createSwitchPoint();
    descriptor: ()Ljava/lang/invoke/SwitchPoint;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=1
        start local 0 // jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality this
         0: .line 571
            new java.lang.invoke.SwitchPoint
            dup
            invokespecial java.lang.invoke.SwitchPoint.<init>:()V
            astore 1 /* sp */
        start local 1 // java.lang.invoke.SwitchPoint sp
         1: .line 572
            aload 0 /* this */
            getfield jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality.log:Ljdk/nashorn/internal/runtime/logging/DebugLogger;
            getstatic jdk.nashorn.internal.lookup.MethodHandleFactory.TRACE_LEVEL:Ljava/util/logging/Level;
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            ldc "createSwitchPoint "
            aastore
            dup
            iconst_1
            aload 1 /* sp */
            aastore
            invokevirtual jdk.nashorn.internal.runtime.logging.DebugLogger.log:(Ljava/util/logging/Level;[Ljava/lang/Object;)V
         2: .line 573
            aload 1 /* sp */
            areturn
        end local 1 // java.lang.invoke.SwitchPoint sp
        end local 0 // jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/nashorn/internal/lookup/MethodHandleFactory$StandardMethodHandleFunctionality;
            1    3     1    sp  Ljava/lang/invoke/SwitchPoint;

  public 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: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=4
        start local 0 // jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality this
        start local 1 // java.lang.invoke.SwitchPoint sp
        start local 2 // java.lang.invoke.MethodHandle before
        start local 3 // java.lang.invoke.MethodHandle after
         0: .line 578
            aload 1 /* sp */
            aload 2 /* before */
            aload 3 /* after */
            invokevirtual java.lang.invoke.SwitchPoint.guardWithTest:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
            astore 4 /* mh */
        start local 4 // java.lang.invoke.MethodHandle mh
         1: .line 579
            aload 0 /* this */
            aload 4 /* mh */
            ldc "guardWithTest"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* sp */
            aastore
            dup
            iconst_1
            aload 2 /* before */
            aastore
            dup
            iconst_2
            aload 3 /* after */
            aastore
            invokevirtual jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality.debug:(Ljava/lang/invoke/MethodHandle;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 4 // java.lang.invoke.MethodHandle mh
        end local 3 // java.lang.invoke.MethodHandle after
        end local 2 // java.lang.invoke.MethodHandle before
        end local 1 // java.lang.invoke.SwitchPoint sp
        end local 0 // jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Ljdk/nashorn/internal/lookup/MethodHandleFactory$StandardMethodHandleFunctionality;
            0    2     1      sp  Ljava/lang/invoke/SwitchPoint;
            0    2     2  before  Ljava/lang/invoke/MethodHandle;
            0    2     3   after  Ljava/lang/invoke/MethodHandle;
            1    2     4      mh  Ljava/lang/invoke/MethodHandle;
    MethodParameters:
        Name  Flags
      sp      final
      before  final
      after   final

  public java.lang.invoke.MethodType type(java.lang.Class<?>, java.lang.Class<?>[]);
    descriptor: (Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality this
        start local 1 // java.lang.Class returnType
        start local 2 // java.lang.Class[] paramTypes
         0: .line 584
            aload 1 /* returnType */
            aload 2 /* paramTypes */
            invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
            astore 3 /* mt */
        start local 3 // java.lang.invoke.MethodType mt
         1: .line 585
            aload 0 /* this */
            getfield jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality.log:Ljdk/nashorn/internal/runtime/logging/DebugLogger;
            getstatic jdk.nashorn.internal.lookup.MethodHandleFactory.TRACE_LEVEL:Ljava/util/logging/Level;
            bipush 6
            anewarray java.lang.Object
            dup
            iconst_0
            ldc "methodType "
            aastore
            dup
            iconst_1
            aload 1 /* returnType */
            aastore
            dup
            iconst_2
            ldc " "
            aastore
            dup
            iconst_3
            aload 2 /* paramTypes */
            invokestatic java.util.Arrays.toString:([Ljava/lang/Object;)Ljava/lang/String;
            aastore
            dup
            iconst_4
            ldc " "
            aastore
            dup
            iconst_5
            aload 3 /* mt */
            aastore
            invokevirtual jdk.nashorn.internal.runtime.logging.DebugLogger.log:(Ljava/util/logging/Level;[Ljava/lang/Object;)V
         2: .line 586
            aload 3 /* mt */
            areturn
        end local 3 // java.lang.invoke.MethodType mt
        end local 2 // java.lang.Class[] paramTypes
        end local 1 // java.lang.Class returnType
        end local 0 // jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Ljdk/nashorn/internal/lookup/MethodHandleFactory$StandardMethodHandleFunctionality;
            0    3     1  returnType  Ljava/lang/Class<*>;
            0    3     2  paramTypes  [Ljava/lang/Class;
            1    3     3          mt  Ljava/lang/invoke/MethodType;
    Signature: (Ljava/lang/Class<*>;[Ljava/lang/Class<*>;)Ljava/lang/invoke/MethodType;
    MethodParameters:
            Name  Flags
      returnType  final
      paramTypes  final
}
SourceFile: "MethodHandleFactory.java"
NestHost: jdk.nashorn.internal.lookup.MethodHandleFactory
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public LookupException = jdk.nashorn.internal.lookup.MethodHandleFactory$LookupException of jdk.nashorn.internal.lookup.MethodHandleFactory
  private StandardMethodHandleFunctionality = jdk.nashorn.internal.lookup.MethodHandleFactory$StandardMethodHandleFunctionality of jdk.nashorn.internal.lookup.MethodHandleFactory
    RuntimeVisibleAnnotations: 
      jdk.nashorn.internal.runtime.logging.Logger(name = "methodhandles")