class java.lang.invoke.LambdaFormEditor
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: java.lang.invoke.LambdaFormEditor
  super_class: java.lang.Object
{
  final java.lang.invoke.LambdaForm lambdaForm;
    descriptor: Ljava/lang/invoke/LambdaForm;
    flags: (0x0010) ACC_FINAL

  private static final int MIN_CACHE_ARRAY_SIZE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  private static final int MAX_CACHE_ARRAY_SIZE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 16

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 43
            ldc Ljava/lang/invoke/LambdaFormEditor;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic java.lang.invoke.LambdaFormEditor.$assertionsDisabled:Z
         3: .line 287
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>(java.lang.invoke.LambdaForm);
    descriptor: (Ljava/lang/invoke/LambdaForm;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.invoke.LambdaFormEditor this
        start local 1 // java.lang.invoke.LambdaForm lambdaForm
         0: .line 46
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 47
            aload 0 /* this */
            aload 1 /* lambdaForm */
            putfield java.lang.invoke.LambdaFormEditor.lambdaForm:Ljava/lang/invoke/LambdaForm;
         2: .line 48
            return
        end local 1 // java.lang.invoke.LambdaForm lambdaForm
        end local 0 // java.lang.invoke.LambdaFormEditor this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Ljava/lang/invoke/LambdaFormEditor;
            0    3     1  lambdaForm  Ljava/lang/invoke/LambdaForm;
    MethodParameters:
            Name  Flags
      lambdaForm  

  static java.lang.invoke.LambdaFormEditor lambdaFormEditor(java.lang.invoke.LambdaForm);
    descriptor: (Ljava/lang/invoke/LambdaForm;)Ljava/lang/invoke/LambdaFormEditor;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.invoke.LambdaForm lambdaForm
         0: .line 57
            new java.lang.invoke.LambdaFormEditor
            dup
            aload 0 /* lambdaForm */
            invokevirtual java.lang.invoke.LambdaForm.uncustomize:()Ljava/lang/invoke/LambdaForm;
            invokespecial java.lang.invoke.LambdaFormEditor.<init>:(Ljava/lang/invoke/LambdaForm;)V
            areturn
        end local 0 // java.lang.invoke.LambdaForm lambdaForm
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0  lambdaForm  Ljava/lang/invoke/LambdaForm;
    MethodParameters:
            Name  Flags
      lambdaForm  

  private java.lang.invoke.LambdaForm getInCache(java.lang.invoke.LambdaFormEditor$Transform);
    descriptor: (Ljava/lang/invoke/LambdaFormEditor$Transform;)Ljava/lang/invoke/LambdaForm;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=7, args_size=2
        start local 0 // java.lang.invoke.LambdaFormEditor this
        start local 1 // java.lang.invoke.LambdaFormEditor$Transform key
         0: .line 260
            getstatic java.lang.invoke.LambdaFormEditor.$assertionsDisabled:Z
            ifne 1
            aload 1 /* key */
            invokevirtual java.lang.invoke.LambdaFormEditor$Transform.get:()Ljava/lang/Object;
            ifnull 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 262
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.lang.invoke.LambdaFormEditor.lambdaForm:Ljava/lang/invoke/LambdaForm;
            getfield java.lang.invoke.LambdaForm.transformCache:Ljava/lang/Object;
            astore 2 /* c */
        start local 2 // java.lang.Object c
         2: .line 263
            aconst_null
            astore 3 /* k */
        start local 3 // java.lang.invoke.LambdaFormEditor$Transform k
         3: .line 264
            aload 2 /* c */
            instanceof java.util.concurrent.ConcurrentHashMap
            ifeq 7
         4: .line 266
            aload 2 /* c */
            checkcast java.util.concurrent.ConcurrentHashMap
            astore 4 /* m */
        start local 4 // java.util.concurrent.ConcurrentHashMap m
         5: .line 267
            aload 4 /* m */
            aload 1 /* key */
            invokevirtual java.util.concurrent.ConcurrentHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.invoke.LambdaFormEditor$Transform
            astore 3 /* k */
        end local 4 // java.util.concurrent.ConcurrentHashMap m
         6: .line 268
            goto 21
      StackMap locals: java.lang.Object java.lang.invoke.LambdaFormEditor$Transform
      StackMap stack:
         7: aload 2 /* c */
            ifnonnull 9
         8: .line 269
            aconst_null
            areturn
         9: .line 270
      StackMap locals:
      StackMap stack:
            aload 2 /* c */
            instanceof java.lang.invoke.LambdaFormEditor$Transform
            ifeq 13
        10: .line 272
            aload 2 /* c */
            checkcast java.lang.invoke.LambdaFormEditor$Transform
            astore 4 /* t */
        start local 4 // java.lang.invoke.LambdaFormEditor$Transform t
        11: .line 273
            aload 4 /* t */
            aload 1 /* key */
            invokevirtual java.lang.invoke.LambdaFormEditor$Transform.equals:(Ljava/lang/invoke/LambdaFormEditor$Transform;)Z
            ifeq 21
            aload 4 /* t */
            astore 3 /* k */
        end local 4 // java.lang.invoke.LambdaFormEditor$Transform t
        12: .line 274
            goto 21
        13: .line 275
      StackMap locals:
      StackMap stack:
            aload 2 /* c */
            checkcast java.lang.invoke.LambdaFormEditor$Transform[]
            astore 4 /* ta */
        start local 4 // java.lang.invoke.LambdaFormEditor$Transform[] ta
        14: .line 276
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        15: goto 20
        16: .line 277
      StackMap locals: java.lang.invoke.LambdaFormEditor$Transform[] int
      StackMap stack:
            aload 4 /* ta */
            iload 5 /* i */
            aaload
            astore 6 /* t */
        start local 6 // java.lang.invoke.LambdaFormEditor$Transform t
        17: .line 278
            aload 6 /* t */
            ifnonnull 18
            goto 21
        18: .line 279
      StackMap locals: java.lang.invoke.LambdaFormEditor$Transform
      StackMap stack:
            aload 6 /* t */
            aload 1 /* key */
            invokevirtual java.lang.invoke.LambdaFormEditor$Transform.equals:(Ljava/lang/invoke/LambdaFormEditor$Transform;)Z
            ifeq 19
            aload 6 /* t */
            astore 3 /* k */
            goto 21
        end local 6 // java.lang.invoke.LambdaFormEditor$Transform t
        19: .line 276
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        20: iload 5 /* i */
            aload 4 /* ta */
            arraylength
            if_icmplt 16
        end local 5 // int i
        end local 4 // java.lang.invoke.LambdaFormEditor$Transform[] ta
        21: .line 282
      StackMap locals:
      StackMap stack:
            getstatic java.lang.invoke.LambdaFormEditor.$assertionsDisabled:Z
            ifne 22
            aload 3 /* k */
            ifnull 22
            aload 1 /* key */
            aload 3 /* k */
            invokevirtual java.lang.invoke.LambdaFormEditor$Transform.equals:(Ljava/lang/invoke/LambdaFormEditor$Transform;)Z
            ifne 22
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        22: .line 283
      StackMap locals:
      StackMap stack:
            aload 3 /* k */
            ifnull 23
            aload 3 /* k */
            invokevirtual java.lang.invoke.LambdaFormEditor$Transform.get:()Ljava/lang/Object;
            checkcast java.lang.invoke.LambdaForm
            goto 24
      StackMap locals:
      StackMap stack:
        23: aconst_null
      StackMap locals:
      StackMap stack: java.lang.invoke.LambdaForm
        24: areturn
        end local 3 // java.lang.invoke.LambdaFormEditor$Transform k
        end local 2 // java.lang.Object c
        end local 1 // java.lang.invoke.LambdaFormEditor$Transform key
        end local 0 // java.lang.invoke.LambdaFormEditor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   25     0  this  Ljava/lang/invoke/LambdaFormEditor;
            0   25     1   key  Ljava/lang/invoke/LambdaFormEditor$Transform;
            2   25     2     c  Ljava/lang/Object;
            3   25     3     k  Ljava/lang/invoke/LambdaFormEditor$Transform;
            5    6     4     m  Ljava/util/concurrent/ConcurrentHashMap<Ljava/lang/invoke/LambdaFormEditor$Transform;Ljava/lang/invoke/LambdaFormEditor$Transform;>;
           11   12     4     t  Ljava/lang/invoke/LambdaFormEditor$Transform;
           14   21     4    ta  [Ljava/lang/invoke/LambdaFormEditor$Transform;
           15   21     5     i  I
           17   19     6     t  Ljava/lang/invoke/LambdaFormEditor$Transform;
    MethodParameters:
      Name  Flags
      key   

  private java.lang.invoke.LambdaForm putInCache(java.lang.invoke.LambdaFormEditor$Transform, java.lang.invoke.LambdaForm);
    descriptor: (Ljava/lang/invoke/LambdaFormEditor$Transform;Ljava/lang/invoke/LambdaForm;)Ljava/lang/invoke/LambdaForm;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=15, args_size=3
        start local 0 // java.lang.invoke.LambdaFormEditor this
        start local 1 // java.lang.invoke.LambdaFormEditor$Transform key
        start local 2 // java.lang.invoke.LambdaForm form
         0: .line 293
            aload 1 /* key */
            aload 2 /* form */
            invokevirtual java.lang.invoke.LambdaFormEditor$Transform.withResult:(Ljava/lang/invoke/LambdaForm;)Ljava/lang/invoke/LambdaFormEditor$Transform;
            astore 1 /* key */
         1: .line 294
            iconst_0
            istore 3 /* pass */
        start local 3 // int pass
         2: .line 295
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield java.lang.invoke.LambdaFormEditor.lambdaForm:Ljava/lang/invoke/LambdaForm;
            getfield java.lang.invoke.LambdaForm.transformCache:Ljava/lang/Object;
            astore 4 /* c */
        start local 4 // java.lang.Object c
         3: .line 296
            aload 4 /* c */
            instanceof java.util.concurrent.ConcurrentHashMap
            ifeq 12
         4: .line 298
            aload 4 /* c */
            checkcast java.util.concurrent.ConcurrentHashMap
            astore 5 /* m */
        start local 5 // java.util.concurrent.ConcurrentHashMap m
         5: .line 299
            aload 5 /* m */
            aload 1 /* key */
            aload 1 /* key */
            invokevirtual java.util.concurrent.ConcurrentHashMap.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.invoke.LambdaFormEditor$Transform
            astore 6 /* k */
        start local 6 // java.lang.invoke.LambdaFormEditor$Transform k
         6: .line 300
            aload 6 /* k */
            ifnonnull 7
            aload 2 /* form */
            areturn
         7: .line 301
      StackMap locals: java.lang.Object java.util.concurrent.ConcurrentHashMap java.lang.invoke.LambdaFormEditor$Transform
      StackMap stack:
            aload 6 /* k */
            invokevirtual java.lang.invoke.LambdaFormEditor$Transform.get:()Ljava/lang/Object;
            checkcast java.lang.invoke.LambdaForm
            astore 7 /* result */
        start local 7 // java.lang.invoke.LambdaForm result
         8: .line 302
            aload 7 /* result */
            ifnull 10
         9: .line 303
            aload 7 /* result */
            areturn
        10: .line 305
      StackMap locals: java.lang.invoke.LambdaForm
      StackMap stack:
            aload 5 /* m */
            aload 1 /* key */
            aload 6 /* k */
            aload 1 /* key */
            invokevirtual java.util.concurrent.ConcurrentHashMap.replace:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Z
            ifeq 83
        11: .line 306
            aload 2 /* form */
            areturn
        end local 7 // java.lang.invoke.LambdaForm result
        end local 6 // java.lang.invoke.LambdaFormEditor$Transform k
        end local 5 // java.util.concurrent.ConcurrentHashMap m
        12: .line 312
      StackMap locals:
      StackMap stack:
            getstatic java.lang.invoke.LambdaFormEditor.$assertionsDisabled:Z
            ifne 13
            iload 3 /* pass */
            ifeq 13
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        13: .line 313
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.lang.invoke.LambdaFormEditor.lambdaForm:Ljava/lang/invoke/LambdaForm;
            dup
            astore 5
            monitorenter
        14: .line 314
            aload 0 /* this */
            getfield java.lang.invoke.LambdaFormEditor.lambdaForm:Ljava/lang/invoke/LambdaForm;
            getfield java.lang.invoke.LambdaForm.transformCache:Ljava/lang/Object;
            astore 4 /* c */
        15: .line 315
            aload 4 /* c */
            instanceof java.util.concurrent.ConcurrentHashMap
            ifeq 18
        16: .line 316
            aload 5
            monitorexit
        17: goto 83
        18: .line 317
      StackMap locals: java.lang.invoke.LambdaForm
      StackMap stack:
            aload 4 /* c */
            ifnonnull 22
        19: .line 318
            aload 0 /* this */
            getfield java.lang.invoke.LambdaFormEditor.lambdaForm:Ljava/lang/invoke/LambdaForm;
            aload 1 /* key */
            putfield java.lang.invoke.LambdaForm.transformCache:Ljava/lang/Object;
        20: .line 319
            aload 2 /* form */
            aload 5
            monitorexit
        21: areturn
        22: .line 322
      StackMap locals:
      StackMap stack:
            aload 4 /* c */
            instanceof java.lang.invoke.LambdaFormEditor$Transform
            ifeq 40
        23: .line 323
            aload 4 /* c */
            checkcast java.lang.invoke.LambdaFormEditor$Transform
            astore 7 /* k */
        start local 7 // java.lang.invoke.LambdaFormEditor$Transform k
        24: .line 324
            aload 7 /* k */
            aload 1 /* key */
            invokevirtual java.lang.invoke.LambdaFormEditor$Transform.equals:(Ljava/lang/invoke/LambdaFormEditor$Transform;)Z
            ifeq 32
        25: .line 325
            aload 7 /* k */
            invokevirtual java.lang.invoke.LambdaFormEditor$Transform.get:()Ljava/lang/Object;
            checkcast java.lang.invoke.LambdaForm
            astore 8 /* result */
        start local 8 // java.lang.invoke.LambdaForm result
        26: .line 326
            aload 8 /* result */
            ifnonnull 30
        27: .line 327
            aload 0 /* this */
            getfield java.lang.invoke.LambdaFormEditor.lambdaForm:Ljava/lang/invoke/LambdaForm;
            aload 1 /* key */
            putfield java.lang.invoke.LambdaForm.transformCache:Ljava/lang/Object;
        28: .line 328
            aload 2 /* form */
            aload 5
            monitorexit
        29: areturn
        30: .line 330
      StackMap locals: java.lang.invoke.LambdaFormEditor java.lang.invoke.LambdaFormEditor$Transform java.lang.invoke.LambdaForm int java.lang.Object java.lang.invoke.LambdaForm top java.lang.invoke.LambdaFormEditor$Transform java.lang.invoke.LambdaForm
      StackMap stack:
            aload 8 /* result */
            aload 5
            monitorexit
        31: areturn
        end local 8 // java.lang.invoke.LambdaForm result
        32: .line 332
      StackMap locals:
      StackMap stack:
            aload 7 /* k */
            invokevirtual java.lang.invoke.LambdaFormEditor$Transform.get:()Ljava/lang/Object;
            ifnonnull 36
        33: .line 333
            aload 0 /* this */
            getfield java.lang.invoke.LambdaFormEditor.lambdaForm:Ljava/lang/invoke/LambdaForm;
            aload 1 /* key */
            putfield java.lang.invoke.LambdaForm.transformCache:Ljava/lang/Object;
        34: .line 334
            aload 2 /* form */
            aload 5
            monitorexit
        35: areturn
        36: .line 337
      StackMap locals:
      StackMap stack:
            iconst_4
            anewarray java.lang.invoke.LambdaFormEditor$Transform
            astore 6 /* ta */
        start local 6 // java.lang.invoke.LambdaFormEditor$Transform[] ta
        37: .line 338
            aload 6 /* ta */
            iconst_0
            aload 7 /* k */
            aastore
        38: .line 339
            aload 0 /* this */
            getfield java.lang.invoke.LambdaFormEditor.lambdaForm:Ljava/lang/invoke/LambdaForm;
            aload 6 /* ta */
            putfield java.lang.invoke.LambdaForm.transformCache:Ljava/lang/Object;
        end local 7 // java.lang.invoke.LambdaFormEditor$Transform k
        39: .line 340
            goto 41
        end local 6 // java.lang.invoke.LambdaFormEditor$Transform[] ta
        40: .line 342
      StackMap locals: java.lang.invoke.LambdaFormEditor java.lang.invoke.LambdaFormEditor$Transform java.lang.invoke.LambdaForm int java.lang.Object java.lang.invoke.LambdaForm
      StackMap stack:
            aload 4 /* c */
            checkcast java.lang.invoke.LambdaFormEditor$Transform[]
            astore 6 /* ta */
        start local 6 // java.lang.invoke.LambdaFormEditor$Transform[] ta
        41: .line 344
      StackMap locals: java.lang.invoke.LambdaFormEditor$Transform[]
      StackMap stack:
            aload 6 /* ta */
            arraylength
            istore 7 /* len */
        start local 7 // int len
        42: .line 345
            iconst_m1
            istore 8 /* stale */
        start local 8 // int stale
        43: .line 347
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        44: goto 59
        45: .line 348
      StackMap locals: int int int
      StackMap stack:
            aload 6 /* ta */
            iload 9 /* i */
            aaload
            astore 10 /* k */
        start local 10 // java.lang.invoke.LambdaFormEditor$Transform k
        46: .line 349
            aload 10 /* k */
            ifnonnull 48
        47: .line 350
            goto 60
        48: .line 352
      StackMap locals: java.lang.invoke.LambdaFormEditor$Transform
      StackMap stack:
            aload 10 /* k */
            aload 1 /* key */
            invokevirtual java.lang.invoke.LambdaFormEditor$Transform.equals:(Ljava/lang/invoke/LambdaFormEditor$Transform;)Z
            ifeq 56
        49: .line 353
            aload 10 /* k */
            invokevirtual java.lang.invoke.LambdaFormEditor$Transform.get:()Ljava/lang/Object;
            checkcast java.lang.invoke.LambdaForm
            astore 11 /* result */
        start local 11 // java.lang.invoke.LambdaForm result
        50: .line 354
            aload 11 /* result */
            ifnonnull 54
        51: .line 355
            aload 6 /* ta */
            iload 9 /* i */
            aload 1 /* key */
            aastore
        52: .line 356
            aload 2 /* form */
            aload 5
            monitorexit
        53: areturn
        54: .line 358
      StackMap locals: java.lang.invoke.LambdaForm
      StackMap stack:
            aload 11 /* result */
            aload 5
            monitorexit
        55: areturn
        end local 11 // java.lang.invoke.LambdaForm result
        56: .line 360
      StackMap locals:
      StackMap stack:
            iload 8 /* stale */
            ifge 58
            aload 10 /* k */
            invokevirtual java.lang.invoke.LambdaFormEditor$Transform.get:()Ljava/lang/Object;
            ifnonnull 58
        57: .line 361
            iload 9 /* i */
            istore 8 /* stale */
        end local 10 // java.lang.invoke.LambdaFormEditor$Transform k
        58: .line 347
      StackMap locals:
      StackMap stack:
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        59: iload 9 /* i */
            iload 7 /* len */
            if_icmplt 45
        60: .line 364
      StackMap locals:
      StackMap stack:
            iload 9 /* i */
            iload 7 /* len */
            if_icmplt 75
            iload 8 /* stale */
            ifge 75
        61: .line 366
            iload 7 /* len */
            bipush 16
            if_icmpge 66
        62: .line 367
            iload 7 /* len */
            iconst_2
            imul
            bipush 16
            invokestatic java.lang.Math.min:(II)I
            istore 7 /* len */
        63: .line 368
            aload 6 /* ta */
            iload 7 /* len */
            invokestatic java.util.Arrays.copyOf:([Ljava/lang/Object;I)[Ljava/lang/Object;
            checkcast java.lang.invoke.LambdaFormEditor$Transform[]
            astore 6 /* ta */
        64: .line 369
            aload 0 /* this */
            getfield java.lang.invoke.LambdaFormEditor.lambdaForm:Ljava/lang/invoke/LambdaForm;
            aload 6 /* ta */
            putfield java.lang.invoke.LambdaForm.transformCache:Ljava/lang/Object;
        65: .line 370
            goto 75
        66: .line 371
      StackMap locals:
      StackMap stack:
            new java.util.concurrent.ConcurrentHashMap
            dup
            bipush 32
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:(I)V
            astore 10 /* m */
        start local 10 // java.util.concurrent.ConcurrentHashMap m
        67: .line 372
            aload 6 /* ta */
            dup
            astore 14
            arraylength
            istore 13
            iconst_0
            istore 12
            goto 71
      StackMap locals: java.lang.invoke.LambdaFormEditor java.lang.invoke.LambdaFormEditor$Transform java.lang.invoke.LambdaForm int java.lang.Object java.lang.invoke.LambdaForm java.lang.invoke.LambdaFormEditor$Transform[] int int int java.util.concurrent.ConcurrentHashMap top int int java.lang.invoke.LambdaFormEditor$Transform[]
      StackMap stack:
        68: aload 14
            iload 12
            aaload
            astore 11 /* k */
        start local 11 // java.lang.invoke.LambdaFormEditor$Transform k
        69: .line 373
            aload 10 /* m */
            aload 11 /* k */
            aload 11 /* k */
            invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 11 // java.lang.invoke.LambdaFormEditor$Transform k
        70: .line 372
            iinc 12 1
      StackMap locals:
      StackMap stack:
        71: iload 12
            iload 13
            if_icmplt 68
        72: .line 375
            aload 0 /* this */
            getfield java.lang.invoke.LambdaFormEditor.lambdaForm:Ljava/lang/invoke/LambdaForm;
            aload 10 /* m */
            putfield java.lang.invoke.LambdaForm.transformCache:Ljava/lang/Object;
        73: .line 377
            aload 5
            monitorexit
        74: goto 83
        end local 10 // java.util.concurrent.ConcurrentHashMap m
        75: .line 379
      StackMap locals: java.lang.invoke.LambdaFormEditor java.lang.invoke.LambdaFormEditor$Transform java.lang.invoke.LambdaForm int java.lang.Object java.lang.invoke.LambdaForm java.lang.invoke.LambdaFormEditor$Transform[] int int int
      StackMap stack:
            iload 8 /* stale */
            iflt 76
            iload 8 /* stale */
            goto 77
      StackMap locals:
      StackMap stack:
        76: iload 9 /* i */
      StackMap locals:
      StackMap stack: int
        77: istore 10 /* idx */
        start local 10 // int idx
        78: .line 380
            aload 6 /* ta */
            iload 10 /* idx */
            aload 1 /* key */
            aastore
        79: .line 381
            aload 2 /* form */
            aload 5
            monitorexit
        80: areturn
        end local 10 // int idx
        end local 9 // int i
        end local 8 // int stale
        end local 7 // int len
        end local 6 // java.lang.invoke.LambdaFormEditor$Transform[] ta
        81: .line 313
      StackMap locals: java.lang.invoke.LambdaFormEditor java.lang.invoke.LambdaFormEditor$Transform java.lang.invoke.LambdaForm int java.lang.Object java.lang.invoke.LambdaForm
      StackMap stack: java.lang.Throwable
            aload 5
            monitorexit
        82: athrow
        end local 4 // java.lang.Object c
        83: .line 294
      StackMap locals:
      StackMap stack:
            iinc 3 /* pass */ 1
            goto 2
        end local 3 // int pass
        end local 2 // java.lang.invoke.LambdaForm form
        end local 1 // java.lang.invoke.LambdaFormEditor$Transform key
        end local 0 // java.lang.invoke.LambdaFormEditor this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   84     0    this  Ljava/lang/invoke/LambdaFormEditor;
            0   84     1     key  Ljava/lang/invoke/LambdaFormEditor$Transform;
            0   84     2    form  Ljava/lang/invoke/LambdaForm;
            2   84     3    pass  I
            3   83     4       c  Ljava/lang/Object;
            5   12     5       m  Ljava/util/concurrent/ConcurrentHashMap<Ljava/lang/invoke/LambdaFormEditor$Transform;Ljava/lang/invoke/LambdaFormEditor$Transform;>;
            6   12     6       k  Ljava/lang/invoke/LambdaFormEditor$Transform;
            8   12     7  result  Ljava/lang/invoke/LambdaForm;
           37   40     6      ta  [Ljava/lang/invoke/LambdaFormEditor$Transform;
           41   81     6      ta  [Ljava/lang/invoke/LambdaFormEditor$Transform;
           24   39     7       k  Ljava/lang/invoke/LambdaFormEditor$Transform;
           26   32     8  result  Ljava/lang/invoke/LambdaForm;
           42   81     7     len  I
           43   81     8   stale  I
           44   81     9       i  I
           46   58    10       k  Ljava/lang/invoke/LambdaFormEditor$Transform;
           50   56    11  result  Ljava/lang/invoke/LambdaForm;
           67   75    10       m  Ljava/util/concurrent/ConcurrentHashMap<Ljava/lang/invoke/LambdaFormEditor$Transform;Ljava/lang/invoke/LambdaFormEditor$Transform;>;
           69   70    11       k  Ljava/lang/invoke/LambdaFormEditor$Transform;
           78   81    10     idx  I
      Exception table:
        from    to  target  type
          14    17      81  any
          18    21      81  any
          22    29      81  any
          30    31      81  any
          32    35      81  any
          36    53      81  any
          54    55      81  any
          56    74      81  any
          75    80      81  any
          81    82      81  any
    MethodParameters:
      Name  Flags
      key   
      form  

  private java.lang.invoke.LambdaFormBuffer buffer();
    descriptor: ()Ljava/lang/invoke/LambdaFormBuffer;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.invoke.LambdaFormEditor this
         0: .line 387
            new java.lang.invoke.LambdaFormBuffer
            dup
            aload 0 /* this */
            getfield java.lang.invoke.LambdaFormEditor.lambdaForm:Ljava/lang/invoke/LambdaForm;
            invokespecial java.lang.invoke.LambdaFormBuffer.<init>:(Ljava/lang/invoke/LambdaForm;)V
            areturn
        end local 0 // java.lang.invoke.LambdaFormEditor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/invoke/LambdaFormEditor;

  private java.lang.invoke.BoundMethodHandle$SpeciesData oldSpeciesData();
    descriptor: ()Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.invoke.LambdaFormEditor this
         0: .line 393
            aload 0 /* this */
            getfield java.lang.invoke.LambdaFormEditor.lambdaForm:Ljava/lang/invoke/LambdaForm;
            invokestatic java.lang.invoke.BoundMethodHandle.speciesData:(Ljava/lang/invoke/LambdaForm;)Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
            areturn
        end local 0 // java.lang.invoke.LambdaFormEditor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/invoke/LambdaFormEditor;

  private java.lang.invoke.BoundMethodHandle$SpeciesData newSpeciesData(java.lang.invoke.LambdaForm$BasicType);
    descriptor: (Ljava/lang/invoke/LambdaForm$BasicType;)Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.invoke.LambdaFormEditor this
        start local 1 // java.lang.invoke.LambdaForm$BasicType type
         0: .line 396
            aload 0 /* this */
            invokevirtual java.lang.invoke.LambdaFormEditor.oldSpeciesData:()Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
            aload 1 /* type */
            invokevirtual java.lang.invoke.BoundMethodHandle$SpeciesData.extendWith:(Ljava/lang/invoke/LambdaForm$BasicType;)Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
            areturn
        end local 1 // java.lang.invoke.LambdaForm$BasicType type
        end local 0 // java.lang.invoke.LambdaFormEditor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/invoke/LambdaFormEditor;
            0    1     1  type  Ljava/lang/invoke/LambdaForm$BasicType;
    MethodParameters:
      Name  Flags
      type  

  java.lang.invoke.BoundMethodHandle bindArgumentL(java.lang.invoke.BoundMethodHandle, int, java.lang.Object);
    descriptor: (Ljava/lang/invoke/BoundMethodHandle;ILjava/lang/Object;)Ljava/lang/invoke/BoundMethodHandle;
    flags: (0x0000) 
    Code:
      stack=4, locals=7, args_size=4
        start local 0 // java.lang.invoke.LambdaFormEditor this
        start local 1 // java.lang.invoke.BoundMethodHandle mh
        start local 2 // int pos
        start local 3 // java.lang.Object value
         0: .line 400
            getstatic java.lang.invoke.LambdaFormEditor.$assertionsDisabled:Z
            ifne 1
            aload 1 /* mh */
            invokevirtual java.lang.invoke.BoundMethodHandle.speciesData:()Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
            aload 0 /* this */
            invokevirtual java.lang.invoke.LambdaFormEditor.oldSpeciesData:()Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
            if_acmpeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 401
      StackMap locals:
      StackMap stack:
            getstatic java.lang.invoke.LambdaForm$BasicType.L_TYPE:Ljava/lang/invoke/LambdaForm$BasicType;
            astore 4 /* bt */
        start local 4 // java.lang.invoke.LambdaForm$BasicType bt
         2: .line 402
            aload 0 /* this */
            aload 1 /* mh */
            iload 2 /* pos */
            aload 4 /* bt */
            invokevirtual java.lang.invoke.LambdaFormEditor.bindArgumentType:(Ljava/lang/invoke/BoundMethodHandle;ILjava/lang/invoke/LambdaForm$BasicType;)Ljava/lang/invoke/MethodType;
            astore 5 /* type2 */
        start local 5 // java.lang.invoke.MethodType type2
         3: .line 403
            aload 0 /* this */
            iconst_1
            iload 2 /* pos */
            iadd
            invokevirtual java.lang.invoke.LambdaFormEditor.bindArgumentForm:(I)Ljava/lang/invoke/LambdaForm;
            astore 6 /* form2 */
        start local 6 // java.lang.invoke.LambdaForm form2
         4: .line 404
            aload 1 /* mh */
            aload 5 /* type2 */
            aload 6 /* form2 */
            aload 3 /* value */
            invokevirtual java.lang.invoke.BoundMethodHandle.copyWithExtendL:(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;Ljava/lang/Object;)Ljava/lang/invoke/BoundMethodHandle;
            areturn
        end local 6 // java.lang.invoke.LambdaForm form2
        end local 5 // java.lang.invoke.MethodType type2
        end local 4 // java.lang.invoke.LambdaForm$BasicType bt
        end local 3 // java.lang.Object value
        end local 2 // int pos
        end local 1 // java.lang.invoke.BoundMethodHandle mh
        end local 0 // java.lang.invoke.LambdaFormEditor this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Ljava/lang/invoke/LambdaFormEditor;
            0    5     1     mh  Ljava/lang/invoke/BoundMethodHandle;
            0    5     2    pos  I
            0    5     3  value  Ljava/lang/Object;
            2    5     4     bt  Ljava/lang/invoke/LambdaForm$BasicType;
            3    5     5  type2  Ljava/lang/invoke/MethodType;
            4    5     6  form2  Ljava/lang/invoke/LambdaForm;
    MethodParameters:
       Name  Flags
      mh     
      pos    
      value  

  java.lang.invoke.BoundMethodHandle bindArgumentI(java.lang.invoke.BoundMethodHandle, int, int);
    descriptor: (Ljava/lang/invoke/BoundMethodHandle;II)Ljava/lang/invoke/BoundMethodHandle;
    flags: (0x0000) 
    Code:
      stack=4, locals=7, args_size=4
        start local 0 // java.lang.invoke.LambdaFormEditor this
        start local 1 // java.lang.invoke.BoundMethodHandle mh
        start local 2 // int pos
        start local 3 // int value
         0: .line 407
            getstatic java.lang.invoke.LambdaFormEditor.$assertionsDisabled:Z
            ifne 1
            aload 1 /* mh */
            invokevirtual java.lang.invoke.BoundMethodHandle.speciesData:()Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
            aload 0 /* this */
            invokevirtual java.lang.invoke.LambdaFormEditor.oldSpeciesData:()Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
            if_acmpeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 408
      StackMap locals:
      StackMap stack:
            getstatic java.lang.invoke.LambdaForm$BasicType.I_TYPE:Ljava/lang/invoke/LambdaForm$BasicType;
            astore 4 /* bt */
        start local 4 // java.lang.invoke.LambdaForm$BasicType bt
         2: .line 409
            aload 0 /* this */
            aload 1 /* mh */
            iload 2 /* pos */
            aload 4 /* bt */
            invokevirtual java.lang.invoke.LambdaFormEditor.bindArgumentType:(Ljava/lang/invoke/BoundMethodHandle;ILjava/lang/invoke/LambdaForm$BasicType;)Ljava/lang/invoke/MethodType;
            astore 5 /* type2 */
        start local 5 // java.lang.invoke.MethodType type2
         3: .line 410
            aload 0 /* this */
            iconst_1
            iload 2 /* pos */
            iadd
            invokevirtual java.lang.invoke.LambdaFormEditor.bindArgumentForm:(I)Ljava/lang/invoke/LambdaForm;
            astore 6 /* form2 */
        start local 6 // java.lang.invoke.LambdaForm form2
         4: .line 411
            aload 1 /* mh */
            aload 5 /* type2 */
            aload 6 /* form2 */
            iload 3 /* value */
            invokevirtual java.lang.invoke.BoundMethodHandle.copyWithExtendI:(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;I)Ljava/lang/invoke/BoundMethodHandle;
            areturn
        end local 6 // java.lang.invoke.LambdaForm form2
        end local 5 // java.lang.invoke.MethodType type2
        end local 4 // java.lang.invoke.LambdaForm$BasicType bt
        end local 3 // int value
        end local 2 // int pos
        end local 1 // java.lang.invoke.BoundMethodHandle mh
        end local 0 // java.lang.invoke.LambdaFormEditor this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Ljava/lang/invoke/LambdaFormEditor;
            0    5     1     mh  Ljava/lang/invoke/BoundMethodHandle;
            0    5     2    pos  I
            0    5     3  value  I
            2    5     4     bt  Ljava/lang/invoke/LambdaForm$BasicType;
            3    5     5  type2  Ljava/lang/invoke/MethodType;
            4    5     6  form2  Ljava/lang/invoke/LambdaForm;
    MethodParameters:
       Name  Flags
      mh     
      pos    
      value  

  java.lang.invoke.BoundMethodHandle bindArgumentJ(java.lang.invoke.BoundMethodHandle, int, long);
    descriptor: (Ljava/lang/invoke/BoundMethodHandle;IJ)Ljava/lang/invoke/BoundMethodHandle;
    flags: (0x0000) 
    Code:
      stack=5, locals=8, args_size=4
        start local 0 // java.lang.invoke.LambdaFormEditor this
        start local 1 // java.lang.invoke.BoundMethodHandle mh
        start local 2 // int pos
        start local 3 // long value
         0: .line 415
            getstatic java.lang.invoke.LambdaFormEditor.$assertionsDisabled:Z
            ifne 1
            aload 1 /* mh */
            invokevirtual java.lang.invoke.BoundMethodHandle.speciesData:()Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
            aload 0 /* this */
            invokevirtual java.lang.invoke.LambdaFormEditor.oldSpeciesData:()Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
            if_acmpeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 416
      StackMap locals:
      StackMap stack:
            getstatic java.lang.invoke.LambdaForm$BasicType.J_TYPE:Ljava/lang/invoke/LambdaForm$BasicType;
            astore 5 /* bt */
        start local 5 // java.lang.invoke.LambdaForm$BasicType bt
         2: .line 417
            aload 0 /* this */
            aload 1 /* mh */
            iload 2 /* pos */
            aload 5 /* bt */
            invokevirtual java.lang.invoke.LambdaFormEditor.bindArgumentType:(Ljava/lang/invoke/BoundMethodHandle;ILjava/lang/invoke/LambdaForm$BasicType;)Ljava/lang/invoke/MethodType;
            astore 6 /* type2 */
        start local 6 // java.lang.invoke.MethodType type2
         3: .line 418
            aload 0 /* this */
            iconst_1
            iload 2 /* pos */
            iadd
            invokevirtual java.lang.invoke.LambdaFormEditor.bindArgumentForm:(I)Ljava/lang/invoke/LambdaForm;
            astore 7 /* form2 */
        start local 7 // java.lang.invoke.LambdaForm form2
         4: .line 419
            aload 1 /* mh */
            aload 6 /* type2 */
            aload 7 /* form2 */
            lload 3 /* value */
            invokevirtual java.lang.invoke.BoundMethodHandle.copyWithExtendJ:(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;J)Ljava/lang/invoke/BoundMethodHandle;
            areturn
        end local 7 // java.lang.invoke.LambdaForm form2
        end local 6 // java.lang.invoke.MethodType type2
        end local 5 // java.lang.invoke.LambdaForm$BasicType bt
        end local 3 // long value
        end local 2 // int pos
        end local 1 // java.lang.invoke.BoundMethodHandle mh
        end local 0 // java.lang.invoke.LambdaFormEditor this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Ljava/lang/invoke/LambdaFormEditor;
            0    5     1     mh  Ljava/lang/invoke/BoundMethodHandle;
            0    5     2    pos  I
            0    5     3  value  J
            2    5     5     bt  Ljava/lang/invoke/LambdaForm$BasicType;
            3    5     6  type2  Ljava/lang/invoke/MethodType;
            4    5     7  form2  Ljava/lang/invoke/LambdaForm;
    MethodParameters:
       Name  Flags
      mh     
      pos    
      value  

  java.lang.invoke.BoundMethodHandle bindArgumentF(java.lang.invoke.BoundMethodHandle, int, float);
    descriptor: (Ljava/lang/invoke/BoundMethodHandle;IF)Ljava/lang/invoke/BoundMethodHandle;
    flags: (0x0000) 
    Code:
      stack=4, locals=7, args_size=4
        start local 0 // java.lang.invoke.LambdaFormEditor this
        start local 1 // java.lang.invoke.BoundMethodHandle mh
        start local 2 // int pos
        start local 3 // float value
         0: .line 423
            getstatic java.lang.invoke.LambdaFormEditor.$assertionsDisabled:Z
            ifne 1
            aload 1 /* mh */
            invokevirtual java.lang.invoke.BoundMethodHandle.speciesData:()Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
            aload 0 /* this */
            invokevirtual java.lang.invoke.LambdaFormEditor.oldSpeciesData:()Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
            if_acmpeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 424
      StackMap locals:
      StackMap stack:
            getstatic java.lang.invoke.LambdaForm$BasicType.F_TYPE:Ljava/lang/invoke/LambdaForm$BasicType;
            astore 4 /* bt */
        start local 4 // java.lang.invoke.LambdaForm$BasicType bt
         2: .line 425
            aload 0 /* this */
            aload 1 /* mh */
            iload 2 /* pos */
            aload 4 /* bt */
            invokevirtual java.lang.invoke.LambdaFormEditor.bindArgumentType:(Ljava/lang/invoke/BoundMethodHandle;ILjava/lang/invoke/LambdaForm$BasicType;)Ljava/lang/invoke/MethodType;
            astore 5 /* type2 */
        start local 5 // java.lang.invoke.MethodType type2
         3: .line 426
            aload 0 /* this */
            iconst_1
            iload 2 /* pos */
            iadd
            invokevirtual java.lang.invoke.LambdaFormEditor.bindArgumentForm:(I)Ljava/lang/invoke/LambdaForm;
            astore 6 /* form2 */
        start local 6 // java.lang.invoke.LambdaForm form2
         4: .line 427
            aload 1 /* mh */
            aload 5 /* type2 */
            aload 6 /* form2 */
            fload 3 /* value */
            invokevirtual java.lang.invoke.BoundMethodHandle.copyWithExtendF:(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;F)Ljava/lang/invoke/BoundMethodHandle;
            areturn
        end local 6 // java.lang.invoke.LambdaForm form2
        end local 5 // java.lang.invoke.MethodType type2
        end local 4 // java.lang.invoke.LambdaForm$BasicType bt
        end local 3 // float value
        end local 2 // int pos
        end local 1 // java.lang.invoke.BoundMethodHandle mh
        end local 0 // java.lang.invoke.LambdaFormEditor this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Ljava/lang/invoke/LambdaFormEditor;
            0    5     1     mh  Ljava/lang/invoke/BoundMethodHandle;
            0    5     2    pos  I
            0    5     3  value  F
            2    5     4     bt  Ljava/lang/invoke/LambdaForm$BasicType;
            3    5     5  type2  Ljava/lang/invoke/MethodType;
            4    5     6  form2  Ljava/lang/invoke/LambdaForm;
    MethodParameters:
       Name  Flags
      mh     
      pos    
      value  

  java.lang.invoke.BoundMethodHandle bindArgumentD(java.lang.invoke.BoundMethodHandle, int, double);
    descriptor: (Ljava/lang/invoke/BoundMethodHandle;ID)Ljava/lang/invoke/BoundMethodHandle;
    flags: (0x0000) 
    Code:
      stack=5, locals=8, args_size=4
        start local 0 // java.lang.invoke.LambdaFormEditor this
        start local 1 // java.lang.invoke.BoundMethodHandle mh
        start local 2 // int pos
        start local 3 // double value
         0: .line 431
            getstatic java.lang.invoke.LambdaFormEditor.$assertionsDisabled:Z
            ifne 1
            aload 1 /* mh */
            invokevirtual java.lang.invoke.BoundMethodHandle.speciesData:()Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
            aload 0 /* this */
            invokevirtual java.lang.invoke.LambdaFormEditor.oldSpeciesData:()Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
            if_acmpeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 432
      StackMap locals:
      StackMap stack:
            getstatic java.lang.invoke.LambdaForm$BasicType.D_TYPE:Ljava/lang/invoke/LambdaForm$BasicType;
            astore 5 /* bt */
        start local 5 // java.lang.invoke.LambdaForm$BasicType bt
         2: .line 433
            aload 0 /* this */
            aload 1 /* mh */
            iload 2 /* pos */
            aload 5 /* bt */
            invokevirtual java.lang.invoke.LambdaFormEditor.bindArgumentType:(Ljava/lang/invoke/BoundMethodHandle;ILjava/lang/invoke/LambdaForm$BasicType;)Ljava/lang/invoke/MethodType;
            astore 6 /* type2 */
        start local 6 // java.lang.invoke.MethodType type2
         3: .line 434
            aload 0 /* this */
            iconst_1
            iload 2 /* pos */
            iadd
            invokevirtual java.lang.invoke.LambdaFormEditor.bindArgumentForm:(I)Ljava/lang/invoke/LambdaForm;
            astore 7 /* form2 */
        start local 7 // java.lang.invoke.LambdaForm form2
         4: .line 435
            aload 1 /* mh */
            aload 6 /* type2 */
            aload 7 /* form2 */
            dload 3 /* value */
            invokevirtual java.lang.invoke.BoundMethodHandle.copyWithExtendD:(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/LambdaForm;D)Ljava/lang/invoke/BoundMethodHandle;
            areturn
        end local 7 // java.lang.invoke.LambdaForm form2
        end local 6 // java.lang.invoke.MethodType type2
        end local 5 // java.lang.invoke.LambdaForm$BasicType bt
        end local 3 // double value
        end local 2 // int pos
        end local 1 // java.lang.invoke.BoundMethodHandle mh
        end local 0 // java.lang.invoke.LambdaFormEditor this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Ljava/lang/invoke/LambdaFormEditor;
            0    5     1     mh  Ljava/lang/invoke/BoundMethodHandle;
            0    5     2    pos  I
            0    5     3  value  D
            2    5     5     bt  Ljava/lang/invoke/LambdaForm$BasicType;
            3    5     6  type2  Ljava/lang/invoke/MethodType;
            4    5     7  form2  Ljava/lang/invoke/LambdaForm;
    MethodParameters:
       Name  Flags
      mh     
      pos    
      value  

  private java.lang.invoke.MethodType bindArgumentType(java.lang.invoke.BoundMethodHandle, int, java.lang.invoke.LambdaForm$BasicType);
    descriptor: (Ljava/lang/invoke/BoundMethodHandle;ILjava/lang/invoke/LambdaForm$BasicType;)Ljava/lang/invoke/MethodType;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // java.lang.invoke.LambdaFormEditor this
        start local 1 // java.lang.invoke.BoundMethodHandle mh
        start local 2 // int pos
        start local 3 // java.lang.invoke.LambdaForm$BasicType bt
         0: .line 439
            getstatic java.lang.invoke.LambdaFormEditor.$assertionsDisabled:Z
            ifne 1
            aload 1 /* mh */
            getfield java.lang.invoke.BoundMethodHandle.form:Ljava/lang/invoke/LambdaForm;
            invokevirtual java.lang.invoke.LambdaForm.uncustomize:()Ljava/lang/invoke/LambdaForm;
            aload 0 /* this */
            getfield java.lang.invoke.LambdaFormEditor.lambdaForm:Ljava/lang/invoke/LambdaForm;
            if_acmpeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 440
      StackMap locals:
      StackMap stack:
            getstatic java.lang.invoke.LambdaFormEditor.$assertionsDisabled:Z
            ifne 2
            aload 1 /* mh */
            getfield java.lang.invoke.BoundMethodHandle.form:Ljava/lang/invoke/LambdaForm;
            getfield java.lang.invoke.LambdaForm.names:[Ljava/lang/invoke/LambdaForm$Name;
            iconst_1
            iload 2 /* pos */
            iadd
            aaload
            getfield java.lang.invoke.LambdaForm$Name.type:Ljava/lang/invoke/LambdaForm$BasicType;
            aload 3 /* bt */
            if_acmpeq 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 441
      StackMap locals:
      StackMap stack:
            getstatic java.lang.invoke.LambdaFormEditor.$assertionsDisabled:Z
            ifne 3
            aload 1 /* mh */
            invokevirtual java.lang.invoke.BoundMethodHandle.type:()Ljava/lang/invoke/MethodType;
            iload 2 /* pos */
            invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
            invokestatic java.lang.invoke.LambdaForm$BasicType.basicType:(Ljava/lang/Class;)Ljava/lang/invoke/LambdaForm$BasicType;
            aload 3 /* bt */
            if_acmpeq 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 442
      StackMap locals:
      StackMap stack:
            aload 1 /* mh */
            invokevirtual java.lang.invoke.BoundMethodHandle.type:()Ljava/lang/invoke/MethodType;
            iload 2 /* pos */
            iload 2 /* pos */
            iconst_1
            iadd
            invokevirtual java.lang.invoke.MethodType.dropParameterTypes:(II)Ljava/lang/invoke/MethodType;
            areturn
        end local 3 // java.lang.invoke.LambdaForm$BasicType bt
        end local 2 // int pos
        end local 1 // java.lang.invoke.BoundMethodHandle mh
        end local 0 // java.lang.invoke.LambdaFormEditor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/lang/invoke/LambdaFormEditor;
            0    4     1    mh  Ljava/lang/invoke/BoundMethodHandle;
            0    4     2   pos  I
            0    4     3    bt  Ljava/lang/invoke/LambdaForm$BasicType;
    MethodParameters:
      Name  Flags
      mh    
      pos   
      bt    

  java.lang.invoke.LambdaForm bindArgumentForm(int);
    descriptor: (I)Ljava/lang/invoke/LambdaForm;
    flags: (0x0000) 
    Code:
      stack=9, locals=10, args_size=2
        start local 0 // java.lang.invoke.LambdaFormEditor this
        start local 1 // int pos
         0: .line 449
            getstatic java.lang.invoke.LambdaFormEditor$Transform$Kind.BIND_ARG:Ljava/lang/invoke/LambdaFormEditor$Transform$Kind;
            iload 1 /* pos */
            invokestatic java.lang.invoke.LambdaFormEditor$Transform.of:(Ljava/lang/invoke/LambdaFormEditor$Transform$Kind;I)Ljava/lang/invoke/LambdaFormEditor$Transform;
            astore 2 /* key */
        start local 2 // java.lang.invoke.LambdaFormEditor$Transform key
         1: .line 450
            aload 0 /* this */
            aload 2 /* key */
            invokevirtual java.lang.invoke.LambdaFormEditor.getInCache:(Ljava/lang/invoke/LambdaFormEditor$Transform;)Ljava/lang/invoke/LambdaForm;
            astore 3 /* form */
        start local 3 // java.lang.invoke.LambdaForm form
         2: .line 451
            aload 3 /* form */
            ifnull 5
         3: .line 452
            getstatic java.lang.invoke.LambdaFormEditor.$assertionsDisabled:Z
            ifne 4
            aload 3 /* form */
            iconst_0
            invokevirtual java.lang.invoke.LambdaForm.parameterConstraint:(I)Ljava/lang/Object;
            aload 0 /* this */
            aload 0 /* this */
            getfield java.lang.invoke.LambdaFormEditor.lambdaForm:Ljava/lang/invoke/LambdaForm;
            iload 1 /* pos */
            invokevirtual java.lang.invoke.LambdaForm.parameterType:(I)Ljava/lang/invoke/LambdaForm$BasicType;
            invokevirtual java.lang.invoke.LambdaFormEditor.newSpeciesData:(Ljava/lang/invoke/LambdaForm$BasicType;)Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
            if_acmpeq 4
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 453
      StackMap locals: java.lang.invoke.LambdaFormEditor$Transform java.lang.invoke.LambdaForm
      StackMap stack:
            aload 3 /* form */
            areturn
         5: .line 455
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.lang.invoke.LambdaFormEditor.buffer:()Ljava/lang/invoke/LambdaFormBuffer;
            astore 4 /* buf */
        start local 4 // java.lang.invoke.LambdaFormBuffer buf
         6: .line 456
            aload 4 /* buf */
            invokevirtual java.lang.invoke.LambdaFormBuffer.startEdit:()V
         7: .line 458
            aload 0 /* this */
            invokevirtual java.lang.invoke.LambdaFormEditor.oldSpeciesData:()Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
            astore 5 /* oldData */
        start local 5 // java.lang.invoke.BoundMethodHandle$SpeciesData oldData
         8: .line 459
            aload 0 /* this */
            aload 0 /* this */
            getfield java.lang.invoke.LambdaFormEditor.lambdaForm:Ljava/lang/invoke/LambdaForm;
            iload 1 /* pos */
            invokevirtual java.lang.invoke.LambdaForm.parameterType:(I)Ljava/lang/invoke/LambdaForm$BasicType;
            invokevirtual java.lang.invoke.LambdaFormEditor.newSpeciesData:(Ljava/lang/invoke/LambdaForm$BasicType;)Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
            astore 6 /* newData */
        start local 6 // java.lang.invoke.BoundMethodHandle$SpeciesData newData
         9: .line 460
            aload 0 /* this */
            getfield java.lang.invoke.LambdaFormEditor.lambdaForm:Ljava/lang/invoke/LambdaForm;
            iconst_0
            invokevirtual java.lang.invoke.LambdaForm.parameter:(I)Ljava/lang/invoke/LambdaForm$Name;
            astore 7 /* oldBaseAddress */
        start local 7 // java.lang.invoke.LambdaForm$Name oldBaseAddress
        10: .line 462
            aload 6 /* newData */
            aload 5 /* oldData */
            invokevirtual java.lang.invoke.BoundMethodHandle$SpeciesData.fieldCount:()I
            invokevirtual java.lang.invoke.BoundMethodHandle$SpeciesData.getterFunction:(I)Ljava/lang/invoke/LambdaForm$NamedFunction;
            astore 9 /* getter */
        start local 9 // java.lang.invoke.LambdaForm$NamedFunction getter
        11: .line 464
            iload 1 /* pos */
            ifeq 17
        12: .line 467
            aload 4 /* buf */
            aload 5 /* oldData */
            invokevirtual java.lang.invoke.BoundMethodHandle$SpeciesData.getterFunctions:()[Ljava/lang/invoke/LambdaForm$NamedFunction;
            aload 6 /* newData */
            invokevirtual java.lang.invoke.BoundMethodHandle$SpeciesData.getterFunctions:()[Ljava/lang/invoke/LambdaForm$NamedFunction;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 7 /* oldBaseAddress */
            aastore
            invokevirtual java.lang.invoke.LambdaFormBuffer.replaceFunctions:([Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)Ljava/lang/invoke/LambdaFormBuffer;
            pop
        13: .line 468
            aload 7 /* oldBaseAddress */
            aload 6 /* newData */
            invokevirtual java.lang.invoke.LambdaForm$Name.withConstraint:(Ljava/lang/Object;)Ljava/lang/invoke/LambdaForm$Name;
            astore 8 /* newBaseAddress */
        start local 8 // java.lang.invoke.LambdaForm$Name newBaseAddress
        14: .line 469
            aload 4 /* buf */
            iconst_0
            aload 8 /* newBaseAddress */
            invokevirtual java.lang.invoke.LambdaFormBuffer.renameParameter:(ILjava/lang/invoke/LambdaForm$Name;)Ljava/lang/invoke/LambdaFormBuffer;
            pop
        15: .line 470
            aload 4 /* buf */
            iload 1 /* pos */
            new java.lang.invoke.LambdaForm$Name
            dup
            aload 9 /* getter */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 8 /* newBaseAddress */
            aastore
            invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
            invokevirtual java.lang.invoke.LambdaFormBuffer.replaceParameterByNewExpression:(ILjava/lang/invoke/LambdaForm$Name;)Ljava/lang/invoke/LambdaFormBuffer;
            pop
        16: .line 471
            goto 21
        end local 8 // java.lang.invoke.LambdaForm$Name newBaseAddress
        17: .line 473
      StackMap locals: java.lang.invoke.LambdaFormEditor int java.lang.invoke.LambdaFormEditor$Transform java.lang.invoke.LambdaForm java.lang.invoke.LambdaFormBuffer java.lang.invoke.BoundMethodHandle$SpeciesData java.lang.invoke.BoundMethodHandle$SpeciesData java.lang.invoke.LambdaForm$Name top java.lang.invoke.LambdaForm$NamedFunction
      StackMap stack:
            getstatic java.lang.invoke.LambdaFormEditor.$assertionsDisabled:Z
            ifne 18
            aload 5 /* oldData */
            getstatic java.lang.invoke.BoundMethodHandle$SpeciesData.EMPTY:Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
            if_acmpeq 18
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        18: .line 474
      StackMap locals:
      StackMap stack:
            new java.lang.invoke.LambdaForm$Name
            dup
            getstatic java.lang.invoke.LambdaForm$BasicType.L_TYPE:Ljava/lang/invoke/LambdaForm$BasicType;
            invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$BasicType;)V
            aload 6 /* newData */
            invokevirtual java.lang.invoke.LambdaForm$Name.withConstraint:(Ljava/lang/Object;)Ljava/lang/invoke/LambdaForm$Name;
            astore 8 /* newBaseAddress */
        start local 8 // java.lang.invoke.LambdaForm$Name newBaseAddress
        19: .line 475
            aload 4 /* buf */
            iconst_0
            new java.lang.invoke.LambdaForm$Name
            dup
            aload 9 /* getter */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 8 /* newBaseAddress */
            aastore
            invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
            invokevirtual java.lang.invoke.LambdaFormBuffer.replaceParameterByNewExpression:(ILjava/lang/invoke/LambdaForm$Name;)Ljava/lang/invoke/LambdaFormBuffer;
            pop
        20: .line 476
            aload 4 /* buf */
            iconst_0
            aload 8 /* newBaseAddress */
            invokevirtual java.lang.invoke.LambdaFormBuffer.insertParameter:(ILjava/lang/invoke/LambdaForm$Name;)Ljava/lang/invoke/LambdaFormBuffer;
            pop
        21: .line 479
      StackMap locals: java.lang.invoke.LambdaFormEditor int java.lang.invoke.LambdaFormEditor$Transform java.lang.invoke.LambdaForm java.lang.invoke.LambdaFormBuffer java.lang.invoke.BoundMethodHandle$SpeciesData java.lang.invoke.BoundMethodHandle$SpeciesData java.lang.invoke.LambdaForm$Name java.lang.invoke.LambdaForm$Name java.lang.invoke.LambdaForm$NamedFunction
      StackMap stack:
            aload 4 /* buf */
            invokevirtual java.lang.invoke.LambdaFormBuffer.endEdit:()Ljava/lang/invoke/LambdaForm;
            astore 3 /* form */
        22: .line 480
            aload 0 /* this */
            aload 2 /* key */
            aload 3 /* form */
            invokevirtual java.lang.invoke.LambdaFormEditor.putInCache:(Ljava/lang/invoke/LambdaFormEditor$Transform;Ljava/lang/invoke/LambdaForm;)Ljava/lang/invoke/LambdaForm;
            areturn
        end local 9 // java.lang.invoke.LambdaForm$NamedFunction getter
        end local 8 // java.lang.invoke.LambdaForm$Name newBaseAddress
        end local 7 // java.lang.invoke.LambdaForm$Name oldBaseAddress
        end local 6 // java.lang.invoke.BoundMethodHandle$SpeciesData newData
        end local 5 // java.lang.invoke.BoundMethodHandle$SpeciesData oldData
        end local 4 // java.lang.invoke.LambdaFormBuffer buf
        end local 3 // java.lang.invoke.LambdaForm form
        end local 2 // java.lang.invoke.LambdaFormEditor$Transform key
        end local 1 // int pos
        end local 0 // java.lang.invoke.LambdaFormEditor this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   23     0            this  Ljava/lang/invoke/LambdaFormEditor;
            0   23     1             pos  I
            1   23     2             key  Ljava/lang/invoke/LambdaFormEditor$Transform;
            2   23     3            form  Ljava/lang/invoke/LambdaForm;
            6   23     4             buf  Ljava/lang/invoke/LambdaFormBuffer;
            8   23     5         oldData  Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
            9   23     6         newData  Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
           10   23     7  oldBaseAddress  Ljava/lang/invoke/LambdaForm$Name;
           14   17     8  newBaseAddress  Ljava/lang/invoke/LambdaForm$Name;
           19   23     8  newBaseAddress  Ljava/lang/invoke/LambdaForm$Name;
           11   23     9          getter  Ljava/lang/invoke/LambdaForm$NamedFunction;
    MethodParameters:
      Name  Flags
      pos   

  java.lang.invoke.LambdaForm addArgumentForm(int, java.lang.invoke.LambdaForm$BasicType);
    descriptor: (ILjava/lang/invoke/LambdaForm$BasicType;)Ljava/lang/invoke/LambdaForm;
    flags: (0x0000) 
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // java.lang.invoke.LambdaFormEditor this
        start local 1 // int pos
        start local 2 // java.lang.invoke.LambdaForm$BasicType type
         0: .line 484
            getstatic java.lang.invoke.LambdaFormEditor$Transform$Kind.ADD_ARG:Ljava/lang/invoke/LambdaFormEditor$Transform$Kind;
            iload 1 /* pos */
            aload 2 /* type */
            invokevirtual java.lang.invoke.LambdaForm$BasicType.ordinal:()I
            invokestatic java.lang.invoke.LambdaFormEditor$Transform.of:(Ljava/lang/invoke/LambdaFormEditor$Transform$Kind;II)Ljava/lang/invoke/LambdaFormEditor$Transform;
            astore 3 /* key */
        start local 3 // java.lang.invoke.LambdaFormEditor$Transform key
         1: .line 485
            aload 0 /* this */
            aload 3 /* key */
            invokevirtual java.lang.invoke.LambdaFormEditor.getInCache:(Ljava/lang/invoke/LambdaFormEditor$Transform;)Ljava/lang/invoke/LambdaForm;
            astore 4 /* form */
        start local 4 // java.lang.invoke.LambdaForm form
         2: .line 486
            aload 4 /* form */
            ifnull 6
         3: .line 487
            getstatic java.lang.invoke.LambdaFormEditor.$assertionsDisabled:Z
            ifne 4
            aload 4 /* form */
            getfield java.lang.invoke.LambdaForm.arity:I
            aload 0 /* this */
            getfield java.lang.invoke.LambdaFormEditor.lambdaForm:Ljava/lang/invoke/LambdaForm;
            getfield java.lang.invoke.LambdaForm.arity:I
            iconst_1
            iadd
            if_icmpeq 4
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 488
      StackMap locals: java.lang.invoke.LambdaFormEditor$Transform java.lang.invoke.LambdaForm
      StackMap stack:
            getstatic java.lang.invoke.LambdaFormEditor.$assertionsDisabled:Z
            ifne 5
            aload 4 /* form */
            iload 1 /* pos */
            invokevirtual java.lang.invoke.LambdaForm.parameterType:(I)Ljava/lang/invoke/LambdaForm$BasicType;
            aload 2 /* type */
            if_acmpeq 5
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         5: .line 489
      StackMap locals:
      StackMap stack:
            aload 4 /* form */
            areturn
         6: .line 491
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.lang.invoke.LambdaFormEditor.buffer:()Ljava/lang/invoke/LambdaFormBuffer;
            astore 5 /* buf */
        start local 5 // java.lang.invoke.LambdaFormBuffer buf
         7: .line 492
            aload 5 /* buf */
            invokevirtual java.lang.invoke.LambdaFormBuffer.startEdit:()V
         8: .line 494
            aload 5 /* buf */
            iload 1 /* pos */
            new java.lang.invoke.LambdaForm$Name
            dup
            aload 2 /* type */
            invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$BasicType;)V
            invokevirtual java.lang.invoke.LambdaFormBuffer.insertParameter:(ILjava/lang/invoke/LambdaForm$Name;)Ljava/lang/invoke/LambdaFormBuffer;
            pop
         9: .line 496
            aload 5 /* buf */
            invokevirtual java.lang.invoke.LambdaFormBuffer.endEdit:()Ljava/lang/invoke/LambdaForm;
            astore 4 /* form */
        10: .line 497
            aload 0 /* this */
            aload 3 /* key */
            aload 4 /* form */
            invokevirtual java.lang.invoke.LambdaFormEditor.putInCache:(Ljava/lang/invoke/LambdaFormEditor$Transform;Ljava/lang/invoke/LambdaForm;)Ljava/lang/invoke/LambdaForm;
            areturn
        end local 5 // java.lang.invoke.LambdaFormBuffer buf
        end local 4 // java.lang.invoke.LambdaForm form
        end local 3 // java.lang.invoke.LambdaFormEditor$Transform key
        end local 2 // java.lang.invoke.LambdaForm$BasicType type
        end local 1 // int pos
        end local 0 // java.lang.invoke.LambdaFormEditor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Ljava/lang/invoke/LambdaFormEditor;
            0   11     1   pos  I
            0   11     2  type  Ljava/lang/invoke/LambdaForm$BasicType;
            1   11     3   key  Ljava/lang/invoke/LambdaFormEditor$Transform;
            2   11     4  form  Ljava/lang/invoke/LambdaForm;
            7   11     5   buf  Ljava/lang/invoke/LambdaFormBuffer;
    MethodParameters:
      Name  Flags
      pos   
      type  

  java.lang.invoke.LambdaForm dupArgumentForm(int, int);
    descriptor: (II)Ljava/lang/invoke/LambdaForm;
    flags: (0x0000) 
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // java.lang.invoke.LambdaFormEditor this
        start local 1 // int srcPos
        start local 2 // int dstPos
         0: .line 501
            getstatic java.lang.invoke.LambdaFormEditor$Transform$Kind.DUP_ARG:Ljava/lang/invoke/LambdaFormEditor$Transform$Kind;
            iload 1 /* srcPos */
            iload 2 /* dstPos */
            invokestatic java.lang.invoke.LambdaFormEditor$Transform.of:(Ljava/lang/invoke/LambdaFormEditor$Transform$Kind;II)Ljava/lang/invoke/LambdaFormEditor$Transform;
            astore 3 /* key */
        start local 3 // java.lang.invoke.LambdaFormEditor$Transform key
         1: .line 502
            aload 0 /* this */
            aload 3 /* key */
            invokevirtual java.lang.invoke.LambdaFormEditor.getInCache:(Ljava/lang/invoke/LambdaFormEditor$Transform;)Ljava/lang/invoke/LambdaForm;
            astore 4 /* form */
        start local 4 // java.lang.invoke.LambdaForm form
         2: .line 503
            aload 4 /* form */
            ifnull 5
         3: .line 504
            getstatic java.lang.invoke.LambdaFormEditor.$assertionsDisabled:Z
            ifne 4
            aload 4 /* form */
            getfield java.lang.invoke.LambdaForm.arity:I
            aload 0 /* this */
            getfield java.lang.invoke.LambdaFormEditor.lambdaForm:Ljava/lang/invoke/LambdaForm;
            getfield java.lang.invoke.LambdaForm.arity:I
            iconst_1
            isub
            if_icmpeq 4
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 505
      StackMap locals: java.lang.invoke.LambdaFormEditor$Transform java.lang.invoke.LambdaForm
      StackMap stack:
            aload 4 /* form */
            areturn
         5: .line 507
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.lang.invoke.LambdaFormEditor.buffer:()Ljava/lang/invoke/LambdaFormBuffer;
            astore 5 /* buf */
        start local 5 // java.lang.invoke.LambdaFormBuffer buf
         6: .line 508
            aload 5 /* buf */
            invokevirtual java.lang.invoke.LambdaFormBuffer.startEdit:()V
         7: .line 510
            getstatic java.lang.invoke.LambdaFormEditor.$assertionsDisabled:Z
            ifne 8
            aload 0 /* this */
            getfield java.lang.invoke.LambdaFormEditor.lambdaForm:Ljava/lang/invoke/LambdaForm;
            iload 1 /* srcPos */
            invokevirtual java.lang.invoke.LambdaForm.parameter:(I)Ljava/lang/invoke/LambdaForm$Name;
            getfield java.lang.invoke.LambdaForm$Name.constraint:Ljava/lang/Object;
            ifnull 8
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         8: .line 511
      StackMap locals: java.lang.invoke.LambdaFormBuffer
      StackMap stack:
            getstatic java.lang.invoke.LambdaFormEditor.$assertionsDisabled:Z
            ifne 9
            aload 0 /* this */
            getfield java.lang.invoke.LambdaFormEditor.lambdaForm:Ljava/lang/invoke/LambdaForm;
            iload 2 /* dstPos */
            invokevirtual java.lang.invoke.LambdaForm.parameter:(I)Ljava/lang/invoke/LambdaForm$Name;
            getfield java.lang.invoke.LambdaForm$Name.constraint:Ljava/lang/Object;
            ifnull 9
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         9: .line 512
      StackMap locals:
      StackMap stack:
            aload 5 /* buf */
            iload 2 /* dstPos */
            iload 1 /* srcPos */
            invokevirtual java.lang.invoke.LambdaFormBuffer.replaceParameterByCopy:(II)Ljava/lang/invoke/LambdaFormBuffer;
            pop
        10: .line 514
            aload 5 /* buf */
            invokevirtual java.lang.invoke.LambdaFormBuffer.endEdit:()Ljava/lang/invoke/LambdaForm;
            astore 4 /* form */
        11: .line 515
            aload 0 /* this */
            aload 3 /* key */
            aload 4 /* form */
            invokevirtual java.lang.invoke.LambdaFormEditor.putInCache:(Ljava/lang/invoke/LambdaFormEditor$Transform;Ljava/lang/invoke/LambdaForm;)Ljava/lang/invoke/LambdaForm;
            areturn
        end local 5 // java.lang.invoke.LambdaFormBuffer buf
        end local 4 // java.lang.invoke.LambdaForm form
        end local 3 // java.lang.invoke.LambdaFormEditor$Transform key
        end local 2 // int dstPos
        end local 1 // int srcPos
        end local 0 // java.lang.invoke.LambdaFormEditor this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   12     0    this  Ljava/lang/invoke/LambdaFormEditor;
            0   12     1  srcPos  I
            0   12     2  dstPos  I
            1   12     3     key  Ljava/lang/invoke/LambdaFormEditor$Transform;
            2   12     4    form  Ljava/lang/invoke/LambdaForm;
            6   12     5     buf  Ljava/lang/invoke/LambdaFormBuffer;
    MethodParameters:
        Name  Flags
      srcPos  
      dstPos  

  java.lang.invoke.LambdaForm spreadArgumentsForm(int, java.lang.Class<?>, int);
    descriptor: (ILjava/lang/Class;I)Ljava/lang/invoke/LambdaForm;
    flags: (0x0000) 
    Code:
      stack=7, locals=17, args_size=4
        start local 0 // java.lang.invoke.LambdaFormEditor this
        start local 1 // int pos
        start local 2 // java.lang.Class arrayType
        start local 3 // int arrayLength
         0: .line 519
            aload 2 /* arrayType */
            invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
            astore 4 /* elementType */
        start local 4 // java.lang.Class elementType
         1: .line 520
            aload 2 /* arrayType */
            astore 5 /* erasedArrayType */
        start local 5 // java.lang.Class erasedArrayType
         2: .line 521
            aload 4 /* elementType */
            invokevirtual java.lang.Class.isPrimitive:()Z
            ifne 4
         3: .line 522
            ldc [Ljava/lang/Object;
            astore 5 /* erasedArrayType */
         4: .line 523
      StackMap locals: java.lang.Class java.lang.Class
      StackMap stack:
            aload 4 /* elementType */
            invokestatic java.lang.invoke.LambdaForm$BasicType.basicType:(Ljava/lang/Class;)Ljava/lang/invoke/LambdaForm$BasicType;
            astore 6 /* bt */
        start local 6 // java.lang.invoke.LambdaForm$BasicType bt
         5: .line 524
            aload 6 /* bt */
            invokevirtual java.lang.invoke.LambdaForm$BasicType.ordinal:()I
            istore 7 /* elementTypeKey */
        start local 7 // int elementTypeKey
         6: .line 525
            aload 6 /* bt */
            invokevirtual java.lang.invoke.LambdaForm$BasicType.basicTypeClass:()Ljava/lang/Class;
            aload 4 /* elementType */
            if_acmpeq 9
         7: .line 526
            aload 4 /* elementType */
            invokevirtual java.lang.Class.isPrimitive:()Z
            ifeq 9
         8: .line 527
            getstatic java.lang.invoke.LambdaForm$BasicType.TYPE_LIMIT:I
            aload 4 /* elementType */
            invokestatic sun.invoke.util.Wrapper.forPrimitiveType:(Ljava/lang/Class;)Lsun/invoke/util/Wrapper;
            invokevirtual sun.invoke.util.Wrapper.ordinal:()I
            iadd
            istore 7 /* elementTypeKey */
         9: .line 530
      StackMap locals: java.lang.invoke.LambdaForm$BasicType int
      StackMap stack:
            getstatic java.lang.invoke.LambdaFormEditor$Transform$Kind.SPREAD_ARGS:Ljava/lang/invoke/LambdaFormEditor$Transform$Kind;
            iload 1 /* pos */
            iload 7 /* elementTypeKey */
            iload 3 /* arrayLength */
            invokestatic java.lang.invoke.LambdaFormEditor$Transform.of:(Ljava/lang/invoke/LambdaFormEditor$Transform$Kind;III)Ljava/lang/invoke/LambdaFormEditor$Transform;
            astore 8 /* key */
        start local 8 // java.lang.invoke.LambdaFormEditor$Transform key
        10: .line 531
            aload 0 /* this */
            aload 8 /* key */
            invokevirtual java.lang.invoke.LambdaFormEditor.getInCache:(Ljava/lang/invoke/LambdaFormEditor$Transform;)Ljava/lang/invoke/LambdaForm;
            astore 9 /* form */
        start local 9 // java.lang.invoke.LambdaForm form
        11: .line 532
            aload 9 /* form */
            ifnull 14
        12: .line 533
            getstatic java.lang.invoke.LambdaFormEditor.$assertionsDisabled:Z
            ifne 13
            aload 9 /* form */
            getfield java.lang.invoke.LambdaForm.arity:I
            aload 0 /* this */
            getfield java.lang.invoke.LambdaFormEditor.lambdaForm:Ljava/lang/invoke/LambdaForm;
            getfield java.lang.invoke.LambdaForm.arity:I
            iload 3 /* arrayLength */
            isub
            iconst_1
            iadd
            if_icmpeq 13
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        13: .line 534
      StackMap locals: java.lang.invoke.LambdaFormEditor$Transform java.lang.invoke.LambdaForm
      StackMap stack:
            aload 9 /* form */
            areturn
        14: .line 536
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.lang.invoke.LambdaFormEditor.buffer:()Ljava/lang/invoke/LambdaFormBuffer;
            astore 10 /* buf */
        start local 10 // java.lang.invoke.LambdaFormBuffer buf
        15: .line 537
            aload 10 /* buf */
            invokevirtual java.lang.invoke.LambdaFormBuffer.startEdit:()V
        16: .line 539
            getstatic java.lang.invoke.LambdaFormEditor.$assertionsDisabled:Z
            ifne 17
            iload 1 /* pos */
            sipush 255
            if_icmple 17
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        17: .line 540
      StackMap locals: java.lang.invoke.LambdaFormBuffer
      StackMap stack:
            getstatic java.lang.invoke.LambdaFormEditor.$assertionsDisabled:Z
            ifne 18
            iload 1 /* pos */
            iload 3 /* arrayLength */
            iadd
            aload 0 /* this */
            getfield java.lang.invoke.LambdaFormEditor.lambdaForm:Ljava/lang/invoke/LambdaForm;
            getfield java.lang.invoke.LambdaForm.arity:I
            if_icmple 18
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        18: .line 541
      StackMap locals:
      StackMap stack:
            getstatic java.lang.invoke.LambdaFormEditor.$assertionsDisabled:Z
            ifne 19
            iload 1 /* pos */
            ifgt 19
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        19: .line 543
      StackMap locals:
      StackMap stack:
            new java.lang.invoke.LambdaForm$Name
            dup
            getstatic java.lang.invoke.LambdaForm$BasicType.L_TYPE:Ljava/lang/invoke/LambdaForm$BasicType;
            invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$BasicType;)V
            astore 11 /* spreadParam */
        start local 11 // java.lang.invoke.LambdaForm$Name spreadParam
        20: .line 544
            new java.lang.invoke.LambdaForm$Name
            dup
            getstatic java.lang.invoke.MethodHandleImpl$Lazy.NF_checkSpreadArgument:Ljava/lang/invoke/LambdaForm$NamedFunction;
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 11 /* spreadParam */
            aastore
            dup
            iconst_1
            iload 3 /* arrayLength */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
            astore 12 /* checkSpread */
        start local 12 // java.lang.invoke.LambdaForm$Name checkSpread
        21: .line 547
            aload 0 /* this */
            getfield java.lang.invoke.LambdaFormEditor.lambdaForm:Ljava/lang/invoke/LambdaForm;
            invokevirtual java.lang.invoke.LambdaForm.arity:()I
            istore 13 /* exprPos */
        start local 13 // int exprPos
        22: .line 548
            aload 10 /* buf */
            iload 13 /* exprPos */
            iinc 13 /* exprPos */ 1
            aload 12 /* checkSpread */
            invokevirtual java.lang.invoke.LambdaFormBuffer.insertExpression:(ILjava/lang/invoke/LambdaForm$Name;)Ljava/lang/invoke/LambdaFormBuffer;
            pop
        23: .line 550
            aload 5 /* erasedArrayType */
            invokestatic java.lang.invoke.MethodHandles.arrayElementGetter:(Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            astore 14 /* aload */
        start local 14 // java.lang.invoke.MethodHandle aload
        24: .line 551
            iconst_0
            istore 15 /* i */
        start local 15 // int i
        25: goto 30
        26: .line 552
      StackMap locals: java.lang.invoke.LambdaFormEditor int java.lang.Class int java.lang.Class java.lang.Class java.lang.invoke.LambdaForm$BasicType int java.lang.invoke.LambdaFormEditor$Transform java.lang.invoke.LambdaForm java.lang.invoke.LambdaFormBuffer java.lang.invoke.LambdaForm$Name java.lang.invoke.LambdaForm$Name int java.lang.invoke.MethodHandle int
      StackMap stack:
            new java.lang.invoke.LambdaForm$Name
            dup
            aload 14 /* aload */
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 11 /* spreadParam */
            aastore
            dup
            iconst_1
            iload 15 /* i */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/MethodHandle;[Ljava/lang/Object;)V
            astore 16 /* loadArgument */
        start local 16 // java.lang.invoke.LambdaForm$Name loadArgument
        27: .line 553
            aload 10 /* buf */
            iload 13 /* exprPos */
            iload 15 /* i */
            iadd
            aload 16 /* loadArgument */
            invokevirtual java.lang.invoke.LambdaFormBuffer.insertExpression:(ILjava/lang/invoke/LambdaForm$Name;)Ljava/lang/invoke/LambdaFormBuffer;
            pop
        28: .line 554
            aload 10 /* buf */
            iload 1 /* pos */
            iload 15 /* i */
            iadd
            iload 13 /* exprPos */
            iload 15 /* i */
            iadd
            invokevirtual java.lang.invoke.LambdaFormBuffer.replaceParameterByCopy:(II)Ljava/lang/invoke/LambdaFormBuffer;
            pop
        end local 16 // java.lang.invoke.LambdaForm$Name loadArgument
        29: .line 551
            iinc 15 /* i */ 1
      StackMap locals:
      StackMap stack:
        30: iload 15 /* i */
            iload 3 /* arrayLength */
            if_icmplt 26
        end local 15 // int i
        31: .line 556
            aload 10 /* buf */
            iload 1 /* pos */
            aload 11 /* spreadParam */
            invokevirtual java.lang.invoke.LambdaFormBuffer.insertParameter:(ILjava/lang/invoke/LambdaForm$Name;)Ljava/lang/invoke/LambdaFormBuffer;
            pop
        32: .line 558
            aload 10 /* buf */
            invokevirtual java.lang.invoke.LambdaFormBuffer.endEdit:()Ljava/lang/invoke/LambdaForm;
            astore 9 /* form */
        33: .line 559
            aload 0 /* this */
            aload 8 /* key */
            aload 9 /* form */
            invokevirtual java.lang.invoke.LambdaFormEditor.putInCache:(Ljava/lang/invoke/LambdaFormEditor$Transform;Ljava/lang/invoke/LambdaForm;)Ljava/lang/invoke/LambdaForm;
            areturn
        end local 14 // java.lang.invoke.MethodHandle aload
        end local 13 // int exprPos
        end local 12 // java.lang.invoke.LambdaForm$Name checkSpread
        end local 11 // java.lang.invoke.LambdaForm$Name spreadParam
        end local 10 // java.lang.invoke.LambdaFormBuffer buf
        end local 9 // java.lang.invoke.LambdaForm form
        end local 8 // java.lang.invoke.LambdaFormEditor$Transform key
        end local 7 // int elementTypeKey
        end local 6 // java.lang.invoke.LambdaForm$BasicType bt
        end local 5 // java.lang.Class erasedArrayType
        end local 4 // java.lang.Class elementType
        end local 3 // int arrayLength
        end local 2 // java.lang.Class arrayType
        end local 1 // int pos
        end local 0 // java.lang.invoke.LambdaFormEditor this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   34     0             this  Ljava/lang/invoke/LambdaFormEditor;
            0   34     1              pos  I
            0   34     2        arrayType  Ljava/lang/Class<*>;
            0   34     3      arrayLength  I
            1   34     4      elementType  Ljava/lang/Class<*>;
            2   34     5  erasedArrayType  Ljava/lang/Class<*>;
            5   34     6               bt  Ljava/lang/invoke/LambdaForm$BasicType;
            6   34     7   elementTypeKey  I
           10   34     8              key  Ljava/lang/invoke/LambdaFormEditor$Transform;
           11   34     9             form  Ljava/lang/invoke/LambdaForm;
           15   34    10              buf  Ljava/lang/invoke/LambdaFormBuffer;
           20   34    11      spreadParam  Ljava/lang/invoke/LambdaForm$Name;
           21   34    12      checkSpread  Ljava/lang/invoke/LambdaForm$Name;
           22   34    13          exprPos  I
           24   34    14            aload  Ljava/lang/invoke/MethodHandle;
           25   31    15                i  I
           27   29    16     loadArgument  Ljava/lang/invoke/LambdaForm$Name;
    Signature: (ILjava/lang/Class<*>;I)Ljava/lang/invoke/LambdaForm;
    MethodParameters:
             Name  Flags
      pos          
      arrayType    
      arrayLength  

  java.lang.invoke.LambdaForm collectArgumentsForm(int, java.lang.invoke.MethodType);
    descriptor: (ILjava/lang/invoke/MethodType;)Ljava/lang/invoke/LambdaForm;
    flags: (0x0000) 
    Code:
      stack=5, locals=9, args_size=3
        start local 0 // java.lang.invoke.LambdaFormEditor this
        start local 1 // int pos
        start local 2 // java.lang.invoke.MethodType collectorType
         0: .line 563
            aload 2 /* collectorType */
            invokevirtual java.lang.invoke.MethodType.parameterCount:()I
            istore 3 /* collectorArity */
        start local 3 // int collectorArity
         1: .line 564
            aload 2 /* collectorType */
            invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            if_acmpne 2
            iconst_1
            goto 3
      StackMap locals: int
      StackMap stack:
         2: iconst_0
      StackMap locals:
      StackMap stack: int
         3: istore 4 /* dropResult */
        start local 4 // boolean dropResult
         4: .line 565
            iload 3 /* collectorArity */
            iconst_1
            if_icmpne 6
            iload 4 /* dropResult */
            ifne 6
         5: .line 566
            aload 0 /* this */
            iload 1 /* pos */
            aload 2 /* collectorType */
            iconst_0
            invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
            invokestatic java.lang.invoke.LambdaForm$BasicType.basicType:(Ljava/lang/Class;)Ljava/lang/invoke/LambdaForm$BasicType;
            invokevirtual java.lang.invoke.LambdaFormEditor.filterArgumentForm:(ILjava/lang/invoke/LambdaForm$BasicType;)Ljava/lang/invoke/LambdaForm;
            areturn
         6: .line 568
      StackMap locals: int
      StackMap stack:
            aload 2 /* collectorType */
            invokevirtual java.lang.invoke.MethodType.parameterList:()Ljava/util/List;
            invokestatic java.lang.invoke.LambdaForm$BasicType.basicTypes:(Ljava/util/List;)[Ljava/lang/invoke/LambdaForm$BasicType;
            astore 5 /* newTypes */
        start local 5 // java.lang.invoke.LambdaForm$BasicType[] newTypes
         7: .line 569
            iload 4 /* dropResult */
            ifeq 9
         8: .line 570
            getstatic java.lang.invoke.LambdaFormEditor$Transform$Kind.COLLECT_ARGS_TO_VOID:Ljava/lang/invoke/LambdaFormEditor$Transform$Kind;
            goto 10
         9: .line 571
      StackMap locals: java.lang.invoke.LambdaForm$BasicType[]
      StackMap stack:
            getstatic java.lang.invoke.LambdaFormEditor$Transform$Kind.COLLECT_ARGS:Ljava/lang/invoke/LambdaFormEditor$Transform$Kind;
        10: .line 569
      StackMap locals:
      StackMap stack: java.lang.invoke.LambdaFormEditor$Transform$Kind
            astore 6 /* kind */
        start local 6 // java.lang.invoke.LambdaFormEditor$Transform$Kind kind
        11: .line 572
            iload 4 /* dropResult */
            ifeq 12
            iload 3 /* collectorArity */
            ifne 12
            iconst_1
            istore 1 /* pos */
        12: .line 573
      StackMap locals: java.lang.invoke.LambdaFormEditor$Transform$Kind
      StackMap stack:
            aload 6 /* kind */
            iload 1 /* pos */
            iload 3 /* collectorArity */
            aload 5 /* newTypes */
            invokestatic java.lang.invoke.LambdaForm$BasicType.basicTypesOrd:([Ljava/lang/invoke/LambdaForm$BasicType;)[B
            invokestatic java.lang.invoke.LambdaFormEditor$Transform.of:(Ljava/lang/invoke/LambdaFormEditor$Transform$Kind;II[B)Ljava/lang/invoke/LambdaFormEditor$Transform;
            astore 7 /* key */
        start local 7 // java.lang.invoke.LambdaFormEditor$Transform key
        13: .line 574
            aload 0 /* this */
            aload 7 /* key */
            invokevirtual java.lang.invoke.LambdaFormEditor.getInCache:(Ljava/lang/invoke/LambdaFormEditor$Transform;)Ljava/lang/invoke/LambdaForm;
            astore 8 /* form */
        start local 8 // java.lang.invoke.LambdaForm form
        14: .line 575
            aload 8 /* form */
            ifnull 19
        15: .line 576
            getstatic java.lang.invoke.LambdaFormEditor.$assertionsDisabled:Z
            ifne 18
            aload 8 /* form */
            getfield java.lang.invoke.LambdaForm.arity:I
            aload 0 /* this */
            getfield java.lang.invoke.LambdaFormEditor.lambdaForm:Ljava/lang/invoke/LambdaForm;
            getfield java.lang.invoke.LambdaForm.arity:I
            iload 4 /* dropResult */
            ifeq 16
            iconst_0
            goto 17
      StackMap locals: java.lang.invoke.LambdaFormEditor int java.lang.invoke.MethodType int int java.lang.invoke.LambdaForm$BasicType[] java.lang.invoke.LambdaFormEditor$Transform$Kind java.lang.invoke.LambdaFormEditor$Transform java.lang.invoke.LambdaForm
      StackMap stack: int int
        16: iconst_1
      StackMap locals: java.lang.invoke.LambdaFormEditor int java.lang.invoke.MethodType int int java.lang.invoke.LambdaForm$BasicType[] java.lang.invoke.LambdaFormEditor$Transform$Kind java.lang.invoke.LambdaFormEditor$Transform java.lang.invoke.LambdaForm
      StackMap stack: int int int
        17: isub
            iload 3 /* collectorArity */
            iadd
            if_icmpeq 18
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        18: .line 577
      StackMap locals:
      StackMap stack:
            aload 8 /* form */
            areturn
        19: .line 579
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* pos */
            aload 2 /* collectorType */
            iconst_0
            iload 4 /* dropResult */
            invokevirtual java.lang.invoke.LambdaFormEditor.makeArgumentCombinationForm:(ILjava/lang/invoke/MethodType;ZZ)Ljava/lang/invoke/LambdaForm;
            astore 8 /* form */
        20: .line 580
            aload 0 /* this */
            aload 7 /* key */
            aload 8 /* form */
            invokevirtual java.lang.invoke.LambdaFormEditor.putInCache:(Ljava/lang/invoke/LambdaFormEditor$Transform;Ljava/lang/invoke/LambdaForm;)Ljava/lang/invoke/LambdaForm;
            areturn
        end local 8 // java.lang.invoke.LambdaForm form
        end local 7 // java.lang.invoke.LambdaFormEditor$Transform key
        end local 6 // java.lang.invoke.LambdaFormEditor$Transform$Kind kind
        end local 5 // java.lang.invoke.LambdaForm$BasicType[] newTypes
        end local 4 // boolean dropResult
        end local 3 // int collectorArity
        end local 2 // java.lang.invoke.MethodType collectorType
        end local 1 // int pos
        end local 0 // java.lang.invoke.LambdaFormEditor this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   21     0            this  Ljava/lang/invoke/LambdaFormEditor;
            0   21     1             pos  I
            0   21     2   collectorType  Ljava/lang/invoke/MethodType;
            1   21     3  collectorArity  I
            4   21     4      dropResult  Z
            7   21     5        newTypes  [Ljava/lang/invoke/LambdaForm$BasicType;
           11   21     6            kind  Ljava/lang/invoke/LambdaFormEditor$Transform$Kind;
           13   21     7             key  Ljava/lang/invoke/LambdaFormEditor$Transform;
           14   21     8            form  Ljava/lang/invoke/LambdaForm;
    MethodParameters:
               Name  Flags
      pos            
      collectorType  

  java.lang.invoke.LambdaForm collectArgumentArrayForm(int, java.lang.invoke.MethodHandle);
    descriptor: (ILjava/lang/invoke/MethodHandle;)Ljava/lang/invoke/LambdaForm;
    flags: (0x0000) 
    Code:
      stack=6, locals=21, args_size=3
        start local 0 // java.lang.invoke.LambdaFormEditor this
        start local 1 // int pos
        start local 2 // java.lang.invoke.MethodHandle arrayCollector
         0: .line 584
            aload 2 /* arrayCollector */
            invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
            astore 3 /* collectorType */
        start local 3 // java.lang.invoke.MethodType collectorType
         1: .line 585
            aload 3 /* collectorType */
            invokevirtual java.lang.invoke.MethodType.parameterCount:()I
            istore 4 /* collectorArity */
        start local 4 // int collectorArity
         2: .line 586
            getstatic java.lang.invoke.LambdaFormEditor.$assertionsDisabled:Z
            ifne 3
            aload 2 /* arrayCollector */
            invokevirtual java.lang.invoke.MethodHandle.intrinsicName:()Ljava/lang/invoke/MethodHandleImpl$Intrinsic;
            getstatic java.lang.invoke.MethodHandleImpl$Intrinsic.NEW_ARRAY:Ljava/lang/invoke/MethodHandleImpl$Intrinsic;
            if_acmpeq 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 587
      StackMap locals: java.lang.invoke.MethodType int
      StackMap stack:
            aload 3 /* collectorType */
            invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
            astore 5 /* arrayType */
        start local 5 // java.lang.Class arrayType
         4: .line 588
            aload 5 /* arrayType */
            invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
            astore 6 /* elementType */
        start local 6 // java.lang.Class elementType
         5: .line 589
            aload 6 /* elementType */
            invokestatic java.lang.invoke.LambdaForm$BasicType.basicType:(Ljava/lang/Class;)Ljava/lang/invoke/LambdaForm$BasicType;
            astore 7 /* argType */
        start local 7 // java.lang.invoke.LambdaForm$BasicType argType
         6: .line 590
            aload 7 /* argType */
            invokevirtual java.lang.invoke.LambdaForm$BasicType.ordinal:()I
            istore 8 /* argTypeKey */
        start local 8 // int argTypeKey
         7: .line 591
            aload 7 /* argType */
            invokevirtual java.lang.invoke.LambdaForm$BasicType.basicTypeClass:()Ljava/lang/Class;
            aload 6 /* elementType */
            if_acmpeq 11
         8: .line 593
            aload 6 /* elementType */
            invokevirtual java.lang.Class.isPrimitive:()Z
            ifne 10
         9: .line 594
            aconst_null
            areturn
        10: .line 595
      StackMap locals: java.lang.invoke.LambdaFormEditor int java.lang.invoke.MethodHandle java.lang.invoke.MethodType int java.lang.Class java.lang.Class java.lang.invoke.LambdaForm$BasicType int
      StackMap stack:
            getstatic java.lang.invoke.LambdaForm$BasicType.TYPE_LIMIT:I
            aload 6 /* elementType */
            invokestatic sun.invoke.util.Wrapper.forPrimitiveType:(Ljava/lang/Class;)Lsun/invoke/util/Wrapper;
            invokevirtual sun.invoke.util.Wrapper.ordinal:()I
            iadd
            istore 8 /* argTypeKey */
        11: .line 597
      StackMap locals:
      StackMap stack:
            getstatic java.lang.invoke.LambdaFormEditor.$assertionsDisabled:Z
            ifne 12
            aload 3 /* collectorType */
            invokevirtual java.lang.invoke.MethodType.parameterList:()Ljava/util/List;
            iload 4 /* collectorArity */
            aload 6 /* elementType */
            invokestatic java.util.Collections.nCopies:(ILjava/lang/Object;)Ljava/util/List;
            invokeinterface java.util.List.equals:(Ljava/lang/Object;)Z
            ifne 12
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        12: .line 598
      StackMap locals:
      StackMap stack:
            getstatic java.lang.invoke.LambdaFormEditor$Transform$Kind.COLLECT_ARGS_TO_ARRAY:Ljava/lang/invoke/LambdaFormEditor$Transform$Kind;
            astore 9 /* kind */
        start local 9 // java.lang.invoke.LambdaFormEditor$Transform$Kind kind
        13: .line 599
            aload 9 /* kind */
            iload 1 /* pos */
            iload 4 /* collectorArity */
            iload 8 /* argTypeKey */
            invokestatic java.lang.invoke.LambdaFormEditor$Transform.of:(Ljava/lang/invoke/LambdaFormEditor$Transform$Kind;III)Ljava/lang/invoke/LambdaFormEditor$Transform;
            astore 10 /* key */
        start local 10 // java.lang.invoke.LambdaFormEditor$Transform key
        14: .line 600
            aload 0 /* this */
            aload 10 /* key */
            invokevirtual java.lang.invoke.LambdaFormEditor.getInCache:(Ljava/lang/invoke/LambdaFormEditor$Transform;)Ljava/lang/invoke/LambdaForm;
            astore 11 /* form */
        start local 11 // java.lang.invoke.LambdaForm form
        15: .line 601
            aload 11 /* form */
            ifnull 18
        16: .line 602
            getstatic java.lang.invoke.LambdaFormEditor.$assertionsDisabled:Z
            ifne 17
            aload 11 /* form */
            getfield java.lang.invoke.LambdaForm.arity:I
            aload 0 /* this */
            getfield java.lang.invoke.LambdaFormEditor.lambdaForm:Ljava/lang/invoke/LambdaForm;
            getfield java.lang.invoke.LambdaForm.arity:I
            iconst_1
            isub
            iload 4 /* collectorArity */
            iadd
            if_icmpeq 17
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        17: .line 603
      StackMap locals: java.lang.invoke.LambdaFormEditor$Transform$Kind java.lang.invoke.LambdaFormEditor$Transform java.lang.invoke.LambdaForm
      StackMap stack:
            aload 11 /* form */
            areturn
        18: .line 605
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.lang.invoke.LambdaFormEditor.buffer:()Ljava/lang/invoke/LambdaFormBuffer;
            astore 12 /* buf */
        start local 12 // java.lang.invoke.LambdaFormBuffer buf
        19: .line 606
            aload 12 /* buf */
            invokevirtual java.lang.invoke.LambdaFormBuffer.startEdit:()V
        20: .line 608
            getstatic java.lang.invoke.LambdaFormEditor.$assertionsDisabled:Z
            ifne 21
            iload 1 /* pos */
            iconst_1
            iadd
            aload 0 /* this */
            getfield java.lang.invoke.LambdaFormEditor.lambdaForm:Ljava/lang/invoke/LambdaForm;
            getfield java.lang.invoke.LambdaForm.arity:I
            if_icmple 21
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        21: .line 609
      StackMap locals: java.lang.invoke.LambdaFormBuffer
      StackMap stack:
            getstatic java.lang.invoke.LambdaFormEditor.$assertionsDisabled:Z
            ifne 22
            iload 1 /* pos */
            ifgt 22
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        22: .line 611
      StackMap locals:
      StackMap stack:
            iload 4 /* collectorArity */
            anewarray java.lang.invoke.LambdaForm$Name
            astore 13 /* newParams */
        start local 13 // java.lang.invoke.LambdaForm$Name[] newParams
        23: .line 612
            iconst_0
            istore 14 /* i */
        start local 14 // int i
        24: goto 27
        25: .line 613
      StackMap locals: java.lang.invoke.LambdaForm$Name[] int
      StackMap stack:
            aload 13 /* newParams */
            iload 14 /* i */
            new java.lang.invoke.LambdaForm$Name
            dup
            iload 1 /* pos */
            iload 14 /* i */
            iadd
            aload 7 /* argType */
            invokespecial java.lang.invoke.LambdaForm$Name.<init>:(ILjava/lang/invoke/LambdaForm$BasicType;)V
            aastore
        26: .line 612
            iinc 14 /* i */ 1
      StackMap locals:
      StackMap stack:
        27: iload 14 /* i */
            iload 4 /* collectorArity */
            if_icmplt 25
        end local 14 // int i
        28: .line 615
            new java.lang.invoke.LambdaForm$Name
            dup
            aload 2 /* arrayCollector */
            aload 13 /* newParams */
            invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/MethodHandle;[Ljava/lang/Object;)V
            astore 14 /* callCombiner */
        start local 14 // java.lang.invoke.LambdaForm$Name callCombiner
        29: .line 618
            aload 0 /* this */
            getfield java.lang.invoke.LambdaFormEditor.lambdaForm:Ljava/lang/invoke/LambdaForm;
            invokevirtual java.lang.invoke.LambdaForm.arity:()I
            istore 15 /* exprPos */
        start local 15 // int exprPos
        30: .line 619
            aload 12 /* buf */
            iload 15 /* exprPos */
            aload 14 /* callCombiner */
            invokevirtual java.lang.invoke.LambdaFormBuffer.insertExpression:(ILjava/lang/invoke/LambdaForm$Name;)Ljava/lang/invoke/LambdaFormBuffer;
            pop
        31: .line 622
            iload 1 /* pos */
            iconst_1
            iadd
            istore 16 /* argPos */
        start local 16 // int argPos
        32: .line 623
            aload 13 /* newParams */
            dup
            astore 20
            arraylength
            istore 19
            iconst_0
            istore 18
            goto 36
      StackMap locals: java.lang.invoke.LambdaFormEditor int java.lang.invoke.MethodHandle java.lang.invoke.MethodType int java.lang.Class java.lang.Class java.lang.invoke.LambdaForm$BasicType int java.lang.invoke.LambdaFormEditor$Transform$Kind java.lang.invoke.LambdaFormEditor$Transform java.lang.invoke.LambdaForm java.lang.invoke.LambdaFormBuffer java.lang.invoke.LambdaForm$Name[] java.lang.invoke.LambdaForm$Name int int top int int java.lang.invoke.LambdaForm$Name[]
      StackMap stack:
        33: aload 20
            iload 18
            aaload
            astore 17 /* newParam */
        start local 17 // java.lang.invoke.LambdaForm$Name newParam
        34: .line 624
            aload 12 /* buf */
            iload 16 /* argPos */
            iinc 16 /* argPos */ 1
            aload 17 /* newParam */
            invokevirtual java.lang.invoke.LambdaFormBuffer.insertParameter:(ILjava/lang/invoke/LambdaForm$Name;)Ljava/lang/invoke/LambdaFormBuffer;
            pop
        end local 17 // java.lang.invoke.LambdaForm$Name newParam
        35: .line 623
            iinc 18 1
      StackMap locals:
      StackMap stack:
        36: iload 18
            iload 19
            if_icmplt 33
        37: .line 626
            getstatic java.lang.invoke.LambdaFormEditor.$assertionsDisabled:Z
            ifne 38
            aload 12 /* buf */
            aload 14 /* callCombiner */
            invokevirtual java.lang.invoke.LambdaFormBuffer.lastIndexOf:(Ljava/lang/invoke/LambdaForm$Name;)I
            iload 15 /* exprPos */
            aload 13 /* newParams */
            arraylength
            iadd
            if_icmpeq 38
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        38: .line 627
      StackMap locals: java.lang.invoke.LambdaFormEditor int java.lang.invoke.MethodHandle java.lang.invoke.MethodType int java.lang.Class java.lang.Class java.lang.invoke.LambdaForm$BasicType int java.lang.invoke.LambdaFormEditor$Transform$Kind java.lang.invoke.LambdaFormEditor$Transform java.lang.invoke.LambdaForm java.lang.invoke.LambdaFormBuffer java.lang.invoke.LambdaForm$Name[] java.lang.invoke.LambdaForm$Name int int
      StackMap stack:
            aload 12 /* buf */
            iload 1 /* pos */
            iload 15 /* exprPos */
            aload 13 /* newParams */
            arraylength
            iadd
            invokevirtual java.lang.invoke.LambdaFormBuffer.replaceParameterByCopy:(II)Ljava/lang/invoke/LambdaFormBuffer;
            pop
        39: .line 629
            aload 12 /* buf */
            invokevirtual java.lang.invoke.LambdaFormBuffer.endEdit:()Ljava/lang/invoke/LambdaForm;
            astore 11 /* form */
        40: .line 630
            aload 0 /* this */
            aload 10 /* key */
            aload 11 /* form */
            invokevirtual java.lang.invoke.LambdaFormEditor.putInCache:(Ljava/lang/invoke/LambdaFormEditor$Transform;Ljava/lang/invoke/LambdaForm;)Ljava/lang/invoke/LambdaForm;
            areturn
        end local 16 // int argPos
        end local 15 // int exprPos
        end local 14 // java.lang.invoke.LambdaForm$Name callCombiner
        end local 13 // java.lang.invoke.LambdaForm$Name[] newParams
        end local 12 // java.lang.invoke.LambdaFormBuffer buf
        end local 11 // java.lang.invoke.LambdaForm form
        end local 10 // java.lang.invoke.LambdaFormEditor$Transform key
        end local 9 // java.lang.invoke.LambdaFormEditor$Transform$Kind kind
        end local 8 // int argTypeKey
        end local 7 // java.lang.invoke.LambdaForm$BasicType argType
        end local 6 // java.lang.Class elementType
        end local 5 // java.lang.Class arrayType
        end local 4 // int collectorArity
        end local 3 // java.lang.invoke.MethodType collectorType
        end local 2 // java.lang.invoke.MethodHandle arrayCollector
        end local 1 // int pos
        end local 0 // java.lang.invoke.LambdaFormEditor this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   41     0            this  Ljava/lang/invoke/LambdaFormEditor;
            0   41     1             pos  I
            0   41     2  arrayCollector  Ljava/lang/invoke/MethodHandle;
            1   41     3   collectorType  Ljava/lang/invoke/MethodType;
            2   41     4  collectorArity  I
            4   41     5       arrayType  Ljava/lang/Class<*>;
            5   41     6     elementType  Ljava/lang/Class<*>;
            6   41     7         argType  Ljava/lang/invoke/LambdaForm$BasicType;
            7   41     8      argTypeKey  I
           13   41     9            kind  Ljava/lang/invoke/LambdaFormEditor$Transform$Kind;
           14   41    10             key  Ljava/lang/invoke/LambdaFormEditor$Transform;
           15   41    11            form  Ljava/lang/invoke/LambdaForm;
           19   41    12             buf  Ljava/lang/invoke/LambdaFormBuffer;
           23   41    13       newParams  [Ljava/lang/invoke/LambdaForm$Name;
           24   28    14               i  I
           29   41    14    callCombiner  Ljava/lang/invoke/LambdaForm$Name;
           30   41    15         exprPos  I
           32   41    16          argPos  I
           34   35    17        newParam  Ljava/lang/invoke/LambdaForm$Name;
    MethodParameters:
                Name  Flags
      pos             
      arrayCollector  

  java.lang.invoke.LambdaForm filterArgumentForm(int, java.lang.invoke.LambdaForm$BasicType);
    descriptor: (ILjava/lang/invoke/LambdaForm$BasicType;)Ljava/lang/invoke/LambdaForm;
    flags: (0x0000) 
    Code:
      stack=5, locals=7, args_size=3
        start local 0 // java.lang.invoke.LambdaFormEditor this
        start local 1 // int pos
        start local 2 // java.lang.invoke.LambdaForm$BasicType newType
         0: .line 634
            getstatic java.lang.invoke.LambdaFormEditor$Transform$Kind.FILTER_ARG:Ljava/lang/invoke/LambdaFormEditor$Transform$Kind;
            iload 1 /* pos */
            aload 2 /* newType */
            invokevirtual java.lang.invoke.LambdaForm$BasicType.ordinal:()I
            invokestatic java.lang.invoke.LambdaFormEditor$Transform.of:(Ljava/lang/invoke/LambdaFormEditor$Transform$Kind;II)Ljava/lang/invoke/LambdaFormEditor$Transform;
            astore 3 /* key */
        start local 3 // java.lang.invoke.LambdaFormEditor$Transform key
         1: .line 635
            aload 0 /* this */
            aload 3 /* key */
            invokevirtual java.lang.invoke.LambdaFormEditor.getInCache:(Ljava/lang/invoke/LambdaFormEditor$Transform;)Ljava/lang/invoke/LambdaForm;
            astore 4 /* form */
        start local 4 // java.lang.invoke.LambdaForm form
         2: .line 636
            aload 4 /* form */
            ifnull 6
         3: .line 637
            getstatic java.lang.invoke.LambdaFormEditor.$assertionsDisabled:Z
            ifne 4
            aload 4 /* form */
            getfield java.lang.invoke.LambdaForm.arity:I
            aload 0 /* this */
            getfield java.lang.invoke.LambdaFormEditor.lambdaForm:Ljava/lang/invoke/LambdaForm;
            getfield java.lang.invoke.LambdaForm.arity:I
            if_icmpeq 4
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 638
      StackMap locals: java.lang.invoke.LambdaFormEditor$Transform java.lang.invoke.LambdaForm
      StackMap stack:
            getstatic java.lang.invoke.LambdaFormEditor.$assertionsDisabled:Z
            ifne 5
            aload 4 /* form */
            iload 1 /* pos */
            invokevirtual java.lang.invoke.LambdaForm.parameterType:(I)Ljava/lang/invoke/LambdaForm$BasicType;
            aload 2 /* newType */
            if_acmpeq 5
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         5: .line 639
      StackMap locals:
      StackMap stack:
            aload 4 /* form */
            areturn
         6: .line 642
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.lang.invoke.LambdaFormEditor.lambdaForm:Ljava/lang/invoke/LambdaForm;
            iload 1 /* pos */
            invokevirtual java.lang.invoke.LambdaForm.parameterType:(I)Ljava/lang/invoke/LambdaForm$BasicType;
            astore 5 /* oldType */
        start local 5 // java.lang.invoke.LambdaForm$BasicType oldType
         7: .line 643
            aload 5 /* oldType */
            invokevirtual java.lang.invoke.LambdaForm$BasicType.basicTypeClass:()Ljava/lang/Class;
         8: .line 644
            aload 2 /* newType */
            invokevirtual java.lang.invoke.LambdaForm$BasicType.basicTypeClass:()Ljava/lang/Class;
         9: .line 643
            invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
            astore 6 /* filterType */
        start local 6 // java.lang.invoke.MethodType filterType
        10: .line 645
            aload 0 /* this */
            iload 1 /* pos */
            aload 6 /* filterType */
            iconst_0
            iconst_0
            invokevirtual java.lang.invoke.LambdaFormEditor.makeArgumentCombinationForm:(ILjava/lang/invoke/MethodType;ZZ)Ljava/lang/invoke/LambdaForm;
            astore 4 /* form */
        11: .line 646
            aload 0 /* this */
            aload 3 /* key */
            aload 4 /* form */
            invokevirtual java.lang.invoke.LambdaFormEditor.putInCache:(Ljava/lang/invoke/LambdaFormEditor$Transform;Ljava/lang/invoke/LambdaForm;)Ljava/lang/invoke/LambdaForm;
            areturn
        end local 6 // java.lang.invoke.MethodType filterType
        end local 5 // java.lang.invoke.LambdaForm$BasicType oldType
        end local 4 // java.lang.invoke.LambdaForm form
        end local 3 // java.lang.invoke.LambdaFormEditor$Transform key
        end local 2 // java.lang.invoke.LambdaForm$BasicType newType
        end local 1 // int pos
        end local 0 // java.lang.invoke.LambdaFormEditor this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   12     0        this  Ljava/lang/invoke/LambdaFormEditor;
            0   12     1         pos  I
            0   12     2     newType  Ljava/lang/invoke/LambdaForm$BasicType;
            1   12     3         key  Ljava/lang/invoke/LambdaFormEditor$Transform;
            2   12     4        form  Ljava/lang/invoke/LambdaForm;
            7   12     5     oldType  Ljava/lang/invoke/LambdaForm$BasicType;
           10   12     6  filterType  Ljava/lang/invoke/MethodType;
    MethodParameters:
         Name  Flags
      pos      
      newType  

  private java.lang.invoke.LambdaForm makeArgumentCombinationForm(int, java.lang.invoke.MethodType, boolean, boolean);
    descriptor: (ILjava/lang/invoke/MethodType;ZZ)Ljava/lang/invoke/LambdaForm;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=22, args_size=5
        start local 0 // java.lang.invoke.LambdaFormEditor this
        start local 1 // int pos
        start local 2 // java.lang.invoke.MethodType combinerType
        start local 3 // boolean keepArguments
        start local 4 // boolean dropResult
         0: .line 652
            aload 0 /* this */
            invokevirtual java.lang.invoke.LambdaFormEditor.buffer:()Ljava/lang/invoke/LambdaFormBuffer;
            astore 5 /* buf */
        start local 5 // java.lang.invoke.LambdaFormBuffer buf
         1: .line 653
            aload 5 /* buf */
            invokevirtual java.lang.invoke.LambdaFormBuffer.startEdit:()V
         2: .line 654
            aload 2 /* combinerType */
            invokevirtual java.lang.invoke.MethodType.parameterCount:()I
            istore 6 /* combinerArity */
        start local 6 // int combinerArity
         3: .line 655
            iload 4 /* dropResult */
            ifeq 4
            iconst_0
            goto 5
      StackMap locals: java.lang.invoke.LambdaFormBuffer int
      StackMap stack:
         4: iconst_1
      StackMap locals:
      StackMap stack: int
         5: istore 7 /* resultArity */
        start local 7 // int resultArity
         6: .line 657
            getstatic java.lang.invoke.LambdaFormEditor.$assertionsDisabled:Z
            ifne 7
            iload 1 /* pos */
            sipush 255
            if_icmple 7
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         7: .line 658
      StackMap locals: int
      StackMap stack:
            getstatic java.lang.invoke.LambdaFormEditor.$assertionsDisabled:Z
            ifne 10
            iload 1 /* pos */
            iload 7 /* resultArity */
            iadd
            iload 3 /* keepArguments */
            ifeq 8
            iload 6 /* combinerArity */
            goto 9
      StackMap locals:
      StackMap stack: int
         8: iconst_0
      StackMap locals: java.lang.invoke.LambdaFormEditor int java.lang.invoke.MethodType int int java.lang.invoke.LambdaFormBuffer int int
      StackMap stack: int int
         9: iadd
            aload 0 /* this */
            getfield java.lang.invoke.LambdaFormEditor.lambdaForm:Ljava/lang/invoke/LambdaForm;
            getfield java.lang.invoke.LambdaForm.arity:I
            if_icmple 10
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        10: .line 659
      StackMap locals:
      StackMap stack:
            getstatic java.lang.invoke.LambdaFormEditor.$assertionsDisabled:Z
            ifne 11
            iload 1 /* pos */
            ifgt 11
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        11: .line 660
      StackMap locals:
      StackMap stack:
            getstatic java.lang.invoke.LambdaFormEditor.$assertionsDisabled:Z
            ifne 12
            aload 2 /* combinerType */
            aload 2 /* combinerType */
            invokevirtual java.lang.invoke.MethodType.basicType:()Ljava/lang/invoke/MethodType;
            if_acmpeq 12
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        12: .line 661
      StackMap locals:
      StackMap stack:
            getstatic java.lang.invoke.LambdaFormEditor.$assertionsDisabled:Z
            ifne 13
            aload 2 /* combinerType */
            invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            if_acmpne 13
            iload 4 /* dropResult */
            ifne 13
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        13: .line 663
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.lang.invoke.LambdaFormEditor.oldSpeciesData:()Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
            astore 8 /* oldData */
        start local 8 // java.lang.invoke.BoundMethodHandle$SpeciesData oldData
        14: .line 664
            aload 0 /* this */
            getstatic java.lang.invoke.LambdaForm$BasicType.L_TYPE:Ljava/lang/invoke/LambdaForm$BasicType;
            invokevirtual java.lang.invoke.LambdaFormEditor.newSpeciesData:(Ljava/lang/invoke/LambdaForm$BasicType;)Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
            astore 9 /* newData */
        start local 9 // java.lang.invoke.BoundMethodHandle$SpeciesData newData
        15: .line 668
            aload 0 /* this */
            getfield java.lang.invoke.LambdaFormEditor.lambdaForm:Ljava/lang/invoke/LambdaForm;
            iconst_0
            invokevirtual java.lang.invoke.LambdaForm.parameter:(I)Ljava/lang/invoke/LambdaForm$Name;
            astore 10 /* oldBaseAddress */
        start local 10 // java.lang.invoke.LambdaForm$Name oldBaseAddress
        16: .line 669
            aload 5 /* buf */
            aload 8 /* oldData */
            invokevirtual java.lang.invoke.BoundMethodHandle$SpeciesData.getterFunctions:()[Ljava/lang/invoke/LambdaForm$NamedFunction;
            aload 9 /* newData */
            invokevirtual java.lang.invoke.BoundMethodHandle$SpeciesData.getterFunctions:()[Ljava/lang/invoke/LambdaForm$NamedFunction;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 10 /* oldBaseAddress */
            aastore
            invokevirtual java.lang.invoke.LambdaFormBuffer.replaceFunctions:([Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)Ljava/lang/invoke/LambdaFormBuffer;
            pop
        17: .line 670
            aload 10 /* oldBaseAddress */
            aload 9 /* newData */
            invokevirtual java.lang.invoke.LambdaForm$Name.withConstraint:(Ljava/lang/Object;)Ljava/lang/invoke/LambdaForm$Name;
            astore 11 /* newBaseAddress */
        start local 11 // java.lang.invoke.LambdaForm$Name newBaseAddress
        18: .line 671
            aload 5 /* buf */
            iconst_0
            aload 11 /* newBaseAddress */
            invokevirtual java.lang.invoke.LambdaFormBuffer.renameParameter:(ILjava/lang/invoke/LambdaForm$Name;)Ljava/lang/invoke/LambdaFormBuffer;
            pop
        19: .line 673
            new java.lang.invoke.LambdaForm$Name
            dup
            aload 9 /* newData */
            aload 8 /* oldData */
            invokevirtual java.lang.invoke.BoundMethodHandle$SpeciesData.fieldCount:()I
            invokevirtual java.lang.invoke.BoundMethodHandle$SpeciesData.getterFunction:(I)Ljava/lang/invoke/LambdaForm$NamedFunction;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 11 /* newBaseAddress */
            aastore
            invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
            astore 12 /* getCombiner */
        start local 12 // java.lang.invoke.LambdaForm$Name getCombiner
        20: .line 674
            iconst_1
            iload 6 /* combinerArity */
            iadd
            anewarray java.lang.Object
            astore 13 /* combinerArgs */
        start local 13 // java.lang.Object[] combinerArgs
        21: .line 675
            aload 13 /* combinerArgs */
            iconst_0
            aload 12 /* getCombiner */
            aastore
        22: .line 677
            iload 3 /* keepArguments */
            ifeq 28
        23: .line 678
            iconst_0
            anewarray java.lang.invoke.LambdaForm$Name
            astore 14 /* newParams */
        start local 14 // java.lang.invoke.LambdaForm$Name[] newParams
        24: .line 679
            aload 0 /* this */
            getfield java.lang.invoke.LambdaFormEditor.lambdaForm:Ljava/lang/invoke/LambdaForm;
            getfield java.lang.invoke.LambdaForm.names:[Ljava/lang/invoke/LambdaForm$Name;
            iload 1 /* pos */
            iload 7 /* resultArity */
            iadd
        25: .line 680
            aload 13 /* combinerArgs */
            iconst_1
            iload 6 /* combinerArity */
        26: .line 679
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        27: .line 681
            goto 38
        end local 14 // java.lang.invoke.LambdaForm$Name[] newParams
        28: .line 682
      StackMap locals: java.lang.invoke.LambdaFormEditor int java.lang.invoke.MethodType int int java.lang.invoke.LambdaFormBuffer int int java.lang.invoke.BoundMethodHandle$SpeciesData java.lang.invoke.BoundMethodHandle$SpeciesData java.lang.invoke.LambdaForm$Name java.lang.invoke.LambdaForm$Name java.lang.invoke.LambdaForm$Name java.lang.Object[]
      StackMap stack:
            iload 6 /* combinerArity */
            anewarray java.lang.invoke.LambdaForm$Name
            astore 14 /* newParams */
        start local 14 // java.lang.invoke.LambdaForm$Name[] newParams
        29: .line 683
            aload 2 /* combinerType */
            invokevirtual java.lang.invoke.MethodType.parameterList:()Ljava/util/List;
            invokestatic java.lang.invoke.LambdaForm$BasicType.basicTypes:(Ljava/util/List;)[Ljava/lang/invoke/LambdaForm$BasicType;
            astore 15 /* newTypes */
        start local 15 // java.lang.invoke.LambdaForm$BasicType[] newTypes
        30: .line 684
            iconst_0
            istore 16 /* i */
        start local 16 // int i
        31: goto 34
        32: .line 685
      StackMap locals: java.lang.invoke.LambdaForm$Name[] java.lang.invoke.LambdaForm$BasicType[] int
      StackMap stack:
            aload 14 /* newParams */
            iload 16 /* i */
            new java.lang.invoke.LambdaForm$Name
            dup
            iload 1 /* pos */
            iload 16 /* i */
            iadd
            aload 15 /* newTypes */
            iload 16 /* i */
            aaload
            invokespecial java.lang.invoke.LambdaForm$Name.<init>:(ILjava/lang/invoke/LambdaForm$BasicType;)V
            aastore
        33: .line 684
            iinc 16 /* i */ 1
      StackMap locals:
      StackMap stack:
        34: iload 16 /* i */
            aload 15 /* newTypes */
            arraylength
            if_icmplt 32
        end local 16 // int i
        35: .line 687
            aload 14 /* newParams */
            iconst_0
        36: .line 688
            aload 13 /* combinerArgs */
            iconst_1
            iload 6 /* combinerArity */
        37: .line 687
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        end local 15 // java.lang.invoke.LambdaForm$BasicType[] newTypes
        38: .line 690
      StackMap locals:
      StackMap stack:
            new java.lang.invoke.LambdaForm$Name
            dup
            aload 2 /* combinerType */
            aload 13 /* combinerArgs */
            invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/MethodType;[Ljava/lang/Object;)V
            astore 15 /* callCombiner */
        start local 15 // java.lang.invoke.LambdaForm$Name callCombiner
        39: .line 693
            aload 0 /* this */
            getfield java.lang.invoke.LambdaFormEditor.lambdaForm:Ljava/lang/invoke/LambdaForm;
            invokevirtual java.lang.invoke.LambdaForm.arity:()I
            istore 16 /* exprPos */
        start local 16 // int exprPos
        40: .line 694
            aload 5 /* buf */
            iload 16 /* exprPos */
            iconst_0
            iadd
            aload 12 /* getCombiner */
            invokevirtual java.lang.invoke.LambdaFormBuffer.insertExpression:(ILjava/lang/invoke/LambdaForm$Name;)Ljava/lang/invoke/LambdaFormBuffer;
            pop
        41: .line 695
            aload 5 /* buf */
            iload 16 /* exprPos */
            iconst_1
            iadd
            aload 15 /* callCombiner */
            invokevirtual java.lang.invoke.LambdaFormBuffer.insertExpression:(ILjava/lang/invoke/LambdaForm$Name;)Ljava/lang/invoke/LambdaFormBuffer;
            pop
        42: .line 698
            iload 1 /* pos */
            iload 7 /* resultArity */
            iadd
            istore 17 /* argPos */
        start local 17 // int argPos
        43: .line 699
            aload 14 /* newParams */
            dup
            astore 21
            arraylength
            istore 20
            iconst_0
            istore 19
            goto 47
      StackMap locals: java.lang.invoke.LambdaFormEditor int java.lang.invoke.MethodType int int java.lang.invoke.LambdaFormBuffer int int java.lang.invoke.BoundMethodHandle$SpeciesData java.lang.invoke.BoundMethodHandle$SpeciesData java.lang.invoke.LambdaForm$Name java.lang.invoke.LambdaForm$Name java.lang.invoke.LambdaForm$Name java.lang.Object[] java.lang.invoke.LambdaForm$Name[] java.lang.invoke.LambdaForm$Name int int top int int java.lang.invoke.LambdaForm$Name[]
      StackMap stack:
        44: aload 21
            iload 19
            aaload
            astore 18 /* newParam */
        start local 18 // java.lang.invoke.LambdaForm$Name newParam
        45: .line 700
            aload 5 /* buf */
            iload 17 /* argPos */
            iinc 17 /* argPos */ 1
            aload 18 /* newParam */
            invokevirtual java.lang.invoke.LambdaFormBuffer.insertParameter:(ILjava/lang/invoke/LambdaForm$Name;)Ljava/lang/invoke/LambdaFormBuffer;
            pop
        end local 18 // java.lang.invoke.LambdaForm$Name newParam
        46: .line 699
            iinc 19 1
      StackMap locals:
      StackMap stack:
        47: iload 19
            iload 20
            if_icmplt 44
        48: .line 702
            getstatic java.lang.invoke.LambdaFormEditor.$assertionsDisabled:Z
            ifne 49
            aload 5 /* buf */
            aload 15 /* callCombiner */
            invokevirtual java.lang.invoke.LambdaFormBuffer.lastIndexOf:(Ljava/lang/invoke/LambdaForm$Name;)I
            iload 16 /* exprPos */
            iconst_1
            iadd
            aload 14 /* newParams */
            arraylength
            iadd
            if_icmpeq 49
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        49: .line 703
      StackMap locals: java.lang.invoke.LambdaFormEditor int java.lang.invoke.MethodType int int java.lang.invoke.LambdaFormBuffer int int java.lang.invoke.BoundMethodHandle$SpeciesData java.lang.invoke.BoundMethodHandle$SpeciesData java.lang.invoke.LambdaForm$Name java.lang.invoke.LambdaForm$Name java.lang.invoke.LambdaForm$Name java.lang.Object[] java.lang.invoke.LambdaForm$Name[] java.lang.invoke.LambdaForm$Name int int
      StackMap stack:
            iload 4 /* dropResult */
            ifne 51
        50: .line 704
            aload 5 /* buf */
            iload 1 /* pos */
            iload 16 /* exprPos */
            iconst_1
            iadd
            aload 14 /* newParams */
            arraylength
            iadd
            invokevirtual java.lang.invoke.LambdaFormBuffer.replaceParameterByCopy:(II)Ljava/lang/invoke/LambdaFormBuffer;
            pop
        51: .line 707
      StackMap locals:
      StackMap stack:
            aload 5 /* buf */
            invokevirtual java.lang.invoke.LambdaFormBuffer.endEdit:()Ljava/lang/invoke/LambdaForm;
            areturn
        end local 17 // int argPos
        end local 16 // int exprPos
        end local 15 // java.lang.invoke.LambdaForm$Name callCombiner
        end local 14 // java.lang.invoke.LambdaForm$Name[] newParams
        end local 13 // java.lang.Object[] combinerArgs
        end local 12 // java.lang.invoke.LambdaForm$Name getCombiner
        end local 11 // java.lang.invoke.LambdaForm$Name newBaseAddress
        end local 10 // java.lang.invoke.LambdaForm$Name oldBaseAddress
        end local 9 // java.lang.invoke.BoundMethodHandle$SpeciesData newData
        end local 8 // java.lang.invoke.BoundMethodHandle$SpeciesData oldData
        end local 7 // int resultArity
        end local 6 // int combinerArity
        end local 5 // java.lang.invoke.LambdaFormBuffer buf
        end local 4 // boolean dropResult
        end local 3 // boolean keepArguments
        end local 2 // java.lang.invoke.MethodType combinerType
        end local 1 // int pos
        end local 0 // java.lang.invoke.LambdaFormEditor this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   52     0            this  Ljava/lang/invoke/LambdaFormEditor;
            0   52     1             pos  I
            0   52     2    combinerType  Ljava/lang/invoke/MethodType;
            0   52     3   keepArguments  Z
            0   52     4      dropResult  Z
            1   52     5             buf  Ljava/lang/invoke/LambdaFormBuffer;
            3   52     6   combinerArity  I
            6   52     7     resultArity  I
           14   52     8         oldData  Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
           15   52     9         newData  Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
           16   52    10  oldBaseAddress  Ljava/lang/invoke/LambdaForm$Name;
           18   52    11  newBaseAddress  Ljava/lang/invoke/LambdaForm$Name;
           20   52    12     getCombiner  Ljava/lang/invoke/LambdaForm$Name;
           21   52    13    combinerArgs  [Ljava/lang/Object;
           24   28    14       newParams  [Ljava/lang/invoke/LambdaForm$Name;
           29   52    14       newParams  [Ljava/lang/invoke/LambdaForm$Name;
           30   38    15        newTypes  [Ljava/lang/invoke/LambdaForm$BasicType;
           31   35    16               i  I
           39   52    15    callCombiner  Ljava/lang/invoke/LambdaForm$Name;
           40   52    16         exprPos  I
           43   52    17          argPos  I
           45   46    18        newParam  Ljava/lang/invoke/LambdaForm$Name;
    MethodParameters:
               Name  Flags
      pos            
      combinerType   
      keepArguments  
      dropResult     

  java.lang.invoke.LambdaForm filterReturnForm(java.lang.invoke.LambdaForm$BasicType, boolean);
    descriptor: (Ljava/lang/invoke/LambdaForm$BasicType;Z)Ljava/lang/invoke/LambdaForm;
    flags: (0x0000) 
    Code:
      stack=8, locals=16, args_size=3
        start local 0 // java.lang.invoke.LambdaFormEditor this
        start local 1 // java.lang.invoke.LambdaForm$BasicType newType
        start local 2 // boolean constantZero
         0: .line 711
            iload 2 /* constantZero */
            ifeq 1
            getstatic java.lang.invoke.LambdaFormEditor$Transform$Kind.FILTER_RETURN_TO_ZERO:Ljava/lang/invoke/LambdaFormEditor$Transform$Kind;
            goto 2
      StackMap locals:
      StackMap stack:
         1: getstatic java.lang.invoke.LambdaFormEditor$Transform$Kind.FILTER_RETURN:Ljava/lang/invoke/LambdaFormEditor$Transform$Kind;
      StackMap locals:
      StackMap stack: java.lang.invoke.LambdaFormEditor$Transform$Kind
         2: astore 3 /* kind */
        start local 3 // java.lang.invoke.LambdaFormEditor$Transform$Kind kind
         3: .line 712
            aload 3 /* kind */
            aload 1 /* newType */
            invokevirtual java.lang.invoke.LambdaForm$BasicType.ordinal:()I
            invokestatic java.lang.invoke.LambdaFormEditor$Transform.of:(Ljava/lang/invoke/LambdaFormEditor$Transform$Kind;I)Ljava/lang/invoke/LambdaFormEditor$Transform;
            astore 4 /* key */
        start local 4 // java.lang.invoke.LambdaFormEditor$Transform key
         4: .line 713
            aload 0 /* this */
            aload 4 /* key */
            invokevirtual java.lang.invoke.LambdaFormEditor.getInCache:(Ljava/lang/invoke/LambdaFormEditor$Transform;)Ljava/lang/invoke/LambdaForm;
            astore 5 /* form */
        start local 5 // java.lang.invoke.LambdaForm form
         5: .line 714
            aload 5 /* form */
            ifnull 9
         6: .line 715
            getstatic java.lang.invoke.LambdaFormEditor.$assertionsDisabled:Z
            ifne 7
            aload 5 /* form */
            getfield java.lang.invoke.LambdaForm.arity:I
            aload 0 /* this */
            getfield java.lang.invoke.LambdaFormEditor.lambdaForm:Ljava/lang/invoke/LambdaForm;
            getfield java.lang.invoke.LambdaForm.arity:I
            if_icmpeq 7
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         7: .line 716
      StackMap locals: java.lang.invoke.LambdaFormEditor$Transform$Kind java.lang.invoke.LambdaFormEditor$Transform java.lang.invoke.LambdaForm
      StackMap stack:
            getstatic java.lang.invoke.LambdaFormEditor.$assertionsDisabled:Z
            ifne 8
            aload 5 /* form */
            invokevirtual java.lang.invoke.LambdaForm.returnType:()Ljava/lang/invoke/LambdaForm$BasicType;
            aload 1 /* newType */
            if_acmpeq 8
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         8: .line 717
      StackMap locals:
      StackMap stack:
            aload 5 /* form */
            areturn
         9: .line 719
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.lang.invoke.LambdaFormEditor.buffer:()Ljava/lang/invoke/LambdaFormBuffer;
            astore 6 /* buf */
        start local 6 // java.lang.invoke.LambdaFormBuffer buf
        10: .line 720
            aload 6 /* buf */
            invokevirtual java.lang.invoke.LambdaFormBuffer.startEdit:()V
        11: .line 722
            aload 0 /* this */
            getfield java.lang.invoke.LambdaFormEditor.lambdaForm:Ljava/lang/invoke/LambdaForm;
            getfield java.lang.invoke.LambdaForm.names:[Ljava/lang/invoke/LambdaForm$Name;
            arraylength
            istore 7 /* insPos */
        start local 7 // int insPos
        12: .line 724
            iload 2 /* constantZero */
            ifeq 18
        13: .line 726
            aload 1 /* newType */
            getstatic java.lang.invoke.LambdaForm$BasicType.V_TYPE:Ljava/lang/invoke/LambdaForm$BasicType;
            if_acmpne 16
        14: .line 727
            aconst_null
            astore 8 /* callFilter */
        start local 8 // java.lang.invoke.LambdaForm$Name callFilter
        15: goto 33
        end local 8 // java.lang.invoke.LambdaForm$Name callFilter
        16: .line 729
      StackMap locals: java.lang.invoke.LambdaFormBuffer int
      StackMap stack:
            new java.lang.invoke.LambdaForm$Name
            dup
            aload 1 /* newType */
            invokestatic java.lang.invoke.LambdaForm.constantZero:(Ljava/lang/invoke/LambdaForm$BasicType;)Ljava/lang/invoke/LambdaForm$NamedFunction;
            iconst_0
            anewarray java.lang.Object
            invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
            astore 8 /* callFilter */
        start local 8 // java.lang.invoke.LambdaForm$Name callFilter
        17: .line 730
            goto 33
        end local 8 // java.lang.invoke.LambdaForm$Name callFilter
        18: .line 731
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.lang.invoke.LambdaFormEditor.oldSpeciesData:()Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
            astore 9 /* oldData */
        start local 9 // java.lang.invoke.BoundMethodHandle$SpeciesData oldData
        19: .line 732
            aload 0 /* this */
            getstatic java.lang.invoke.LambdaForm$BasicType.L_TYPE:Ljava/lang/invoke/LambdaForm$BasicType;
            invokevirtual java.lang.invoke.LambdaFormEditor.newSpeciesData:(Ljava/lang/invoke/LambdaForm$BasicType;)Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
            astore 10 /* newData */
        start local 10 // java.lang.invoke.BoundMethodHandle$SpeciesData newData
        20: .line 736
            aload 0 /* this */
            getfield java.lang.invoke.LambdaFormEditor.lambdaForm:Ljava/lang/invoke/LambdaForm;
            iconst_0
            invokevirtual java.lang.invoke.LambdaForm.parameter:(I)Ljava/lang/invoke/LambdaForm$Name;
            astore 11 /* oldBaseAddress */
        start local 11 // java.lang.invoke.LambdaForm$Name oldBaseAddress
        21: .line 737
            aload 6 /* buf */
            aload 9 /* oldData */
            invokevirtual java.lang.invoke.BoundMethodHandle$SpeciesData.getterFunctions:()[Ljava/lang/invoke/LambdaForm$NamedFunction;
            aload 10 /* newData */
            invokevirtual java.lang.invoke.BoundMethodHandle$SpeciesData.getterFunctions:()[Ljava/lang/invoke/LambdaForm$NamedFunction;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 11 /* oldBaseAddress */
            aastore
            invokevirtual java.lang.invoke.LambdaFormBuffer.replaceFunctions:([Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)Ljava/lang/invoke/LambdaFormBuffer;
            pop
        22: .line 738
            aload 11 /* oldBaseAddress */
            aload 10 /* newData */
            invokevirtual java.lang.invoke.LambdaForm$Name.withConstraint:(Ljava/lang/Object;)Ljava/lang/invoke/LambdaForm$Name;
            astore 12 /* newBaseAddress */
        start local 12 // java.lang.invoke.LambdaForm$Name newBaseAddress
        23: .line 739
            aload 6 /* buf */
            iconst_0
            aload 12 /* newBaseAddress */
            invokevirtual java.lang.invoke.LambdaFormBuffer.renameParameter:(ILjava/lang/invoke/LambdaForm$Name;)Ljava/lang/invoke/LambdaFormBuffer;
            pop
        24: .line 741
            new java.lang.invoke.LambdaForm$Name
            dup
            aload 10 /* newData */
            aload 9 /* oldData */
            invokevirtual java.lang.invoke.BoundMethodHandle$SpeciesData.fieldCount:()I
            invokevirtual java.lang.invoke.BoundMethodHandle$SpeciesData.getterFunction:(I)Ljava/lang/invoke/LambdaForm$NamedFunction;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 12 /* newBaseAddress */
            aastore
            invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
            astore 13 /* getFilter */
        start local 13 // java.lang.invoke.LambdaForm$Name getFilter
        25: .line 742
            aload 6 /* buf */
            iload 7 /* insPos */
            iinc 7 /* insPos */ 1
            aload 13 /* getFilter */
            invokevirtual java.lang.invoke.LambdaFormBuffer.insertExpression:(ILjava/lang/invoke/LambdaForm$Name;)Ljava/lang/invoke/LambdaFormBuffer;
            pop
        26: .line 743
            aload 0 /* this */
            getfield java.lang.invoke.LambdaFormEditor.lambdaForm:Ljava/lang/invoke/LambdaForm;
            invokevirtual java.lang.invoke.LambdaForm.returnType:()Ljava/lang/invoke/LambdaForm$BasicType;
            astore 14 /* oldType */
        start local 14 // java.lang.invoke.LambdaForm$BasicType oldType
        27: .line 744
            aload 14 /* oldType */
            getstatic java.lang.invoke.LambdaForm$BasicType.V_TYPE:Ljava/lang/invoke/LambdaForm$BasicType;
            if_acmpne 31
        28: .line 745
            aload 1 /* newType */
            invokevirtual java.lang.invoke.LambdaForm$BasicType.basicTypeClass:()Ljava/lang/Class;
            invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
            astore 15 /* filterType */
        start local 15 // java.lang.invoke.MethodType filterType
        29: .line 746
            new java.lang.invoke.LambdaForm$Name
            dup
            aload 15 /* filterType */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 13 /* getFilter */
            aastore
            invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/MethodType;[Ljava/lang/Object;)V
            astore 8 /* callFilter */
        end local 15 // java.lang.invoke.MethodType filterType
        start local 8 // java.lang.invoke.LambdaForm$Name callFilter
        30: .line 747
            goto 33
        end local 8 // java.lang.invoke.LambdaForm$Name callFilter
        31: .line 748
      StackMap locals: java.lang.invoke.LambdaFormEditor java.lang.invoke.LambdaForm$BasicType int java.lang.invoke.LambdaFormEditor$Transform$Kind java.lang.invoke.LambdaFormEditor$Transform java.lang.invoke.LambdaForm java.lang.invoke.LambdaFormBuffer int top java.lang.invoke.BoundMethodHandle$SpeciesData java.lang.invoke.BoundMethodHandle$SpeciesData java.lang.invoke.LambdaForm$Name java.lang.invoke.LambdaForm$Name java.lang.invoke.LambdaForm$Name java.lang.invoke.LambdaForm$BasicType
      StackMap stack:
            aload 1 /* newType */
            invokevirtual java.lang.invoke.LambdaForm$BasicType.basicTypeClass:()Ljava/lang/Class;
            aload 14 /* oldType */
            invokevirtual java.lang.invoke.LambdaForm$BasicType.basicTypeClass:()Ljava/lang/Class;
            invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
            astore 15 /* filterType */
        start local 15 // java.lang.invoke.MethodType filterType
        32: .line 749
            new java.lang.invoke.LambdaForm$Name
            dup
            aload 15 /* filterType */
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 13 /* getFilter */
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield java.lang.invoke.LambdaFormEditor.lambdaForm:Ljava/lang/invoke/LambdaForm;
            getfield java.lang.invoke.LambdaForm.names:[Ljava/lang/invoke/LambdaForm$Name;
            aload 0 /* this */
            getfield java.lang.invoke.LambdaFormEditor.lambdaForm:Ljava/lang/invoke/LambdaForm;
            getfield java.lang.invoke.LambdaForm.result:I
            aaload
            aastore
            invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/MethodType;[Ljava/lang/Object;)V
            astore 8 /* callFilter */
        end local 15 // java.lang.invoke.MethodType filterType
        end local 14 // java.lang.invoke.LambdaForm$BasicType oldType
        end local 13 // java.lang.invoke.LambdaForm$Name getFilter
        end local 12 // java.lang.invoke.LambdaForm$Name newBaseAddress
        end local 11 // java.lang.invoke.LambdaForm$Name oldBaseAddress
        end local 10 // java.lang.invoke.BoundMethodHandle$SpeciesData newData
        end local 9 // java.lang.invoke.BoundMethodHandle$SpeciesData oldData
        start local 8 // java.lang.invoke.LambdaForm$Name callFilter
        33: .line 753
      StackMap locals: java.lang.invoke.LambdaFormEditor java.lang.invoke.LambdaForm$BasicType int java.lang.invoke.LambdaFormEditor$Transform$Kind java.lang.invoke.LambdaFormEditor$Transform java.lang.invoke.LambdaForm java.lang.invoke.LambdaFormBuffer int java.lang.invoke.LambdaForm$Name
      StackMap stack:
            aload 8 /* callFilter */
            ifnull 35
        34: .line 754
            aload 6 /* buf */
            iload 7 /* insPos */
            iinc 7 /* insPos */ 1
            aload 8 /* callFilter */
            invokevirtual java.lang.invoke.LambdaFormBuffer.insertExpression:(ILjava/lang/invoke/LambdaForm$Name;)Ljava/lang/invoke/LambdaFormBuffer;
            pop
        35: .line 755
      StackMap locals:
      StackMap stack:
            aload 6 /* buf */
            aload 8 /* callFilter */
            invokevirtual java.lang.invoke.LambdaFormBuffer.setResult:(Ljava/lang/invoke/LambdaForm$Name;)V
        36: .line 757
            aload 6 /* buf */
            invokevirtual java.lang.invoke.LambdaFormBuffer.endEdit:()Ljava/lang/invoke/LambdaForm;
            astore 5 /* form */
        37: .line 758
            aload 0 /* this */
            aload 4 /* key */
            aload 5 /* form */
            invokevirtual java.lang.invoke.LambdaFormEditor.putInCache:(Ljava/lang/invoke/LambdaFormEditor$Transform;Ljava/lang/invoke/LambdaForm;)Ljava/lang/invoke/LambdaForm;
            areturn
        end local 8 // java.lang.invoke.LambdaForm$Name callFilter
        end local 7 // int insPos
        end local 6 // java.lang.invoke.LambdaFormBuffer buf
        end local 5 // java.lang.invoke.LambdaForm form
        end local 4 // java.lang.invoke.LambdaFormEditor$Transform key
        end local 3 // java.lang.invoke.LambdaFormEditor$Transform$Kind kind
        end local 2 // boolean constantZero
        end local 1 // java.lang.invoke.LambdaForm$BasicType newType
        end local 0 // java.lang.invoke.LambdaFormEditor this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   38     0            this  Ljava/lang/invoke/LambdaFormEditor;
            0   38     1         newType  Ljava/lang/invoke/LambdaForm$BasicType;
            0   38     2    constantZero  Z
            3   38     3            kind  Ljava/lang/invoke/LambdaFormEditor$Transform$Kind;
            4   38     4             key  Ljava/lang/invoke/LambdaFormEditor$Transform;
            5   38     5            form  Ljava/lang/invoke/LambdaForm;
           10   38     6             buf  Ljava/lang/invoke/LambdaFormBuffer;
           12   38     7          insPos  I
           15   16     8      callFilter  Ljava/lang/invoke/LambdaForm$Name;
           17   18     8      callFilter  Ljava/lang/invoke/LambdaForm$Name;
           30   31     8      callFilter  Ljava/lang/invoke/LambdaForm$Name;
           33   38     8      callFilter  Ljava/lang/invoke/LambdaForm$Name;
           19   33     9         oldData  Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
           20   33    10         newData  Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
           21   33    11  oldBaseAddress  Ljava/lang/invoke/LambdaForm$Name;
           23   33    12  newBaseAddress  Ljava/lang/invoke/LambdaForm$Name;
           25   33    13       getFilter  Ljava/lang/invoke/LambdaForm$Name;
           27   33    14         oldType  Ljava/lang/invoke/LambdaForm$BasicType;
           29   30    15      filterType  Ljava/lang/invoke/MethodType;
           32   33    15      filterType  Ljava/lang/invoke/MethodType;
    MethodParameters:
              Name  Flags
      newType       
      constantZero  

  java.lang.invoke.LambdaForm foldArgumentsForm(int, boolean, java.lang.invoke.MethodType);
    descriptor: (IZLjava/lang/invoke/MethodType;)Ljava/lang/invoke/LambdaForm;
    flags: (0x0000) 
    Code:
      stack=5, locals=8, args_size=4
        start local 0 // java.lang.invoke.LambdaFormEditor this
        start local 1 // int foldPos
        start local 2 // boolean dropResult
        start local 3 // java.lang.invoke.MethodType combinerType
         0: .line 762
            aload 3 /* combinerType */
            invokevirtual java.lang.invoke.MethodType.parameterCount:()I
            istore 4 /* combinerArity */
        start local 4 // int combinerArity
         1: .line 763
            iload 2 /* dropResult */
            ifeq 2
            getstatic java.lang.invoke.LambdaFormEditor$Transform$Kind.FOLD_ARGS_TO_VOID:Ljava/lang/invoke/LambdaFormEditor$Transform$Kind;
            goto 3
      StackMap locals: int
      StackMap stack:
         2: getstatic java.lang.invoke.LambdaFormEditor$Transform$Kind.FOLD_ARGS:Ljava/lang/invoke/LambdaFormEditor$Transform$Kind;
      StackMap locals:
      StackMap stack: java.lang.invoke.LambdaFormEditor$Transform$Kind
         3: astore 5 /* kind */
        start local 5 // java.lang.invoke.LambdaFormEditor$Transform$Kind kind
         4: .line 764
            aload 5 /* kind */
            iload 1 /* foldPos */
            iload 4 /* combinerArity */
            invokestatic java.lang.invoke.LambdaFormEditor$Transform.of:(Ljava/lang/invoke/LambdaFormEditor$Transform$Kind;II)Ljava/lang/invoke/LambdaFormEditor$Transform;
            astore 6 /* key */
        start local 6 // java.lang.invoke.LambdaFormEditor$Transform key
         5: .line 765
            aload 0 /* this */
            aload 6 /* key */
            invokevirtual java.lang.invoke.LambdaFormEditor.getInCache:(Ljava/lang/invoke/LambdaFormEditor$Transform;)Ljava/lang/invoke/LambdaForm;
            astore 7 /* form */
        start local 7 // java.lang.invoke.LambdaForm form
         6: .line 766
            aload 7 /* form */
            ifnull 11
         7: .line 767
            getstatic java.lang.invoke.LambdaFormEditor.$assertionsDisabled:Z
            ifne 10
            aload 7 /* form */
            getfield java.lang.invoke.LambdaForm.arity:I
            aload 0 /* this */
            getfield java.lang.invoke.LambdaFormEditor.lambdaForm:Ljava/lang/invoke/LambdaForm;
            getfield java.lang.invoke.LambdaForm.arity:I
            aload 5 /* kind */
            getstatic java.lang.invoke.LambdaFormEditor$Transform$Kind.FOLD_ARGS:Ljava/lang/invoke/LambdaFormEditor$Transform$Kind;
            if_acmpne 8
            iconst_1
            goto 9
      StackMap locals: java.lang.invoke.LambdaFormEditor int int java.lang.invoke.MethodType int java.lang.invoke.LambdaFormEditor$Transform$Kind java.lang.invoke.LambdaFormEditor$Transform java.lang.invoke.LambdaForm
      StackMap stack: int int
         8: iconst_0
      StackMap locals: java.lang.invoke.LambdaFormEditor int int java.lang.invoke.MethodType int java.lang.invoke.LambdaFormEditor$Transform$Kind java.lang.invoke.LambdaFormEditor$Transform java.lang.invoke.LambdaForm
      StackMap stack: int int int
         9: isub
            if_icmpeq 10
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        10: .line 768
      StackMap locals:
      StackMap stack:
            aload 7 /* form */
            areturn
        11: .line 770
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* foldPos */
            aload 3 /* combinerType */
            iconst_1
            iload 2 /* dropResult */
            invokevirtual java.lang.invoke.LambdaFormEditor.makeArgumentCombinationForm:(ILjava/lang/invoke/MethodType;ZZ)Ljava/lang/invoke/LambdaForm;
            astore 7 /* form */
        12: .line 771
            aload 0 /* this */
            aload 6 /* key */
            aload 7 /* form */
            invokevirtual java.lang.invoke.LambdaFormEditor.putInCache:(Ljava/lang/invoke/LambdaFormEditor$Transform;Ljava/lang/invoke/LambdaForm;)Ljava/lang/invoke/LambdaForm;
            areturn
        end local 7 // java.lang.invoke.LambdaForm form
        end local 6 // java.lang.invoke.LambdaFormEditor$Transform key
        end local 5 // java.lang.invoke.LambdaFormEditor$Transform$Kind kind
        end local 4 // int combinerArity
        end local 3 // java.lang.invoke.MethodType combinerType
        end local 2 // boolean dropResult
        end local 1 // int foldPos
        end local 0 // java.lang.invoke.LambdaFormEditor this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   13     0           this  Ljava/lang/invoke/LambdaFormEditor;
            0   13     1        foldPos  I
            0   13     2     dropResult  Z
            0   13     3   combinerType  Ljava/lang/invoke/MethodType;
            1   13     4  combinerArity  I
            4   13     5           kind  Ljava/lang/invoke/LambdaFormEditor$Transform$Kind;
            5   13     6            key  Ljava/lang/invoke/LambdaFormEditor$Transform;
            6   13     7           form  Ljava/lang/invoke/LambdaForm;
    MethodParameters:
              Name  Flags
      foldPos       
      dropResult    
      combinerType  

  java.lang.invoke.LambdaForm permuteArgumentsForm(int, int[]);
    descriptor: (I[I)Ljava/lang/invoke/LambdaForm;
    flags: (0x0000) 
    Code:
      stack=6, locals=20, args_size=3
        start local 0 // java.lang.invoke.LambdaFormEditor this
        start local 1 // int skip
        start local 2 // int[] reorder
         0: .line 775
            getstatic java.lang.invoke.LambdaFormEditor.$assertionsDisabled:Z
            ifne 1
            iload 1 /* skip */
            iconst_1
            if_icmpeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 776
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.lang.invoke.LambdaFormEditor.lambdaForm:Ljava/lang/invoke/LambdaForm;
            getfield java.lang.invoke.LambdaForm.names:[Ljava/lang/invoke/LambdaForm$Name;
            arraylength
            istore 3 /* length */
        start local 3 // int length
         2: .line 777
            aload 2 /* reorder */
            arraylength
            istore 4 /* outArgs */
        start local 4 // int outArgs
         3: .line 778
            iconst_0
            istore 5 /* inTypes */
        start local 5 // int inTypes
         4: .line 779
            iconst_1
            istore 6 /* nullPerm */
        start local 6 // boolean nullPerm
         5: .line 780
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         6: goto 11
         7: .line 781
      StackMap locals: java.lang.invoke.LambdaFormEditor int int[] int int int int int
      StackMap stack:
            aload 2 /* reorder */
            iload 7 /* i */
            iaload
            istore 8 /* inArg */
        start local 8 // int inArg
         8: .line 782
            iload 8 /* inArg */
            iload 7 /* i */
            if_icmpeq 9
            iconst_0
            istore 6 /* nullPerm */
         9: .line 783
      StackMap locals: int
      StackMap stack:
            iload 5 /* inTypes */
            iload 8 /* inArg */
            iconst_1
            iadd
            invokestatic java.lang.Math.max:(II)I
            istore 5 /* inTypes */
        end local 8 // int inArg
        10: .line 780
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 7 /* i */
            aload 2 /* reorder */
            arraylength
            if_icmplt 7
        end local 7 // int i
        12: .line 785
            getstatic java.lang.invoke.LambdaFormEditor.$assertionsDisabled:Z
            ifne 13
            iload 1 /* skip */
            aload 2 /* reorder */
            arraylength
            iadd
            aload 0 /* this */
            getfield java.lang.invoke.LambdaFormEditor.lambdaForm:Ljava/lang/invoke/LambdaForm;
            getfield java.lang.invoke.LambdaForm.arity:I
            if_icmpeq 13
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        13: .line 786
      StackMap locals:
      StackMap stack:
            iload 6 /* nullPerm */
            ifeq 14
            aload 0 /* this */
            getfield java.lang.invoke.LambdaFormEditor.lambdaForm:Ljava/lang/invoke/LambdaForm;
            areturn
        14: .line 787
      StackMap locals:
      StackMap stack:
            getstatic java.lang.invoke.LambdaFormEditor$Transform$Kind.PERMUTE_ARGS:Ljava/lang/invoke/LambdaFormEditor$Transform$Kind;
            aload 2 /* reorder */
            invokestatic java.lang.invoke.LambdaFormEditor$Transform.of:(Ljava/lang/invoke/LambdaFormEditor$Transform$Kind;[I)Ljava/lang/invoke/LambdaFormEditor$Transform;
            astore 7 /* key */
        start local 7 // java.lang.invoke.LambdaFormEditor$Transform key
        15: .line 788
            aload 0 /* this */
            aload 7 /* key */
            invokevirtual java.lang.invoke.LambdaFormEditor.getInCache:(Ljava/lang/invoke/LambdaFormEditor$Transform;)Ljava/lang/invoke/LambdaForm;
            astore 8 /* form */
        start local 8 // java.lang.invoke.LambdaForm form
        16: .line 789
            aload 8 /* form */
            ifnull 19
        17: .line 790
            getstatic java.lang.invoke.LambdaFormEditor.$assertionsDisabled:Z
            ifne 18
            aload 8 /* form */
            getfield java.lang.invoke.LambdaForm.arity:I
            iload 1 /* skip */
            iload 5 /* inTypes */
            iadd
            if_icmpeq 18
            new java.lang.AssertionError
            dup
            aload 8 /* form */
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        18: .line 791
      StackMap locals: java.lang.invoke.LambdaFormEditor$Transform java.lang.invoke.LambdaForm
      StackMap stack:
            aload 8 /* form */
            areturn
        19: .line 794
      StackMap locals:
      StackMap stack:
            iload 5 /* inTypes */
            anewarray java.lang.invoke.LambdaForm$BasicType
            astore 9 /* types */
        start local 9 // java.lang.invoke.LambdaForm$BasicType[] types
        20: .line 795
            iconst_0
            istore 10 /* i */
        start local 10 // int i
        21: goto 25
        22: .line 796
      StackMap locals: java.lang.invoke.LambdaForm$BasicType[] int
      StackMap stack:
            aload 2 /* reorder */
            iload 10 /* i */
            iaload
            istore 11 /* inArg */
        start local 11 // int inArg
        23: .line 797
            aload 9 /* types */
            iload 11 /* inArg */
            aload 0 /* this */
            getfield java.lang.invoke.LambdaFormEditor.lambdaForm:Ljava/lang/invoke/LambdaForm;
            getfield java.lang.invoke.LambdaForm.names:[Ljava/lang/invoke/LambdaForm$Name;
            iload 1 /* skip */
            iload 10 /* i */
            iadd
            aaload
            getfield java.lang.invoke.LambdaForm$Name.type:Ljava/lang/invoke/LambdaForm$BasicType;
            aastore
        end local 11 // int inArg
        24: .line 795
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
        25: iload 10 /* i */
            iload 4 /* outArgs */
            if_icmplt 22
        end local 10 // int i
        26: .line 799
            getstatic java.lang.invoke.LambdaFormEditor.$assertionsDisabled:Z
            ifne 27
            iload 1 /* skip */
            iload 4 /* outArgs */
            iadd
            aload 0 /* this */
            getfield java.lang.invoke.LambdaFormEditor.lambdaForm:Ljava/lang/invoke/LambdaForm;
            getfield java.lang.invoke.LambdaForm.arity:I
            if_icmpeq 27
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        27: .line 800
      StackMap locals:
      StackMap stack:
            getstatic java.lang.invoke.LambdaFormEditor.$assertionsDisabled:Z
            ifne 28
            aload 2 /* reorder */
            aload 9 /* types */
            aload 0 /* this */
            getfield java.lang.invoke.LambdaFormEditor.lambdaForm:Ljava/lang/invoke/LambdaForm;
            getfield java.lang.invoke.LambdaForm.names:[Ljava/lang/invoke/LambdaForm$Name;
            iload 1 /* skip */
            invokestatic java.lang.invoke.LambdaFormEditor.permutedTypesMatch:([I[Ljava/lang/invoke/LambdaForm$BasicType;[Ljava/lang/invoke/LambdaForm$Name;I)Z
            ifne 28
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        28: .line 801
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 10 /* pos */
        start local 10 // int pos
        29: .line 802
            goto 31
        30: .line 803
      StackMap locals: int
      StackMap stack:
            iinc 10 /* pos */ 1
        31: .line 802
      StackMap locals:
      StackMap stack:
            iload 10 /* pos */
            iload 4 /* outArgs */
            if_icmpge 32
            aload 2 /* reorder */
            iload 10 /* pos */
            iaload
            iload 10 /* pos */
            if_icmpeq 30
        32: .line 805
      StackMap locals:
      StackMap stack:
            iload 3 /* length */
            iload 4 /* outArgs */
            isub
            iload 5 /* inTypes */
            iadd
            anewarray java.lang.invoke.LambdaForm$Name
            astore 11 /* names2 */
        start local 11 // java.lang.invoke.LambdaForm$Name[] names2
        33: .line 806
            aload 0 /* this */
            getfield java.lang.invoke.LambdaFormEditor.lambdaForm:Ljava/lang/invoke/LambdaForm;
            getfield java.lang.invoke.LambdaForm.names:[Ljava/lang/invoke/LambdaForm$Name;
            iconst_0
            aload 11 /* names2 */
            iconst_0
            iload 1 /* skip */
            iload 10 /* pos */
            iadd
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        34: .line 807
            iload 3 /* length */
            aload 0 /* this */
            getfield java.lang.invoke.LambdaFormEditor.lambdaForm:Ljava/lang/invoke/LambdaForm;
            getfield java.lang.invoke.LambdaForm.arity:I
            isub
            istore 12 /* bodyLength */
        start local 12 // int bodyLength
        35: .line 808
            aload 0 /* this */
            getfield java.lang.invoke.LambdaFormEditor.lambdaForm:Ljava/lang/invoke/LambdaForm;
            getfield java.lang.invoke.LambdaForm.names:[Ljava/lang/invoke/LambdaForm$Name;
            iload 1 /* skip */
            iload 4 /* outArgs */
            iadd
            aload 11 /* names2 */
            iload 1 /* skip */
            iload 5 /* inTypes */
            iadd
            iload 12 /* bodyLength */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        36: .line 809
            aload 11 /* names2 */
            arraylength
            iload 12 /* bodyLength */
            isub
            istore 13 /* arity2 */
        start local 13 // int arity2
        37: .line 810
            aload 0 /* this */
            getfield java.lang.invoke.LambdaFormEditor.lambdaForm:Ljava/lang/invoke/LambdaForm;
            getfield java.lang.invoke.LambdaForm.result:I
            istore 14 /* result2 */
        start local 14 // int result2
        38: .line 811
            iload 14 /* result2 */
            iload 1 /* skip */
            if_icmplt 43
        39: .line 812
            iload 14 /* result2 */
            iload 1 /* skip */
            iload 4 /* outArgs */
            iadd
            if_icmpge 42
        40: .line 813
            aload 2 /* reorder */
            iload 14 /* result2 */
            iload 1 /* skip */
            isub
            iaload
            iload 1 /* skip */
            iadd
            istore 14 /* result2 */
        41: .line 814
            goto 43
        42: .line 815
      StackMap locals: java.lang.invoke.LambdaFormEditor int int[] int int int int java.lang.invoke.LambdaFormEditor$Transform java.lang.invoke.LambdaForm java.lang.invoke.LambdaForm$BasicType[] int java.lang.invoke.LambdaForm$Name[] int int int
      StackMap stack:
            iload 14 /* result2 */
            iload 4 /* outArgs */
            isub
            iload 5 /* inTypes */
            iadd
            istore 14 /* result2 */
        43: .line 818
      StackMap locals:
      StackMap stack:
            iload 10 /* pos */
            istore 15 /* j */
        start local 15 // int j
        44: goto 58
        45: .line 819
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield java.lang.invoke.LambdaFormEditor.lambdaForm:Ljava/lang/invoke/LambdaForm;
            getfield java.lang.invoke.LambdaForm.names:[Ljava/lang/invoke/LambdaForm$Name;
            iload 1 /* skip */
            iload 15 /* j */
            iadd
            aaload
            astore 16 /* n */
        start local 16 // java.lang.invoke.LambdaForm$Name n
        46: .line 820
            aload 2 /* reorder */
            iload 15 /* j */
            iaload
            istore 17 /* i */
        start local 17 // int i
        47: .line 821
            aload 11 /* names2 */
            iload 1 /* skip */
            iload 17 /* i */
            iadd
            aaload
            astore 18 /* n2 */
        start local 18 // java.lang.invoke.LambdaForm$Name n2
        48: .line 822
            aload 18 /* n2 */
            ifnonnull 51
        49: .line 823
            aload 11 /* names2 */
            iload 1 /* skip */
            iload 17 /* i */
            iadd
            new java.lang.invoke.LambdaForm$Name
            dup
            aload 9 /* types */
            iload 17 /* i */
            aaload
            invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$BasicType;)V
            dup
            astore 18 /* n2 */
            aastore
        50: .line 824
            goto 52
        51: .line 825
      StackMap locals: java.lang.invoke.LambdaForm$Name int java.lang.invoke.LambdaForm$Name
      StackMap stack:
            getstatic java.lang.invoke.LambdaFormEditor.$assertionsDisabled:Z
            ifne 52
            aload 18 /* n2 */
            getfield java.lang.invoke.LambdaForm$Name.type:Ljava/lang/invoke/LambdaForm$BasicType;
            aload 9 /* types */
            iload 17 /* i */
            aaload
            if_acmpeq 52
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        52: .line 827
      StackMap locals:
      StackMap stack:
            iload 13 /* arity2 */
            istore 19 /* k */
        start local 19 // int k
        53: goto 56
        54: .line 828
      StackMap locals: int
      StackMap stack:
            aload 11 /* names2 */
            iload 19 /* k */
            aload 11 /* names2 */
            iload 19 /* k */
            aaload
            aload 16 /* n */
            aload 18 /* n2 */
            invokevirtual java.lang.invoke.LambdaForm$Name.replaceName:(Ljava/lang/invoke/LambdaForm$Name;Ljava/lang/invoke/LambdaForm$Name;)Ljava/lang/invoke/LambdaForm$Name;
            aastore
        55: .line 827
            iinc 19 /* k */ 1
      StackMap locals:
      StackMap stack:
        56: iload 19 /* k */
            aload 11 /* names2 */
            arraylength
            if_icmplt 54
        end local 19 // int k
        end local 18 // java.lang.invoke.LambdaForm$Name n2
        end local 17 // int i
        end local 16 // java.lang.invoke.LambdaForm$Name n
        57: .line 818
            iinc 15 /* j */ 1
      StackMap locals: java.lang.invoke.LambdaFormEditor int int[] int int int int java.lang.invoke.LambdaFormEditor$Transform java.lang.invoke.LambdaForm java.lang.invoke.LambdaForm$BasicType[] int java.lang.invoke.LambdaForm$Name[] int int int int
      StackMap stack:
        58: iload 15 /* j */
            iload 4 /* outArgs */
            if_icmplt 45
        end local 15 // int j
        59: .line 831
            iload 1 /* skip */
            iload 10 /* pos */
            iadd
            istore 15 /* i */
        start local 15 // int i
        60: goto 64
        61: .line 832
      StackMap locals:
      StackMap stack:
            aload 11 /* names2 */
            iload 15 /* i */
            aaload
            ifnonnull 63
        62: .line 833
            aload 11 /* names2 */
            iload 15 /* i */
            iload 15 /* i */
            aload 9 /* types */
            iload 15 /* i */
            iload 1 /* skip */
            isub
            aaload
            invokestatic java.lang.invoke.LambdaForm.argument:(ILjava/lang/invoke/LambdaForm$BasicType;)Ljava/lang/invoke/LambdaForm$Name;
            aastore
        63: .line 831
      StackMap locals:
      StackMap stack:
            iinc 15 /* i */ 1
      StackMap locals:
      StackMap stack:
        64: iload 15 /* i */
            iload 13 /* arity2 */
            if_icmplt 61
        end local 15 // int i
        65: .line 836
            aload 0 /* this */
            getfield java.lang.invoke.LambdaFormEditor.lambdaForm:Ljava/lang/invoke/LambdaForm;
            getfield java.lang.invoke.LambdaForm.arity:I
            istore 15 /* j */
        start local 15 // int j
        66: goto 77
        67: .line 837
      StackMap locals:
      StackMap stack:
            iload 15 /* j */
            aload 0 /* this */
            getfield java.lang.invoke.LambdaFormEditor.lambdaForm:Ljava/lang/invoke/LambdaForm;
            getfield java.lang.invoke.LambdaForm.arity:I
            isub
            iload 13 /* arity2 */
            iadd
            istore 16 /* i */
        start local 16 // int i
        68: .line 838
            aload 0 /* this */
            getfield java.lang.invoke.LambdaFormEditor.lambdaForm:Ljava/lang/invoke/LambdaForm;
            getfield java.lang.invoke.LambdaForm.names:[Ljava/lang/invoke/LambdaForm$Name;
            iload 15 /* j */
            aaload
            astore 17 /* n */
        start local 17 // java.lang.invoke.LambdaForm$Name n
        69: .line 839
            aload 11 /* names2 */
            iload 16 /* i */
            aaload
            astore 18 /* n2 */
        start local 18 // java.lang.invoke.LambdaForm$Name n2
        70: .line 840
            aload 17 /* n */
            aload 18 /* n2 */
            if_acmpeq 76
        71: .line 841
            iload 16 /* i */
            iconst_1
            iadd
            istore 19 /* k */
        start local 19 // int k
        72: goto 75
        73: .line 842
      StackMap locals: java.lang.invoke.LambdaFormEditor int int[] int int int int java.lang.invoke.LambdaFormEditor$Transform java.lang.invoke.LambdaForm java.lang.invoke.LambdaForm$BasicType[] int java.lang.invoke.LambdaForm$Name[] int int int int int java.lang.invoke.LambdaForm$Name java.lang.invoke.LambdaForm$Name int
      StackMap stack:
            aload 11 /* names2 */
            iload 19 /* k */
            aload 11 /* names2 */
            iload 19 /* k */
            aaload
            aload 17 /* n */
            aload 18 /* n2 */
            invokevirtual java.lang.invoke.LambdaForm$Name.replaceName:(Ljava/lang/invoke/LambdaForm$Name;Ljava/lang/invoke/LambdaForm$Name;)Ljava/lang/invoke/LambdaForm$Name;
            aastore
        74: .line 841
            iinc 19 /* k */ 1
      StackMap locals:
      StackMap stack:
        75: iload 19 /* k */
            aload 11 /* names2 */
            arraylength
            if_icmplt 73
        end local 19 // int k
        end local 18 // java.lang.invoke.LambdaForm$Name n2
        end local 17 // java.lang.invoke.LambdaForm$Name n
        end local 16 // int i
        76: .line 836
      StackMap locals: java.lang.invoke.LambdaFormEditor int int[] int int int int java.lang.invoke.LambdaFormEditor$Transform java.lang.invoke.LambdaForm java.lang.invoke.LambdaForm$BasicType[] int java.lang.invoke.LambdaForm$Name[] int int int int
      StackMap stack:
            iinc 15 /* j */ 1
      StackMap locals:
      StackMap stack:
        77: iload 15 /* j */
            aload 0 /* this */
            getfield java.lang.invoke.LambdaFormEditor.lambdaForm:Ljava/lang/invoke/LambdaForm;
            getfield java.lang.invoke.LambdaForm.names:[Ljava/lang/invoke/LambdaForm$Name;
            arraylength
            if_icmplt 67
        end local 15 // int j
        78: .line 847
            new java.lang.invoke.LambdaForm
            dup
            aload 0 /* this */
            getfield java.lang.invoke.LambdaFormEditor.lambdaForm:Ljava/lang/invoke/LambdaForm;
            getfield java.lang.invoke.LambdaForm.debugName:Ljava/lang/String;
            iload 13 /* arity2 */
            aload 11 /* names2 */
            iload 14 /* result2 */
            invokespecial java.lang.invoke.LambdaForm.<init>:(Ljava/lang/String;I[Ljava/lang/invoke/LambdaForm$Name;I)V
            astore 8 /* form */
        79: .line 848
            aload 0 /* this */
            aload 7 /* key */
            aload 8 /* form */
            invokevirtual java.lang.invoke.LambdaFormEditor.putInCache:(Ljava/lang/invoke/LambdaFormEditor$Transform;Ljava/lang/invoke/LambdaForm;)Ljava/lang/invoke/LambdaForm;
            areturn
        end local 14 // int result2
        end local 13 // int arity2
        end local 12 // int bodyLength
        end local 11 // java.lang.invoke.LambdaForm$Name[] names2
        end local 10 // int pos
        end local 9 // java.lang.invoke.LambdaForm$BasicType[] types
        end local 8 // java.lang.invoke.LambdaForm form
        end local 7 // java.lang.invoke.LambdaFormEditor$Transform key
        end local 6 // boolean nullPerm
        end local 5 // int inTypes
        end local 4 // int outArgs
        end local 3 // int length
        end local 2 // int[] reorder
        end local 1 // int skip
        end local 0 // java.lang.invoke.LambdaFormEditor this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   80     0        this  Ljava/lang/invoke/LambdaFormEditor;
            0   80     1        skip  I
            0   80     2     reorder  [I
            2   80     3      length  I
            3   80     4     outArgs  I
            4   80     5     inTypes  I
            5   80     6    nullPerm  Z
            6   12     7           i  I
            8   10     8       inArg  I
           15   80     7         key  Ljava/lang/invoke/LambdaFormEditor$Transform;
           16   80     8        form  Ljava/lang/invoke/LambdaForm;
           20   80     9       types  [Ljava/lang/invoke/LambdaForm$BasicType;
           21   26    10           i  I
           23   24    11       inArg  I
           29   80    10         pos  I
           33   80    11      names2  [Ljava/lang/invoke/LambdaForm$Name;
           35   80    12  bodyLength  I
           37   80    13      arity2  I
           38   80    14     result2  I
           44   59    15           j  I
           46   57    16           n  Ljava/lang/invoke/LambdaForm$Name;
           47   57    17           i  I
           48   57    18          n2  Ljava/lang/invoke/LambdaForm$Name;
           53   57    19           k  I
           60   65    15           i  I
           66   78    15           j  I
           68   76    16           i  I
           69   76    17           n  Ljava/lang/invoke/LambdaForm$Name;
           70   76    18          n2  Ljava/lang/invoke/LambdaForm$Name;
           72   76    19           k  I
    MethodParameters:
         Name  Flags
      skip     
      reorder  

  static boolean permutedTypesMatch(int[], java.lang.invoke.LambdaForm$BasicType[], java.lang.invoke.LambdaForm$Name[], int);
    descriptor: ([I[Ljava/lang/invoke/LambdaForm$BasicType;[Ljava/lang/invoke/LambdaForm$Name;I)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // int[] reorder
        start local 1 // java.lang.invoke.LambdaForm$BasicType[] types
        start local 2 // java.lang.invoke.LambdaForm$Name[] names
        start local 3 // int skip
         0: .line 852
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         1: goto 5
         2: .line 853
      StackMap locals: int
      StackMap stack:
            getstatic java.lang.invoke.LambdaFormEditor.$assertionsDisabled:Z
            ifne 3
            aload 2 /* names */
            iload 3 /* skip */
            iload 4 /* i */
            iadd
            aaload
            invokevirtual java.lang.invoke.LambdaForm$Name.isParam:()Z
            ifne 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 854
      StackMap locals:
      StackMap stack:
            getstatic java.lang.invoke.LambdaFormEditor.$assertionsDisabled:Z
            ifne 4
            aload 2 /* names */
            iload 3 /* skip */
            iload 4 /* i */
            iadd
            aaload
            getfield java.lang.invoke.LambdaForm$Name.type:Ljava/lang/invoke/LambdaForm$BasicType;
            aload 1 /* types */
            aload 0 /* reorder */
            iload 4 /* i */
            iaload
            aaload
            if_acmpeq 4
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 852
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 4 /* i */
            aload 0 /* reorder */
            arraylength
            if_icmplt 2
        end local 4 // int i
         6: .line 856
            iconst_1
            ireturn
        end local 3 // int skip
        end local 2 // java.lang.invoke.LambdaForm$Name[] names
        end local 1 // java.lang.invoke.LambdaForm$BasicType[] types
        end local 0 // int[] reorder
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0  reorder  [I
            0    7     1    types  [Ljava/lang/invoke/LambdaForm$BasicType;
            0    7     2    names  [Ljava/lang/invoke/LambdaForm$Name;
            0    7     3     skip  I
            1    6     4        i  I
    MethodParameters:
         Name  Flags
      reorder  
      types    
      names    
      skip     
}
SourceFile: "LambdaFormEditor.java"
NestMembers:
  java.lang.invoke.LambdaFormEditor$Transform  java.lang.invoke.LambdaFormEditor$Transform$Kind
InnerClasses:
  SpeciesData = java.lang.invoke.BoundMethodHandle$SpeciesData of java.lang.invoke.BoundMethodHandle
  final BasicType = java.lang.invoke.LambdaForm$BasicType of java.lang.invoke.LambdaForm
  final Name = java.lang.invoke.LambdaForm$Name of java.lang.invoke.LambdaForm
  NamedFunction = java.lang.invoke.LambdaForm$NamedFunction of java.lang.invoke.LambdaForm
  private final Transform = java.lang.invoke.LambdaFormEditor$Transform of java.lang.invoke.LambdaFormEditor
  private final Kind = java.lang.invoke.LambdaFormEditor$Transform$Kind of java.lang.invoke.LambdaFormEditor$Transform
  final Intrinsic = java.lang.invoke.MethodHandleImpl$Intrinsic of java.lang.invoke.MethodHandleImpl
  Lazy = java.lang.invoke.MethodHandleImpl$Lazy of java.lang.invoke.MethodHandleImpl