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 45
            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 278
            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 48
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 49
            aload 0 /* this */
            aload 1 /* lambdaForm */
            putfield java.lang.invoke.LambdaFormEditor.lambdaForm:Ljava/lang/invoke/LambdaForm;
         2: .line 50
            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 59
            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 251
            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 253
      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 254
            aconst_null
            astore 3 /* k */
        start local 3 // java.lang.invoke.LambdaFormEditor$Transform k
         3: .line 255
            aload 2 /* c */
            instanceof java.util.concurrent.ConcurrentHashMap
            ifeq 7
         4: .line 257
            aload 2 /* c */
            checkcast java.util.concurrent.ConcurrentHashMap
            astore 4 /* m */
        start local 4 // java.util.concurrent.ConcurrentHashMap m
         5: .line 258
            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 259
            goto 21
      StackMap locals: java.lang.Object java.lang.invoke.LambdaFormEditor$Transform
      StackMap stack:
         7: aload 2 /* c */
            ifnonnull 9
         8: .line 260
            aconst_null
            areturn
         9: .line 261
      StackMap locals:
      StackMap stack:
            aload 2 /* c */
            instanceof java.lang.invoke.LambdaFormEditor$Transform
            ifeq 13
        10: .line 263
            aload 2 /* c */
            checkcast java.lang.invoke.LambdaFormEditor$Transform
            astore 4 /* t */
        start local 4 // java.lang.invoke.LambdaFormEditor$Transform t
        11: .line 264
            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 265
            goto 21
        13: .line 266
      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 267
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        15: goto 20
        16: .line 268
      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 269
            aload 6 /* t */
            ifnonnull 18
            goto 21
        18: .line 270
      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 267
      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 273
      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 274
      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 284
            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 285
            iconst_0
            istore 3 /* pass */
        start local 3 // int pass
         2: .line 286
      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 287
            aload 4 /* c */
            instanceof java.util.concurrent.ConcurrentHashMap
            ifeq 12
         4: .line 289
            aload 4 /* c */
            checkcast java.util.concurrent.ConcurrentHashMap
            astore 5 /* m */
        start local 5 // java.util.concurrent.ConcurrentHashMap m
         5: .line 290
            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 291
            aload 6 /* k */
            ifnonnull 7
            aload 2 /* form */
            areturn
         7: .line 292
      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 293
            aload 7 /* result */
            ifnull 10
         9: .line 294
            aload 7 /* result */
            areturn
        10: .line 296
      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 297
            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 303
      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 304
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.lang.invoke.LambdaFormEditor.lambdaForm:Ljava/lang/invoke/LambdaForm;
            dup
            astore 5
            monitorenter
        14: .line 305
            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 306
            aload 4 /* c */
            instanceof java.util.concurrent.ConcurrentHashMap
            ifeq 18
        16: .line 307
            aload 5
            monitorexit
        17: goto 83
        18: .line 308
      StackMap locals: java.lang.invoke.LambdaForm
      StackMap stack:
            aload 4 /* c */
            ifnonnull 22
        19: .line 309
            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 310
            aload 2 /* form */
            aload 5
            monitorexit
        21: areturn
        22: .line 313
      StackMap locals:
      StackMap stack:
            aload 4 /* c */
            instanceof java.lang.invoke.LambdaFormEditor$Transform
            ifeq 40
        23: .line 314
            aload 4 /* c */
            checkcast java.lang.invoke.LambdaFormEditor$Transform
            astore 7 /* k */
        start local 7 // java.lang.invoke.LambdaFormEditor$Transform k
        24: .line 315
            aload 7 /* k */
            aload 1 /* key */
            invokevirtual java.lang.invoke.LambdaFormEditor$Transform.equals:(Ljava/lang/invoke/LambdaFormEditor$Transform;)Z
            ifeq 32
        25: .line 316
            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 317
            aload 8 /* result */
            ifnonnull 30
        27: .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;
        28: .line 319
            aload 2 /* form */
            aload 5
            monitorexit
        29: areturn
        30: .line 321
      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 323
      StackMap locals:
      StackMap stack:
            aload 7 /* k */
            invokevirtual java.lang.invoke.LambdaFormEditor$Transform.get:()Ljava/lang/Object;
            ifnonnull 36
        33: .line 324
            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 325
            aload 2 /* form */
            aload 5
            monitorexit
        35: areturn
        36: .line 328
      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 329
            aload 6 /* ta */
            iconst_0
            aload 7 /* k */
            aastore
        38: .line 330
            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 331
            goto 41
        end local 6 // java.lang.invoke.LambdaFormEditor$Transform[] ta
        40: .line 333
      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 335
      StackMap locals: java.lang.invoke.LambdaFormEditor$Transform[]
      StackMap stack:
            aload 6 /* ta */
            arraylength
            istore 7 /* len */
        start local 7 // int len
        42: .line 336
            iconst_m1
            istore 8 /* stale */
        start local 8 // int stale
        43: .line 338
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        44: goto 59
        45: .line 339
      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 340
            aload 10 /* k */
            ifnonnull 48
        47: .line 341
            goto 60
        48: .line 343
      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 344
            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 345
            aload 11 /* result */
            ifnonnull 54
        51: .line 346
            aload 6 /* ta */
            iload 9 /* i */
            aload 1 /* key */
            aastore
        52: .line 347
            aload 2 /* form */
            aload 5
            monitorexit
        53: areturn
        54: .line 349
      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 351
      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 352
            iload 9 /* i */
            istore 8 /* stale */
        end local 10 // java.lang.invoke.LambdaFormEditor$Transform k
        58: .line 338
      StackMap locals:
      StackMap stack:
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        59: iload 9 /* i */
            iload 7 /* len */
            if_icmplt 45
        60: .line 355
      StackMap locals:
      StackMap stack:
            iload 9 /* i */
            iload 7 /* len */
            if_icmplt 75
            iload 8 /* stale */
            ifge 75
        61: .line 357
            iload 7 /* len */
            bipush 16
            if_icmpge 66
        62: .line 358
            iload 7 /* len */
            iconst_2
            imul
            bipush 16
            invokestatic java.lang.Math.min:(II)I
            istore 7 /* len */
        63: .line 359
            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 360
            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 361
            goto 75
        66: .line 362
      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 363
            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 364
            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 363
            iinc 12 1
      StackMap locals:
      StackMap stack:
        71: iload 12
            iload 13
            if_icmplt 68
        72: .line 366
            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 368
            aload 5
            monitorexit
        74: goto 83
        end local 10 // java.util.concurrent.ConcurrentHashMap m
        75: .line 370
      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 371
            aload 6 /* ta */
            iload 10 /* idx */
            aload 1 /* key */
            aastore
        79: .line 372
            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 304
      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 285
      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 378
            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 384
            aload 0 /* this */
            getfield java.lang.invoke.LambdaFormEditor.lambdaForm:Ljava/lang/invoke/LambdaForm;
            invokestatic java.lang.invoke.BoundMethodHandle.speciesDataFor:(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 388
            aload 0 /* this */
            invokevirtual java.lang.invoke.LambdaFormEditor.oldSpeciesData:()Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
            aload 1 /* type */
            invokevirtual java.lang.invoke.LambdaForm$BasicType.ordinal:()I
            i2b
            invokevirtual java.lang.invoke.BoundMethodHandle$SpeciesData.extendWith:(B)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 392
            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 393
      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 394
            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 395
            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 396
            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 399
            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 400
      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 401
            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 402
            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 403
            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 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.J_TYPE:Ljava/lang/invoke/LambdaForm$BasicType;
            astore 5 /* bt */
        start local 5 // java.lang.invoke.LambdaForm$BasicType bt
         2: .line 409
            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 410
            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 411
            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 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.F_TYPE:Ljava/lang/invoke/LambdaForm$BasicType;
            astore 4 /* bt */
        start local 4 // java.lang.invoke.LambdaForm$BasicType bt
         2: .line 417
            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 418
            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 419
            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 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.D_TYPE:Ljava/lang/invoke/LambdaForm$BasicType;
            astore 5 /* bt */
        start local 5 // java.lang.invoke.LambdaForm$BasicType bt
         2: .line 425
            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 426
            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 427
            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 431
            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 432
      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 433
      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 434
      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 441
            iconst_1
            iload 1 /* pos */
            invokestatic java.lang.invoke.LambdaFormEditor$Transform.of:(BI)Ljava/lang/invoke/LambdaFormEditor$Transform;
            astore 2 /* key */
        start local 2 // java.lang.invoke.LambdaFormEditor$Transform key
         1: .line 442
            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 443
            aload 3 /* form */
            ifnull 5
         3: .line 444
            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 445
      StackMap locals: java.lang.invoke.LambdaFormEditor$Transform java.lang.invoke.LambdaForm
      StackMap stack:
            aload 3 /* form */
            areturn
         5: .line 447
      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 448
            aload 4 /* buf */
            invokevirtual java.lang.invoke.LambdaFormBuffer.startEdit:()V
         7: .line 450
            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 451
            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 452
            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 454
            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 456
            iload 1 /* pos */
            ifeq 17
        12: .line 459
            aload 4 /* buf */
            aload 5 /* oldData */
            invokevirtual java.lang.invoke.BoundMethodHandle$SpeciesData.getterFunctions:()Ljava/util/List;
            aload 6 /* newData */
            invokevirtual java.lang.invoke.BoundMethodHandle$SpeciesData.getterFunctions:()Ljava/util/List;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 7 /* oldBaseAddress */
            aastore
            invokevirtual java.lang.invoke.LambdaFormBuffer.replaceFunctions:(Ljava/util/List;Ljava/util/List;[Ljava/lang/Object;)Ljava/lang/invoke/LambdaFormBuffer;
            pop
        13: .line 460
            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 461
            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 462
            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 463
            goto 21
        end local 8 // java.lang.invoke.LambdaForm$Name newBaseAddress
        17: .line 465
      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.SPECIALIZER:Ljava/lang/invoke/BoundMethodHandle$Specializer;
            invokevirtual java.lang.invoke.BoundMethodHandle$Specializer.topSpecies:()Ljava/lang/invoke/ClassSpecializer$SpeciesData;
            if_acmpeq 18
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        18: .line 466
      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 467
            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 468
            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 471
      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 472
            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 476
            iconst_2
            iload 1 /* pos */
            aload 2 /* type */
            invokevirtual java.lang.invoke.LambdaForm$BasicType.ordinal:()I
            invokestatic java.lang.invoke.LambdaFormEditor$Transform.of:(BII)Ljava/lang/invoke/LambdaFormEditor$Transform;
            astore 3 /* key */
        start local 3 // java.lang.invoke.LambdaFormEditor$Transform key
         1: .line 477
            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 478
            aload 4 /* form */
            ifnull 6
         3: .line 479
            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 480
      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 481
      StackMap locals:
      StackMap stack:
            aload 4 /* form */
            areturn
         6: .line 483
      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 484
            aload 5 /* buf */
            invokevirtual java.lang.invoke.LambdaFormBuffer.startEdit:()V
         8: .line 486
            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 488
            aload 5 /* buf */
            invokevirtual java.lang.invoke.LambdaFormBuffer.endEdit:()Ljava/lang/invoke/LambdaForm;
            astore 4 /* form */
        10: .line 489
            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 493
            iconst_3
            iload 1 /* srcPos */
            iload 2 /* dstPos */
            invokestatic java.lang.invoke.LambdaFormEditor$Transform.of:(BII)Ljava/lang/invoke/LambdaFormEditor$Transform;
            astore 3 /* key */
        start local 3 // java.lang.invoke.LambdaFormEditor$Transform key
         1: .line 494
            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 495
            aload 4 /* form */
            ifnull 5
         3: .line 496
            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 497
      StackMap locals: java.lang.invoke.LambdaFormEditor$Transform java.lang.invoke.LambdaForm
      StackMap stack:
            aload 4 /* form */
            areturn
         5: .line 499
      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 500
            aload 5 /* buf */
            invokevirtual java.lang.invoke.LambdaFormBuffer.startEdit:()V
         7: .line 502
            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 503
      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 504
      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 506
            aload 5 /* buf */
            invokevirtual java.lang.invoke.LambdaFormBuffer.endEdit:()Ljava/lang/invoke/LambdaForm;
            astore 4 /* form */
        11: .line 507
            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 511
            aload 2 /* arrayType */
            invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
            astore 4 /* elementType */
        start local 4 // java.lang.Class elementType
         1: .line 512
            aload 2 /* arrayType */
            astore 5 /* erasedArrayType */
        start local 5 // java.lang.Class erasedArrayType
         2: .line 513
            aload 4 /* elementType */
            invokevirtual java.lang.Class.isPrimitive:()Z
            ifne 4
         3: .line 514
            ldc [Ljava/lang/Object;
            astore 5 /* erasedArrayType */
         4: .line 515
      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 516
            aload 6 /* bt */
            invokevirtual java.lang.invoke.LambdaForm$BasicType.ordinal:()I
            istore 7 /* elementTypeKey */
        start local 7 // int elementTypeKey
         6: .line 517
            aload 6 /* bt */
            invokevirtual java.lang.invoke.LambdaForm$BasicType.basicTypeClass:()Ljava/lang/Class;
            aload 4 /* elementType */
            if_acmpeq 9
         7: .line 518
            aload 4 /* elementType */
            invokevirtual java.lang.Class.isPrimitive:()Z
            ifeq 9
         8: .line 519
            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 522
      StackMap locals: java.lang.invoke.LambdaForm$BasicType int
      StackMap stack:
            iconst_4
            iload 1 /* pos */
            iload 7 /* elementTypeKey */
            iload 3 /* arrayLength */
            invokestatic java.lang.invoke.LambdaFormEditor$Transform.of:(BIII)Ljava/lang/invoke/LambdaFormEditor$Transform;
            astore 8 /* key */
        start local 8 // java.lang.invoke.LambdaFormEditor$Transform key
        10: .line 523
            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 524
            aload 9 /* form */
            ifnull 14
        12: .line 525
            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 526
      StackMap locals: java.lang.invoke.LambdaFormEditor$Transform java.lang.invoke.LambdaForm
      StackMap stack:
            aload 9 /* form */
            areturn
        14: .line 528
      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 529
            aload 10 /* buf */
            invokevirtual java.lang.invoke.LambdaFormBuffer.startEdit:()V
        16: .line 531
            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 532
      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 533
      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 535
      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 536
            new java.lang.invoke.LambdaForm$Name
            dup
            iconst_0
            invokestatic java.lang.invoke.MethodHandleImpl.getFunction:(B)Ljava/lang/invoke/LambdaForm$NamedFunction;
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
        21: .line 537
            aload 11 /* spreadParam */
            aastore
            dup
            iconst_1
            iload 3 /* arrayLength */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
        22: .line 536
            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
        23: .line 540
            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
        24: .line 541
            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
        25: .line 543
            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
        26: .line 544
            iconst_0
            istore 15 /* i */
        start local 15 // int i
        27: goto 32
        28: .line 545
      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
            new java.lang.invoke.LambdaForm$NamedFunction
            dup
            aload 14 /* aload */
            getstatic java.lang.invoke.MethodHandleImpl$Intrinsic.ARRAY_LOAD:Ljava/lang/invoke/MethodHandleImpl$Intrinsic;
            invokespecial java.lang.invoke.LambdaForm$NamedFunction.<init>:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandleImpl$Intrinsic;)V
            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/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
            astore 16 /* loadArgument */
        start local 16 // java.lang.invoke.LambdaForm$Name loadArgument
        29: .line 546
            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
        30: .line 547
            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
        31: .line 544
            iinc 15 /* i */ 1
      StackMap locals:
      StackMap stack:
        32: iload 15 /* i */
            iload 3 /* arrayLength */
            if_icmplt 28
        end local 15 // int i
        33: .line 549
            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
        34: .line 551
            aload 10 /* buf */
            invokevirtual java.lang.invoke.LambdaFormBuffer.endEdit:()Ljava/lang/invoke/LambdaForm;
            astore 9 /* form */
        35: .line 552
            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   36     0             this  Ljava/lang/invoke/LambdaFormEditor;
            0   36     1              pos  I
            0   36     2        arrayType  Ljava/lang/Class<*>;
            0   36     3      arrayLength  I
            1   36     4      elementType  Ljava/lang/Class<*>;
            2   36     5  erasedArrayType  Ljava/lang/Class<*>;
            5   36     6               bt  Ljava/lang/invoke/LambdaForm$BasicType;
            6   36     7   elementTypeKey  I
           10   36     8              key  Ljava/lang/invoke/LambdaFormEditor$Transform;
           11   36     9             form  Ljava/lang/invoke/LambdaForm;
           15   36    10              buf  Ljava/lang/invoke/LambdaFormBuffer;
           20   36    11      spreadParam  Ljava/lang/invoke/LambdaForm$Name;
           23   36    12      checkSpread  Ljava/lang/invoke/LambdaForm$Name;
           24   36    13          exprPos  I
           26   36    14            aload  Ljava/lang/invoke/MethodHandle;
           27   33    15                i  I
           29   31    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 556
            aload 2 /* collectorType */
            invokevirtual java.lang.invoke.MethodType.parameterCount:()I
            istore 3 /* collectorArity */
        start local 3 // int collectorArity
         1: .line 557
            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 558
            iload 3 /* collectorArity */
            iconst_1
            if_icmpne 6
            iload 4 /* dropResult */
            ifne 6
         5: .line 559
            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 561
      StackMap locals: int
      StackMap stack:
            aload 2 /* collectorType */
            invokevirtual java.lang.invoke.MethodType.parameterArray:()[Ljava/lang/Class;
            invokestatic java.lang.invoke.LambdaForm$BasicType.basicTypesOrd:([Ljava/lang/Class;)[B
            astore 5 /* newTypes */
        start local 5 // byte[] newTypes
         7: .line 562
            iload 4 /* dropResult */
            ifeq 9
         8: .line 563
            bipush 9
            goto 10
         9: .line 564
      StackMap locals: byte[]
      StackMap stack:
            bipush 8
        10: .line 562
      StackMap locals:
      StackMap stack: int
            istore 6 /* kind */
        start local 6 // byte kind
        11: .line 565
            iload 4 /* dropResult */
            ifeq 12
            iload 3 /* collectorArity */
            ifne 12
            iconst_1
            istore 1 /* pos */
        12: .line 566
      StackMap locals: int
      StackMap stack:
            iload 6 /* kind */
            iload 1 /* pos */
            iload 3 /* collectorArity */
            aload 5 /* newTypes */
            invokestatic java.lang.invoke.LambdaFormEditor$Transform.of:(BII[B)Ljava/lang/invoke/LambdaFormEditor$Transform;
            astore 7 /* key */
        start local 7 // java.lang.invoke.LambdaFormEditor$Transform key
        13: .line 567
            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 568
            aload 8 /* form */
            ifnull 19
        15: .line 569
            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 byte[] int 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 byte[] int 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 570
      StackMap locals:
      StackMap stack:
            aload 8 /* form */
            areturn
        19: .line 572
      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 573
            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 // byte kind
        end local 5 // byte[] 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  [B
           11   21     6            kind  B
           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 577
            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 578
            aload 3 /* collectorType */
            invokevirtual java.lang.invoke.MethodType.parameterCount:()I
            istore 4 /* collectorArity */
        start local 4 // int collectorArity
         2: .line 579
            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 580
      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 581
            aload 5 /* arrayType */
            invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
            astore 6 /* elementType */
        start local 6 // java.lang.Class elementType
         5: .line 582
            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 583
            aload 7 /* argType */
            invokevirtual java.lang.invoke.LambdaForm$BasicType.ordinal:()I
            istore 8 /* argTypeKey */
        start local 8 // int argTypeKey
         7: .line 584
            aload 7 /* argType */
            invokevirtual java.lang.invoke.LambdaForm$BasicType.basicTypeClass:()Ljava/lang/Class;
            aload 6 /* elementType */
            if_acmpeq 11
         8: .line 586
            aload 6 /* elementType */
            invokevirtual java.lang.Class.isPrimitive:()Z
            ifne 10
         9: .line 587
            aconst_null
            areturn
        10: .line 588
      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 590
      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 591
      StackMap locals:
      StackMap stack:
            bipush 10
            istore 9 /* kind */
        start local 9 // byte kind
        13: .line 592
            iload 9 /* kind */
            iload 1 /* pos */
            iload 4 /* collectorArity */
            iload 8 /* argTypeKey */
            invokestatic java.lang.invoke.LambdaFormEditor$Transform.of:(BIII)Ljava/lang/invoke/LambdaFormEditor$Transform;
            astore 10 /* key */
        start local 10 // java.lang.invoke.LambdaFormEditor$Transform key
        14: .line 593
            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 594
            aload 11 /* form */
            ifnull 18
        16: .line 595
            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 596
      StackMap locals: int java.lang.invoke.LambdaFormEditor$Transform java.lang.invoke.LambdaForm
      StackMap stack:
            aload 11 /* form */
            areturn
        18: .line 598
      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 599
            aload 12 /* buf */
            invokevirtual java.lang.invoke.LambdaFormBuffer.startEdit:()V
        20: .line 601
            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 602
      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 604
      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 605
            iconst_0
            istore 14 /* i */
        start local 14 // int i
        24: goto 27
        25: .line 606
      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 605
            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 608
            new java.lang.invoke.LambdaForm$Name
            dup
            new java.lang.invoke.LambdaForm$NamedFunction
            dup
            aload 2 /* arrayCollector */
            getstatic java.lang.invoke.MethodHandleImpl$Intrinsic.NEW_ARRAY:Ljava/lang/invoke/MethodHandleImpl$Intrinsic;
            invokespecial java.lang.invoke.LambdaForm$NamedFunction.<init>:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandleImpl$Intrinsic;)V
        29: .line 609
            aload 13 /* newParams */
        30: .line 608
            invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
            astore 14 /* callCombiner */
        start local 14 // java.lang.invoke.LambdaForm$Name callCombiner
        31: .line 612
            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
        32: .line 613
            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
        33: .line 616
            iload 1 /* pos */
            iconst_1
            iadd
            istore 16 /* argPos */
        start local 16 // int argPos
        34: .line 617
            aload 13 /* newParams */
            dup
            astore 20
            arraylength
            istore 19
            iconst_0
            istore 18
            goto 38
      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 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 int top int int java.lang.invoke.LambdaForm$Name[]
      StackMap stack:
        35: aload 20
            iload 18
            aaload
            astore 17 /* newParam */
        start local 17 // java.lang.invoke.LambdaForm$Name newParam
        36: .line 618
            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
        37: .line 617
            iinc 18 1
      StackMap locals:
      StackMap stack:
        38: iload 18
            iload 19
            if_icmplt 35
        39: .line 620
            getstatic java.lang.invoke.LambdaFormEditor.$assertionsDisabled:Z
            ifne 40
            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 40
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        40: .line 621
      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 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 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
        41: .line 623
            aload 12 /* buf */
            invokevirtual java.lang.invoke.LambdaFormBuffer.endEdit:()Ljava/lang/invoke/LambdaForm;
            astore 11 /* form */
        42: .line 624
            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 // byte 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   43     0            this  Ljava/lang/invoke/LambdaFormEditor;
            0   43     1             pos  I
            0   43     2  arrayCollector  Ljava/lang/invoke/MethodHandle;
            1   43     3   collectorType  Ljava/lang/invoke/MethodType;
            2   43     4  collectorArity  I
            4   43     5       arrayType  Ljava/lang/Class<*>;
            5   43     6     elementType  Ljava/lang/Class<*>;
            6   43     7         argType  Ljava/lang/invoke/LambdaForm$BasicType;
            7   43     8      argTypeKey  I
           13   43     9            kind  B
           14   43    10             key  Ljava/lang/invoke/LambdaFormEditor$Transform;
           15   43    11            form  Ljava/lang/invoke/LambdaForm;
           19   43    12             buf  Ljava/lang/invoke/LambdaFormBuffer;
           23   43    13       newParams  [Ljava/lang/invoke/LambdaForm$Name;
           24   28    14               i  I
           31   43    14    callCombiner  Ljava/lang/invoke/LambdaForm$Name;
           32   43    15         exprPos  I
           34   43    16          argPos  I
           36   37    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 628
            iconst_5
            iload 1 /* pos */
            aload 2 /* newType */
            invokevirtual java.lang.invoke.LambdaForm$BasicType.ordinal:()I
            invokestatic java.lang.invoke.LambdaFormEditor$Transform.of:(BII)Ljava/lang/invoke/LambdaFormEditor$Transform;
            astore 3 /* key */
        start local 3 // java.lang.invoke.LambdaFormEditor$Transform key
         1: .line 629
            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 630
            aload 4 /* form */
            ifnull 6
         3: .line 631
            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 632
      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 633
      StackMap locals:
      StackMap stack:
            aload 4 /* form */
            areturn
         6: .line 636
      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 637
            aload 5 /* oldType */
            invokevirtual java.lang.invoke.LambdaForm$BasicType.basicTypeClass:()Ljava/lang/Class;
         8: .line 638
            aload 2 /* newType */
            invokevirtual java.lang.invoke.LambdaForm$BasicType.basicTypeClass:()Ljava/lang/Class;
         9: .line 637
            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 639
            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 640
            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 646
            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 647
            aload 5 /* buf */
            invokevirtual java.lang.invoke.LambdaFormBuffer.startEdit:()V
         2: .line 648
            aload 2 /* combinerType */
            invokevirtual java.lang.invoke.MethodType.parameterCount:()I
            istore 6 /* combinerArity */
        start local 6 // int combinerArity
         3: .line 649
            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 651
            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 652
      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 653
      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 654
      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 655
      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 657
      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 658
            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 662
            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 663
            aload 5 /* buf */
            aload 8 /* oldData */
            invokevirtual java.lang.invoke.BoundMethodHandle$SpeciesData.getterFunctions:()Ljava/util/List;
            aload 9 /* newData */
            invokevirtual java.lang.invoke.BoundMethodHandle$SpeciesData.getterFunctions:()Ljava/util/List;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 10 /* oldBaseAddress */
            aastore
            invokevirtual java.lang.invoke.LambdaFormBuffer.replaceFunctions:(Ljava/util/List;Ljava/util/List;[Ljava/lang/Object;)Ljava/lang/invoke/LambdaFormBuffer;
            pop
        17: .line 664
            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 665
            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 667
            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 668
            iconst_1
            iload 6 /* combinerArity */
            iadd
            anewarray java.lang.Object
            astore 13 /* combinerArgs */
        start local 13 // java.lang.Object[] combinerArgs
        21: .line 669
            aload 13 /* combinerArgs */
            iconst_0
            aload 12 /* getCombiner */
            aastore
        22: .line 671
            iload 3 /* keepArguments */
            ifeq 28
        23: .line 672
            iconst_0
            anewarray java.lang.invoke.LambdaForm$Name
            astore 14 /* newParams */
        start local 14 // java.lang.invoke.LambdaForm$Name[] newParams
        24: .line 673
            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 674
            aload 13 /* combinerArgs */
            iconst_1
            iload 6 /* combinerArity */
        26: .line 673
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        27: .line 675
            goto 37
        end local 14 // java.lang.invoke.LambdaForm$Name[] newParams
        28: .line 676
      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 677
            iconst_0
            istore 15 /* i */
        start local 15 // int i
        30: goto 33
        31: .line 678
      StackMap locals: java.lang.invoke.LambdaForm$Name[] int
      StackMap stack:
            aload 14 /* newParams */
            iload 15 /* i */
            new java.lang.invoke.LambdaForm$Name
            dup
            iload 1 /* pos */
            iload 15 /* i */
            iadd
            aload 2 /* combinerType */
            iload 15 /* i */
            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;
            invokespecial java.lang.invoke.LambdaForm$Name.<init>:(ILjava/lang/invoke/LambdaForm$BasicType;)V
            aastore
        32: .line 677
            iinc 15 /* i */ 1
      StackMap locals:
      StackMap stack:
        33: iload 15 /* i */
            aload 14 /* newParams */
            arraylength
            if_icmplt 31
        end local 15 // int i
        34: .line 680
            aload 14 /* newParams */
            iconst_0
        35: .line 681
            aload 13 /* combinerArgs */
            iconst_1
            iload 6 /* combinerArity */
        36: .line 680
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        37: .line 683
      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
        38: .line 686
            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
        39: .line 687
            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
        40: .line 688
            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
        41: .line 691
            iload 1 /* pos */
            iload 7 /* resultArity */
            iadd
            istore 17 /* argPos */
        start local 17 // int argPos
        42: .line 692
            aload 14 /* newParams */
            dup
            astore 21
            arraylength
            istore 20
            iconst_0
            istore 19
            goto 46
      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:
        43: aload 21
            iload 19
            aaload
            astore 18 /* newParam */
        start local 18 // java.lang.invoke.LambdaForm$Name newParam
        44: .line 693
            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
        45: .line 692
            iinc 19 1
      StackMap locals:
      StackMap stack:
        46: iload 19
            iload 20
            if_icmplt 43
        47: .line 695
            getstatic java.lang.invoke.LambdaFormEditor.$assertionsDisabled:Z
            ifne 48
            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 48
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        48: .line 696
      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 50
        49: .line 697
            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
        50: .line 700
      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   51     0            this  Ljava/lang/invoke/LambdaFormEditor;
            0   51     1             pos  I
            0   51     2    combinerType  Ljava/lang/invoke/MethodType;
            0   51     3   keepArguments  Z
            0   51     4      dropResult  Z
            1   51     5             buf  Ljava/lang/invoke/LambdaFormBuffer;
            3   51     6   combinerArity  I
            6   51     7     resultArity  I
           14   51     8         oldData  Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
           15   51     9         newData  Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
           16   51    10  oldBaseAddress  Ljava/lang/invoke/LambdaForm$Name;
           18   51    11  newBaseAddress  Ljava/lang/invoke/LambdaForm$Name;
           20   51    12     getCombiner  Ljava/lang/invoke/LambdaForm$Name;
           21   51    13    combinerArgs  [Ljava/lang/Object;
           24   28    14       newParams  [Ljava/lang/invoke/LambdaForm$Name;
           29   51    14       newParams  [Ljava/lang/invoke/LambdaForm$Name;
           30   34    15               i  I
           38   51    15    callCombiner  Ljava/lang/invoke/LambdaForm$Name;
           39   51    16         exprPos  I
           42   51    17          argPos  I
           44   45    18        newParam  Ljava/lang/invoke/LambdaForm$Name;
    MethodParameters:
               Name  Flags
      pos            
      combinerType   
      keepArguments  
      dropResult     

  private java.lang.invoke.LambdaForm makeArgumentCombinationForm(int, java.lang.invoke.MethodType, int[], boolean, boolean);
    descriptor: (ILjava/lang/invoke/MethodType;[IZZ)Ljava/lang/invoke/LambdaForm;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=23, args_size=6
        start local 0 // java.lang.invoke.LambdaFormEditor this
        start local 1 // int pos
        start local 2 // java.lang.invoke.MethodType combinerType
        start local 3 // int[] argPositions
        start local 4 // boolean keepArguments
        start local 5 // boolean dropResult
         0: .line 708
            aload 0 /* this */
            invokevirtual java.lang.invoke.LambdaFormEditor.buffer:()Ljava/lang/invoke/LambdaFormBuffer;
            astore 6 /* buf */
        start local 6 // java.lang.invoke.LambdaFormBuffer buf
         1: .line 709
            aload 6 /* buf */
            invokevirtual java.lang.invoke.LambdaFormBuffer.startEdit:()V
         2: .line 710
            aload 2 /* combinerType */
            invokevirtual java.lang.invoke.MethodType.parameterCount:()I
            istore 7 /* combinerArity */
        start local 7 // int combinerArity
         3: .line 711
            getstatic java.lang.invoke.LambdaFormEditor.$assertionsDisabled:Z
            ifne 4
            iload 7 /* combinerArity */
            aload 3 /* argPositions */
            arraylength
            if_icmpeq 4
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 713
      StackMap locals: java.lang.invoke.LambdaFormBuffer int
      StackMap stack:
            iload 5 /* dropResult */
            ifeq 5
            iconst_0
            goto 6
      StackMap locals:
      StackMap stack:
         5: iconst_1
      StackMap locals:
      StackMap stack: int
         6: istore 8 /* resultArity */
        start local 8 // int resultArity
         7: .line 715
            getstatic java.lang.invoke.LambdaFormEditor.$assertionsDisabled:Z
            ifne 8
            iload 1 /* pos */
            aload 0 /* this */
            getfield java.lang.invoke.LambdaFormEditor.lambdaForm:Ljava/lang/invoke/LambdaForm;
            getfield java.lang.invoke.LambdaForm.arity:I
            if_icmple 8
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         8: .line 716
      StackMap locals: int
      StackMap stack:
            getstatic java.lang.invoke.LambdaFormEditor.$assertionsDisabled:Z
            ifne 9
            iload 1 /* pos */
            ifgt 9
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         9: .line 717
      StackMap locals:
      StackMap stack:
            getstatic java.lang.invoke.LambdaFormEditor.$assertionsDisabled:Z
            ifne 10
            aload 2 /* combinerType */
            aload 2 /* combinerType */
            invokevirtual java.lang.invoke.MethodType.basicType:()Ljava/lang/invoke/MethodType;
            if_acmpeq 10
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        10: .line 718
      StackMap locals:
      StackMap stack:
            getstatic java.lang.invoke.LambdaFormEditor.$assertionsDisabled:Z
            ifne 11
            aload 2 /* combinerType */
            invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            if_acmpne 11
            iload 5 /* dropResult */
            ifne 11
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        11: .line 720
      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
        12: .line 721
            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
        13: .line 725
            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
        14: .line 726
            aload 6 /* buf */
            aload 9 /* oldData */
            invokevirtual java.lang.invoke.BoundMethodHandle$SpeciesData.getterFunctions:()Ljava/util/List;
            aload 10 /* newData */
            invokevirtual java.lang.invoke.BoundMethodHandle$SpeciesData.getterFunctions:()Ljava/util/List;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 11 /* oldBaseAddress */
            aastore
            invokevirtual java.lang.invoke.LambdaFormBuffer.replaceFunctions:(Ljava/util/List;Ljava/util/List;[Ljava/lang/Object;)Ljava/lang/invoke/LambdaFormBuffer;
            pop
        15: .line 727
            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
        16: .line 728
            aload 6 /* buf */
            iconst_0
            aload 12 /* newBaseAddress */
            invokevirtual java.lang.invoke.LambdaFormBuffer.renameParameter:(ILjava/lang/invoke/LambdaForm$Name;)Ljava/lang/invoke/LambdaFormBuffer;
            pop
        17: .line 730
            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 /* getCombiner */
        start local 13 // java.lang.invoke.LambdaForm$Name getCombiner
        18: .line 731
            iconst_1
            iload 7 /* combinerArity */
            iadd
            anewarray java.lang.Object
            astore 14 /* combinerArgs */
        start local 14 // java.lang.Object[] combinerArgs
        19: .line 732
            aload 14 /* combinerArgs */
            iconst_0
            aload 13 /* getCombiner */
            aastore
        20: .line 734
            iload 4 /* keepArguments */
            ifeq 29
        21: .line 735
            iconst_0
            anewarray java.lang.invoke.LambdaForm$Name
            astore 15 /* newParams */
        start local 15 // java.lang.invoke.LambdaForm$Name[] newParams
        22: .line 736
            iconst_0
            istore 16 /* i */
        start local 16 // int i
        23: goto 27
        24: .line 737
      StackMap locals: java.lang.invoke.LambdaFormEditor int java.lang.invoke.MethodType int[] 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[] int
      StackMap stack:
            aload 14 /* combinerArgs */
            iload 16 /* i */
            iconst_1
            iadd
            aload 0 /* this */
            getfield java.lang.invoke.LambdaFormEditor.lambdaForm:Ljava/lang/invoke/LambdaForm;
            iconst_1
            aload 3 /* argPositions */
            iload 16 /* i */
            iaload
            iadd
            invokevirtual java.lang.invoke.LambdaForm.parameter:(I)Ljava/lang/invoke/LambdaForm$Name;
            aastore
        25: .line 738
            getstatic java.lang.invoke.LambdaFormEditor.$assertionsDisabled:Z
            ifne 26
            aload 2 /* combinerType */
            iload 16 /* i */
            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 0 /* this */
            getfield java.lang.invoke.LambdaFormEditor.lambdaForm:Ljava/lang/invoke/LambdaForm;
            iconst_1
            aload 3 /* argPositions */
            iload 16 /* i */
            iaload
            iadd
            invokevirtual java.lang.invoke.LambdaForm.parameterType:(I)Ljava/lang/invoke/LambdaForm$BasicType;
            if_acmpeq 26
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        26: .line 736
      StackMap locals:
      StackMap stack:
            iinc 16 /* i */ 1
      StackMap locals:
      StackMap stack:
        27: iload 16 /* i */
            iload 7 /* combinerArity */
            if_icmplt 24
        end local 16 // int i
        28: .line 740
            goto 39
        end local 15 // java.lang.invoke.LambdaForm$Name[] newParams
        29: .line 741
      StackMap locals:
      StackMap stack:
            iload 7 /* combinerArity */
            anewarray java.lang.invoke.LambdaForm$Name
            astore 15 /* newParams */
        start local 15 // java.lang.invoke.LambdaForm$Name[] newParams
        30: .line 742
            iconst_0
            istore 16 /* i */
        start local 16 // int i
        31: goto 35
        32: .line 743
      StackMap locals: java.lang.invoke.LambdaForm$Name[] int
      StackMap stack:
            aload 15 /* newParams */
            iload 16 /* i */
            aload 0 /* this */
            getfield java.lang.invoke.LambdaFormEditor.lambdaForm:Ljava/lang/invoke/LambdaForm;
            iconst_1
            aload 3 /* argPositions */
            iload 16 /* i */
            iaload
            iadd
            invokevirtual java.lang.invoke.LambdaForm.parameter:(I)Ljava/lang/invoke/LambdaForm$Name;
            aastore
        33: .line 744
            getstatic java.lang.invoke.LambdaFormEditor.$assertionsDisabled:Z
            ifne 34
            aload 2 /* combinerType */
            iload 16 /* i */
            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 0 /* this */
            getfield java.lang.invoke.LambdaFormEditor.lambdaForm:Ljava/lang/invoke/LambdaForm;
            iconst_1
            aload 3 /* argPositions */
            iload 16 /* i */
            iaload
            iadd
            invokevirtual java.lang.invoke.LambdaForm.parameterType:(I)Ljava/lang/invoke/LambdaForm$BasicType;
            if_acmpeq 34
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        34: .line 742
      StackMap locals:
      StackMap stack:
            iinc 16 /* i */ 1
      StackMap locals:
      StackMap stack:
        35: iload 16 /* i */
            aload 15 /* newParams */
            arraylength
            if_icmplt 32
        end local 16 // int i
        36: .line 746
            aload 15 /* newParams */
            iconst_0
        37: .line 747
            aload 14 /* combinerArgs */
            iconst_1
            iload 7 /* combinerArity */
        38: .line 746
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        39: .line 749
      StackMap locals:
      StackMap stack:
            new java.lang.invoke.LambdaForm$Name
            dup
            aload 2 /* combinerType */
            aload 14 /* combinerArgs */
            invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/MethodType;[Ljava/lang/Object;)V
            astore 16 /* callCombiner */
        start local 16 // java.lang.invoke.LambdaForm$Name callCombiner
        40: .line 752
            aload 0 /* this */
            getfield java.lang.invoke.LambdaFormEditor.lambdaForm:Ljava/lang/invoke/LambdaForm;
            invokevirtual java.lang.invoke.LambdaForm.arity:()I
            istore 17 /* exprPos */
        start local 17 // int exprPos
        41: .line 753
            aload 6 /* buf */
            iload 17 /* exprPos */
            iconst_0
            iadd
            aload 13 /* getCombiner */
            invokevirtual java.lang.invoke.LambdaFormBuffer.insertExpression:(ILjava/lang/invoke/LambdaForm$Name;)Ljava/lang/invoke/LambdaFormBuffer;
            pop
        42: .line 754
            aload 6 /* buf */
            iload 17 /* exprPos */
            iconst_1
            iadd
            aload 16 /* callCombiner */
            invokevirtual java.lang.invoke.LambdaFormBuffer.insertExpression:(ILjava/lang/invoke/LambdaForm$Name;)Ljava/lang/invoke/LambdaFormBuffer;
            pop
        43: .line 757
            iload 1 /* pos */
            iload 8 /* resultArity */
            iadd
            istore 18 /* argPos */
        start local 18 // int argPos
        44: .line 758
            aload 15 /* newParams */
            dup
            astore 22
            arraylength
            istore 21
            iconst_0
            istore 20
            goto 48
      StackMap locals: java.lang.invoke.LambdaFormEditor int java.lang.invoke.MethodType int[] 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:
        45: aload 22
            iload 20
            aaload
            astore 19 /* newParam */
        start local 19 // java.lang.invoke.LambdaForm$Name newParam
        46: .line 759
            aload 6 /* buf */
            iload 18 /* argPos */
            iinc 18 /* argPos */ 1
            aload 19 /* newParam */
            invokevirtual java.lang.invoke.LambdaFormBuffer.insertParameter:(ILjava/lang/invoke/LambdaForm$Name;)Ljava/lang/invoke/LambdaFormBuffer;
            pop
        end local 19 // java.lang.invoke.LambdaForm$Name newParam
        47: .line 758
            iinc 20 1
      StackMap locals:
      StackMap stack:
        48: iload 20
            iload 21
            if_icmplt 45
        49: .line 761
            getstatic java.lang.invoke.LambdaFormEditor.$assertionsDisabled:Z
            ifne 50
            aload 6 /* buf */
            aload 16 /* callCombiner */
            invokevirtual java.lang.invoke.LambdaFormBuffer.lastIndexOf:(Ljava/lang/invoke/LambdaForm$Name;)I
            iload 17 /* exprPos */
            iconst_1
            iadd
            aload 15 /* newParams */
            arraylength
            iadd
            if_icmpeq 50
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        50: .line 762
      StackMap locals: java.lang.invoke.LambdaFormEditor int java.lang.invoke.MethodType int[] 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 5 /* dropResult */
            ifne 52
        51: .line 763
            aload 6 /* buf */
            iload 1 /* pos */
            iload 17 /* exprPos */
            iconst_1
            iadd
            aload 15 /* newParams */
            arraylength
            iadd
            invokevirtual java.lang.invoke.LambdaFormBuffer.replaceParameterByCopy:(II)Ljava/lang/invoke/LambdaFormBuffer;
            pop
        52: .line 766
      StackMap locals:
      StackMap stack:
            aload 6 /* buf */
            invokevirtual java.lang.invoke.LambdaFormBuffer.endEdit:()Ljava/lang/invoke/LambdaForm;
            areturn
        end local 18 // int argPos
        end local 17 // int exprPos
        end local 16 // java.lang.invoke.LambdaForm$Name callCombiner
        end local 15 // java.lang.invoke.LambdaForm$Name[] newParams
        end local 14 // java.lang.Object[] combinerArgs
        end local 13 // java.lang.invoke.LambdaForm$Name getCombiner
        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
        end local 8 // int resultArity
        end local 7 // int combinerArity
        end local 6 // java.lang.invoke.LambdaFormBuffer buf
        end local 5 // boolean dropResult
        end local 4 // boolean keepArguments
        end local 3 // int[] argPositions
        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   53     0            this  Ljava/lang/invoke/LambdaFormEditor;
            0   53     1             pos  I
            0   53     2    combinerType  Ljava/lang/invoke/MethodType;
            0   53     3    argPositions  [I
            0   53     4   keepArguments  Z
            0   53     5      dropResult  Z
            1   53     6             buf  Ljava/lang/invoke/LambdaFormBuffer;
            3   53     7   combinerArity  I
            7   53     8     resultArity  I
           12   53     9         oldData  Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
           13   53    10         newData  Ljava/lang/invoke/BoundMethodHandle$SpeciesData;
           14   53    11  oldBaseAddress  Ljava/lang/invoke/LambdaForm$Name;
           16   53    12  newBaseAddress  Ljava/lang/invoke/LambdaForm$Name;
           18   53    13     getCombiner  Ljava/lang/invoke/LambdaForm$Name;
           19   53    14    combinerArgs  [Ljava/lang/Object;
           22   29    15       newParams  [Ljava/lang/invoke/LambdaForm$Name;
           30   53    15       newParams  [Ljava/lang/invoke/LambdaForm$Name;
           23   28    16               i  I
           31   36    16               i  I
           40   53    16    callCombiner  Ljava/lang/invoke/LambdaForm$Name;
           41   53    17         exprPos  I
           44   53    18          argPos  I
           46   47    19        newParam  Ljava/lang/invoke/LambdaForm$Name;
    MethodParameters:
               Name  Flags
      pos            
      combinerType   
      argPositions   
      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 770
            iload 2 /* constantZero */
            ifeq 1
            bipush 7
            goto 2
      StackMap locals:
      StackMap stack:
         1: bipush 6
      StackMap locals:
      StackMap stack: int
         2: istore 3 /* kind */
        start local 3 // byte kind
         3: .line 771
            iload 3 /* kind */
            aload 1 /* newType */
            invokevirtual java.lang.invoke.LambdaForm$BasicType.ordinal:()I
            invokestatic java.lang.invoke.LambdaFormEditor$Transform.of:(BI)Ljava/lang/invoke/LambdaFormEditor$Transform;
            astore 4 /* key */
        start local 4 // java.lang.invoke.LambdaFormEditor$Transform key
         4: .line 772
            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 773
            aload 5 /* form */
            ifnull 9
         6: .line 774
            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 775
      StackMap locals: int 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 776
      StackMap locals:
      StackMap stack:
            aload 5 /* form */
            areturn
         9: .line 778
      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 779
            aload 6 /* buf */
            invokevirtual java.lang.invoke.LambdaFormBuffer.startEdit:()V
        11: .line 781
            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 783
            iload 2 /* constantZero */
            ifeq 18
        13: .line 785
            aload 1 /* newType */
            getstatic java.lang.invoke.LambdaForm$BasicType.V_TYPE:Ljava/lang/invoke/LambdaForm$BasicType;
            if_acmpne 16
        14: .line 786
            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 788
      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 789
            goto 33
        end local 8 // java.lang.invoke.LambdaForm$Name callFilter
        18: .line 790
      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 791
            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 795
            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 796
            aload 6 /* buf */
            aload 9 /* oldData */
            invokevirtual java.lang.invoke.BoundMethodHandle$SpeciesData.getterFunctions:()Ljava/util/List;
            aload 10 /* newData */
            invokevirtual java.lang.invoke.BoundMethodHandle$SpeciesData.getterFunctions:()Ljava/util/List;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 11 /* oldBaseAddress */
            aastore
            invokevirtual java.lang.invoke.LambdaFormBuffer.replaceFunctions:(Ljava/util/List;Ljava/util/List;[Ljava/lang/Object;)Ljava/lang/invoke/LambdaFormBuffer;
            pop
        22: .line 797
            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 798
            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 800
            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 801
            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 802
            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 803
            aload 14 /* oldType */
            getstatic java.lang.invoke.LambdaForm$BasicType.V_TYPE:Ljava/lang/invoke/LambdaForm$BasicType;
            if_acmpne 31
        28: .line 804
            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 805
            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 806
            goto 33
        end local 8 // java.lang.invoke.LambdaForm$Name callFilter
        31: .line 807
      StackMap locals: java.lang.invoke.LambdaFormEditor java.lang.invoke.LambdaForm$BasicType int int 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 808
            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 812
      StackMap locals: java.lang.invoke.LambdaFormEditor java.lang.invoke.LambdaForm$BasicType int int 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 813
            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 814
      StackMap locals:
      StackMap stack:
            aload 6 /* buf */
            aload 8 /* callFilter */
            invokevirtual java.lang.invoke.LambdaFormBuffer.setResult:(Ljava/lang/invoke/LambdaForm$Name;)V
        36: .line 816
            aload 6 /* buf */
            invokevirtual java.lang.invoke.LambdaFormBuffer.endEdit:()Ljava/lang/invoke/LambdaForm;
            astore 5 /* form */
        37: .line 817
            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 // byte 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  B
            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 821
            aload 3 /* combinerType */
            invokevirtual java.lang.invoke.MethodType.parameterCount:()I
            istore 4 /* combinerArity */
        start local 4 // int combinerArity
         1: .line 822
            iload 2 /* dropResult */
            ifeq 2
            bipush 12
            goto 3
      StackMap locals: int
      StackMap stack:
         2: bipush 11
      StackMap locals:
      StackMap stack: int
         3: istore 5 /* kind */
        start local 5 // byte kind
         4: .line 823
            iload 5 /* kind */
            iload 1 /* foldPos */
            iload 4 /* combinerArity */
            invokestatic java.lang.invoke.LambdaFormEditor$Transform.of:(BII)Ljava/lang/invoke/LambdaFormEditor$Transform;
            astore 6 /* key */
        start local 6 // java.lang.invoke.LambdaFormEditor$Transform key
         5: .line 824
            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 825
            aload 7 /* form */
            ifnull 11
         7: .line 826
            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
            iload 5 /* kind */
            bipush 11
            if_icmpne 8
            iconst_1
            goto 9
      StackMap locals: java.lang.invoke.LambdaFormEditor int int java.lang.invoke.MethodType int int 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 int 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 827
      StackMap locals:
      StackMap stack:
            aload 7 /* form */
            areturn
        11: .line 829
      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 830
            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 // byte 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  B
            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 foldArgumentsForm(int, boolean, java.lang.invoke.MethodType, int[]);
    descriptor: (IZLjava/lang/invoke/MethodType;[I)Ljava/lang/invoke/LambdaForm;
    flags: (0x0080) ACC_VARARGS
    Code:
      stack=6, locals=9, args_size=5
        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
        start local 4 // int[] argPositions
         0: .line 834
            iload 2 /* dropResult */
            ifeq 1
            bipush 16
            goto 2
         1: .line 835
      StackMap locals:
      StackMap stack:
            bipush 15
         2: .line 834
      StackMap locals:
      StackMap stack: int
            istore 5 /* kind */
        start local 5 // byte kind
         3: .line 836
            aload 4 /* argPositions */
            aload 4 /* argPositions */
            arraylength
            iconst_1
            iadd
            invokestatic java.util.Arrays.copyOf:([II)[I
            astore 6 /* keyArgs */
        start local 6 // int[] keyArgs
         4: .line 837
            aload 6 /* keyArgs */
            aload 4 /* argPositions */
            arraylength
            iload 1 /* foldPos */
            iastore
         5: .line 838
            iload 5 /* kind */
            aload 6 /* keyArgs */
            invokestatic java.lang.invoke.LambdaFormEditor$Transform.of:(B[I)Ljava/lang/invoke/LambdaFormEditor$Transform;
            astore 7 /* key */
        start local 7 // java.lang.invoke.LambdaFormEditor$Transform key
         6: .line 839
            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
         7: .line 840
            aload 8 /* form */
            ifnull 12
         8: .line 841
            getstatic java.lang.invoke.LambdaFormEditor.$assertionsDisabled:Z
            ifne 11
            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 5 /* kind */
            bipush 15
            if_icmpne 9
            iconst_1
            goto 10
      StackMap locals: java.lang.invoke.LambdaFormEditor int int java.lang.invoke.MethodType int[] int int[] java.lang.invoke.LambdaFormEditor$Transform java.lang.invoke.LambdaForm
      StackMap stack: int int
         9: iconst_0
      StackMap locals: java.lang.invoke.LambdaFormEditor int int java.lang.invoke.MethodType int[] int int[] java.lang.invoke.LambdaFormEditor$Transform java.lang.invoke.LambdaForm
      StackMap stack: int int int
        10: isub
            if_icmpeq 11
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        11: .line 842
      StackMap locals:
      StackMap stack:
            aload 8 /* form */
            areturn
        12: .line 844
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* foldPos */
            aload 3 /* combinerType */
            aload 4 /* argPositions */
            iconst_1
            iload 2 /* dropResult */
            invokevirtual java.lang.invoke.LambdaFormEditor.makeArgumentCombinationForm:(ILjava/lang/invoke/MethodType;[IZZ)Ljava/lang/invoke/LambdaForm;
            astore 8 /* form */
        13: .line 845
            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 // int[] keyArgs
        end local 5 // byte kind
        end local 4 // int[] argPositions
        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   14     0          this  Ljava/lang/invoke/LambdaFormEditor;
            0   14     1       foldPos  I
            0   14     2    dropResult  Z
            0   14     3  combinerType  Ljava/lang/invoke/MethodType;
            0   14     4  argPositions  [I
            3   14     5          kind  B
            4   14     6       keyArgs  [I
            6   14     7           key  Ljava/lang/invoke/LambdaFormEditor$Transform;
            7   14     8          form  Ljava/lang/invoke/LambdaForm;
    MethodParameters:
              Name  Flags
      foldPos       
      dropResult    
      combinerType  
      argPositions  

  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 849
            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 850
      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 851
            aload 2 /* reorder */
            arraylength
            istore 4 /* outArgs */
        start local 4 // int outArgs
         3: .line 852
            iconst_0
            istore 5 /* inTypes */
        start local 5 // int inTypes
         4: .line 853
            iconst_1
            istore 6 /* nullPerm */
        start local 6 // boolean nullPerm
         5: .line 854
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         6: goto 11
         7: .line 855
      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 856
            iload 8 /* inArg */
            iload 7 /* i */
            if_icmpeq 9
            iconst_0
            istore 6 /* nullPerm */
         9: .line 857
      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 854
            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 859
            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 860
      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 861
      StackMap locals:
      StackMap stack:
            bipush 13
            aload 2 /* reorder */
            invokestatic java.lang.invoke.LambdaFormEditor$Transform.of:(B[I)Ljava/lang/invoke/LambdaFormEditor$Transform;
            astore 7 /* key */
        start local 7 // java.lang.invoke.LambdaFormEditor$Transform key
        15: .line 862
            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 863
            aload 8 /* form */
            ifnull 19
        17: .line 864
            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 865
      StackMap locals: java.lang.invoke.LambdaFormEditor$Transform java.lang.invoke.LambdaForm
      StackMap stack:
            aload 8 /* form */
            areturn
        19: .line 868
      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 869
            iconst_0
            istore 10 /* i */
        start local 10 // int i
        21: goto 25
        22: .line 870
      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 871
            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 869
            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 873
            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 874
      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 875
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 10 /* pos */
        start local 10 // int pos
        29: .line 876
            goto 31
        30: .line 877
      StackMap locals: int
      StackMap stack:
            iinc 10 /* pos */ 1
        31: .line 876
      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 879
      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 880
            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 881
            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 882
            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 883
            aload 11 /* names2 */
            arraylength
            iload 12 /* bodyLength */
            isub
            istore 13 /* arity2 */
        start local 13 // int arity2
        37: .line 884
            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 885
            iload 14 /* result2 */
            iload 1 /* skip */
            if_icmplt 43
        39: .line 886
            iload 14 /* result2 */
            iload 1 /* skip */
            iload 4 /* outArgs */
            iadd
            if_icmpge 42
        40: .line 887
            aload 2 /* reorder */
            iload 14 /* result2 */
            iload 1 /* skip */
            isub
            iaload
            iload 1 /* skip */
            iadd
            istore 14 /* result2 */
        41: .line 888
            goto 43
        42: .line 889
      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 892
      StackMap locals:
      StackMap stack:
            iload 10 /* pos */
            istore 15 /* j */
        start local 15 // int j
        44: goto 58
        45: .line 893
      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 894
            aload 2 /* reorder */
            iload 15 /* j */
            iaload
            istore 17 /* i */
        start local 17 // int i
        47: .line 895
            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 896
            aload 18 /* n2 */
            ifnonnull 51
        49: .line 897
            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 898
            goto 52
        51: .line 899
      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 901
      StackMap locals:
      StackMap stack:
            iload 13 /* arity2 */
            istore 19 /* k */
        start local 19 // int k
        53: goto 56
        54: .line 902
      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 901
            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 892
            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 905
            iload 1 /* skip */
            iload 10 /* pos */
            iadd
            istore 15 /* i */
        start local 15 // int i
        60: goto 64
        61: .line 906
      StackMap locals:
      StackMap stack:
            aload 11 /* names2 */
            iload 15 /* i */
            aaload
            ifnonnull 63
        62: .line 907
            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 905
      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 910
            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 911
      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 912
            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 913
            aload 11 /* names2 */
            iload 16 /* i */
            aaload
            astore 18 /* n2 */
        start local 18 // java.lang.invoke.LambdaForm$Name n2
        70: .line 914
            aload 17 /* n */
            aload 18 /* n2 */
            if_acmpeq 76
        71: .line 915
            iload 16 /* i */
            iconst_1
            iadd
            istore 19 /* k */
        start local 19 // int k
        72: goto 75
        73: .line 916
      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 915
            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 910
      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 921
            new java.lang.invoke.LambdaForm
            dup
            iload 13 /* arity2 */
            aload 11 /* names2 */
            iload 14 /* result2 */
            invokespecial java.lang.invoke.LambdaForm.<init>:(I[Ljava/lang/invoke/LambdaForm$Name;I)V
            astore 8 /* form */
        79: .line 922
            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  

  java.lang.invoke.LambdaForm noteLoopLocalTypesForm(int, java.lang.invoke.LambdaForm$BasicType[]);
    descriptor: (I[Ljava/lang/invoke/LambdaForm$BasicType;)Ljava/lang/invoke/LambdaForm;
    flags: (0x0000) 
    Code:
      stack=6, locals=9, args_size=3
        start local 0 // java.lang.invoke.LambdaFormEditor this
        start local 1 // int pos
        start local 2 // java.lang.invoke.LambdaForm$BasicType[] localTypes
         0: .line 926
            getstatic java.lang.invoke.LambdaFormEditor.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield java.lang.invoke.LambdaFormEditor.lambdaForm:Ljava/lang/invoke/LambdaForm;
            iload 1 /* pos */
            invokevirtual java.lang.invoke.LambdaForm.isLoop:(I)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 927
      StackMap locals:
      StackMap stack:
            aload 2 /* localTypes */
            invokestatic java.lang.invoke.LambdaForm$BasicType.basicTypeOrds:([Ljava/lang/invoke/LambdaForm$BasicType;)[I
            astore 3 /* desc */
        start local 3 // int[] desc
         2: .line 928
            aload 3 /* desc */
            aload 3 /* desc */
            arraylength
            iconst_1
            iadd
            invokestatic java.util.Arrays.copyOf:([II)[I
            astore 3 /* desc */
         3: .line 929
            aload 3 /* desc */
            aload 3 /* desc */
            arraylength
            iconst_1
            isub
            iload 1 /* pos */
            iastore
         4: .line 930
            bipush 14
            aload 3 /* desc */
            invokestatic java.lang.invoke.LambdaFormEditor$Transform.of:(B[I)Ljava/lang/invoke/LambdaFormEditor$Transform;
            astore 4 /* key */
        start local 4 // java.lang.invoke.LambdaFormEditor$Transform key
         5: .line 931
            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
         6: .line 932
            aload 5 /* form */
            ifnull 8
         7: .line 933
            aload 5 /* form */
            areturn
         8: .line 937
      StackMap locals: int[] java.lang.invoke.LambdaFormEditor$Transform java.lang.invoke.LambdaForm
      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 /* pos */
            iconst_1
            iadd
            aaload
            astore 6 /* invokeLoop */
        start local 6 // java.lang.invoke.LambdaForm$Name invokeLoop
         9: .line 938
            getstatic java.lang.invoke.LambdaFormEditor.$assertionsDisabled:Z
            ifne 10
            aload 6 /* invokeLoop */
            getfield java.lang.invoke.LambdaForm$Name.function:Ljava/lang/invoke/LambdaForm$NamedFunction;
            iconst_4
            invokestatic java.lang.invoke.MethodHandleImpl.getFunction:(B)Ljava/lang/invoke/LambdaForm$NamedFunction;
            invokevirtual java.lang.invoke.LambdaForm$NamedFunction.equals:(Ljava/lang/Object;)Z
            ifne 10
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        10: .line 939
      StackMap locals: java.lang.invoke.LambdaForm$Name
      StackMap stack:
            aload 6 /* invokeLoop */
            getfield java.lang.invoke.LambdaForm$Name.arguments:[Ljava/lang/Object;
            aload 6 /* invokeLoop */
            getfield java.lang.invoke.LambdaForm$Name.arguments:[Ljava/lang/Object;
            arraylength
            invokestatic java.util.Arrays.copyOf:([Ljava/lang/Object;I)[Ljava/lang/Object;
            astore 7 /* args */
        start local 7 // java.lang.Object[] args
        11: .line 940
            getstatic java.lang.invoke.LambdaFormEditor.$assertionsDisabled:Z
            ifne 12
            aload 7 /* args */
            iconst_0
            aaload
            ifnull 12
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        12: .line 941
      StackMap locals: java.lang.Object[]
      StackMap stack:
            aload 7 /* args */
            iconst_0
            aload 2 /* localTypes */
            aastore
        13: .line 943
            aload 0 /* this */
            invokevirtual java.lang.invoke.LambdaFormEditor.buffer:()Ljava/lang/invoke/LambdaFormBuffer;
            astore 8 /* buf */
        start local 8 // java.lang.invoke.LambdaFormBuffer buf
        14: .line 944
            aload 8 /* buf */
            invokevirtual java.lang.invoke.LambdaFormBuffer.startEdit:()V
        15: .line 945
            aload 8 /* buf */
            iload 1 /* pos */
            iconst_1
            iadd
            new java.lang.invoke.LambdaForm$Name
            dup
            iconst_4
            invokestatic java.lang.invoke.MethodHandleImpl.getFunction:(B)Ljava/lang/invoke/LambdaForm$NamedFunction;
            aload 7 /* args */
            invokespecial java.lang.invoke.LambdaForm$Name.<init>:(Ljava/lang/invoke/LambdaForm$NamedFunction;[Ljava/lang/Object;)V
            invokevirtual java.lang.invoke.LambdaFormBuffer.changeName:(ILjava/lang/invoke/LambdaForm$Name;)V
        16: .line 946
            aload 8 /* buf */
            invokevirtual java.lang.invoke.LambdaFormBuffer.endEdit:()Ljava/lang/invoke/LambdaForm;
            astore 5 /* form */
        17: .line 948
            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.LambdaFormBuffer buf
        end local 7 // java.lang.Object[] args
        end local 6 // java.lang.invoke.LambdaForm$Name invokeLoop
        end local 5 // java.lang.invoke.LambdaForm form
        end local 4 // java.lang.invoke.LambdaFormEditor$Transform key
        end local 3 // int[] desc
        end local 2 // java.lang.invoke.LambdaForm$BasicType[] localTypes
        end local 1 // int pos
        end local 0 // java.lang.invoke.LambdaFormEditor this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   18     0        this  Ljava/lang/invoke/LambdaFormEditor;
            0   18     1         pos  I
            0   18     2  localTypes  [Ljava/lang/invoke/LambdaForm$BasicType;
            2   18     3        desc  [I
            5   18     4         key  Ljava/lang/invoke/LambdaFormEditor$Transform;
            6   18     5        form  Ljava/lang/invoke/LambdaForm;
            9   18     6  invokeLoop  Ljava/lang/invoke/LambdaForm$Name;
           11   18     7        args  [Ljava/lang/Object;
           14   18     8         buf  Ljava/lang/invoke/LambdaFormBuffer;
    MethodParameters:
            Name  Flags
      pos         
      localTypes  

  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 952
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         1: goto 5
         2: .line 953
      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 954
      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 952
      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 956
            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
InnerClasses:
  final Specializer = java.lang.invoke.BoundMethodHandle$Specializer of java.lang.invoke.BoundMethodHandle
  final SpeciesData = java.lang.invoke.BoundMethodHandle$SpeciesData of java.lang.invoke.BoundMethodHandle
  public abstract SpeciesData = java.lang.invoke.ClassSpecializer$SpeciesData of java.lang.invoke.ClassSpecializer
  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
  final Intrinsic = java.lang.invoke.MethodHandleImpl$Intrinsic of java.lang.invoke.MethodHandleImpl