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

  private java.lang.invoke.MethodHandle resolvedHandle;
    descriptor: Ljava/lang/invoke/MethodHandle;
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      jdk.internal.vm.annotation.Stable()

  java.lang.invoke.MethodHandle invoker;
    descriptor: Ljava/lang/invoke/MethodHandle;
    flags: (0x0000) 
    RuntimeVisibleAnnotations: 
      jdk.internal.vm.annotation.Stable()

  static final java.lang.invoke.MethodType INVOKER_METHOD_TYPE;
    descriptor: Ljava/lang/invoke/MethodType;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  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=6, locals=0, args_size=0
         0: .line 1083
            ldc Ljava/lang/invoke/LambdaForm;
            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.LambdaForm$NamedFunction.$assertionsDisabled:Z
         3: .line 1154
            ldc Ljava/lang/Object;
            ldc Ljava/lang/invoke/MethodHandle;
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc [Ljava/lang/Object;
            aastore
            invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
         4: .line 1153
            putstatic java.lang.invoke.LambdaForm$NamedFunction.INVOKER_METHOD_TYPE:Ljava/lang/invoke/MethodType;
         5: .line 1154
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(java.lang.invoke.MethodHandle);
    descriptor: (Ljava/lang/invoke/MethodHandle;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.invoke.LambdaForm$NamedFunction this
        start local 1 // java.lang.invoke.MethodHandle resolvedHandle
         0: .line 1089
            aload 0 /* this */
            aload 1 /* resolvedHandle */
            invokevirtual java.lang.invoke.MethodHandle.internalMemberName:()Ljava/lang/invoke/MemberName;
            aload 1 /* resolvedHandle */
            invokespecial java.lang.invoke.LambdaForm$NamedFunction.<init>:(Ljava/lang/invoke/MemberName;Ljava/lang/invoke/MethodHandle;)V
         1: .line 1090
            return
        end local 1 // java.lang.invoke.MethodHandle resolvedHandle
        end local 0 // java.lang.invoke.LambdaForm$NamedFunction this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Ljava/lang/invoke/LambdaForm$NamedFunction;
            0    2     1  resolvedHandle  Ljava/lang/invoke/MethodHandle;
    MethodParameters:
                Name  Flags
      resolvedHandle  

  void <init>(java.lang.invoke.MemberName, java.lang.invoke.MethodHandle);
    descriptor: (Ljava/lang/invoke/MemberName;Ljava/lang/invoke/MethodHandle;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // java.lang.invoke.LambdaForm$NamedFunction this
        start local 1 // java.lang.invoke.MemberName member
        start local 2 // java.lang.invoke.MethodHandle resolvedHandle
         0: .line 1091
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 1092
            aload 0 /* this */
            aload 1 /* member */
            putfield java.lang.invoke.LambdaForm$NamedFunction.member:Ljava/lang/invoke/MemberName;
         2: .line 1093
            aload 0 /* this */
            aload 2 /* resolvedHandle */
            putfield java.lang.invoke.LambdaForm$NamedFunction.resolvedHandle:Ljava/lang/invoke/MethodHandle;
         3: .line 1096
            return
        end local 2 // java.lang.invoke.MethodHandle resolvedHandle
        end local 1 // java.lang.invoke.MemberName member
        end local 0 // java.lang.invoke.LambdaForm$NamedFunction this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    4     0            this  Ljava/lang/invoke/LambdaForm$NamedFunction;
            0    4     1          member  Ljava/lang/invoke/MemberName;
            0    4     2  resolvedHandle  Ljava/lang/invoke/MethodHandle;
    MethodParameters:
                Name  Flags
      member          
      resolvedHandle  

  void <init>(java.lang.invoke.MethodType);
    descriptor: (Ljava/lang/invoke/MethodType;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.invoke.LambdaForm$NamedFunction this
        start local 1 // java.lang.invoke.MethodType basicInvokerType
         0: .line 1097
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 1098
            getstatic java.lang.invoke.LambdaForm$NamedFunction.$assertionsDisabled:Z
            ifne 2
            aload 1 /* basicInvokerType */
            aload 1 /* basicInvokerType */
            invokevirtual java.lang.invoke.MethodType.basicType:()Ljava/lang/invoke/MethodType;
            if_acmpeq 2
            new java.lang.AssertionError
            dup
            aload 1 /* basicInvokerType */
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         2: .line 1099
      StackMap locals: java.lang.invoke.LambdaForm$NamedFunction java.lang.invoke.MethodType
      StackMap stack:
            aload 1 /* basicInvokerType */
            invokevirtual java.lang.invoke.MethodType.parameterSlotCount:()I
            sipush 253
            if_icmpge 6
         3: .line 1100
            aload 0 /* this */
            aload 1 /* basicInvokerType */
            invokevirtual java.lang.invoke.MethodType.invokers:()Ljava/lang/invoke/Invokers;
            invokevirtual java.lang.invoke.Invokers.basicInvoker:()Ljava/lang/invoke/MethodHandle;
            putfield java.lang.invoke.LambdaForm$NamedFunction.resolvedHandle:Ljava/lang/invoke/MethodHandle;
         4: .line 1101
            aload 0 /* this */
            aload 0 /* this */
            getfield java.lang.invoke.LambdaForm$NamedFunction.resolvedHandle:Ljava/lang/invoke/MethodHandle;
            invokevirtual java.lang.invoke.MethodHandle.internalMemberName:()Ljava/lang/invoke/MemberName;
            putfield java.lang.invoke.LambdaForm$NamedFunction.member:Ljava/lang/invoke/MemberName;
         5: .line 1102
            goto 7
         6: .line 1104
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* basicInvokerType */
            invokestatic java.lang.invoke.Invokers.invokeBasicMethod:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MemberName;
            putfield java.lang.invoke.LambdaForm$NamedFunction.member:Ljava/lang/invoke/MemberName;
         7: .line 1106
      StackMap locals:
      StackMap stack:
            getstatic java.lang.invoke.LambdaForm$NamedFunction.$assertionsDisabled:Z
            ifne 8
            aload 0 /* this */
            getfield java.lang.invoke.LambdaForm$NamedFunction.member:Ljava/lang/invoke/MemberName;
            invokestatic java.lang.invoke.LambdaForm$NamedFunction.isInvokeBasic:(Ljava/lang/invoke/MemberName;)Z
            ifne 8
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         8: .line 1107
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.invoke.MethodType basicInvokerType
        end local 0 // java.lang.invoke.LambdaForm$NamedFunction this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    9     0              this  Ljava/lang/invoke/LambdaForm$NamedFunction;
            0    9     1  basicInvokerType  Ljava/lang/invoke/MethodType;
    MethodParameters:
                  Name  Flags
      basicInvokerType  

  private static boolean isInvokeBasic(java.lang.invoke.MemberName);
    descriptor: (Ljava/lang/invoke/MemberName;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.invoke.MemberName member
         0: .line 1110
            aload 0 /* member */
            ifnull 4
         1: .line 1111
            aload 0 /* member */
            invokevirtual java.lang.invoke.MemberName.getDeclaringClass:()Ljava/lang/Class;
            ldc Ljava/lang/invoke/MethodHandle;
            if_acmpne 4
         2: .line 1112
            ldc "invokeBasic"
            aload 0 /* member */
            invokevirtual java.lang.invoke.MemberName.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 1110
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         4: iconst_0
            ireturn
        end local 0 // java.lang.invoke.MemberName member
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0  member  Ljava/lang/invoke/MemberName;
    MethodParameters:
        Name  Flags
      member  

  void <init>(java.lang.reflect.Method);
    descriptor: (Ljava/lang/reflect/Method;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.lang.invoke.LambdaForm$NamedFunction this
        start local 1 // java.lang.reflect.Method method
         0: .line 1120
            aload 0 /* this */
            new java.lang.invoke.MemberName
            dup
            aload 1 /* method */
            invokespecial java.lang.invoke.MemberName.<init>:(Ljava/lang/reflect/Method;)V
            invokespecial java.lang.invoke.LambdaForm$NamedFunction.<init>:(Ljava/lang/invoke/MemberName;)V
         1: .line 1121
            return
        end local 1 // java.lang.reflect.Method method
        end local 0 // java.lang.invoke.LambdaForm$NamedFunction this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Ljava/lang/invoke/LambdaForm$NamedFunction;
            0    2     1  method  Ljava/lang/reflect/Method;
    MethodParameters:
        Name  Flags
      method  

  void <init>(java.lang.invoke.MemberName);
    descriptor: (Ljava/lang/invoke/MemberName;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.invoke.LambdaForm$NamedFunction this
        start local 1 // java.lang.invoke.MemberName member
         0: .line 1123
            aload 0 /* this */
            aload 1 /* member */
            aconst_null
            invokespecial java.lang.invoke.LambdaForm$NamedFunction.<init>:(Ljava/lang/invoke/MemberName;Ljava/lang/invoke/MethodHandle;)V
         1: .line 1124
            return
        end local 1 // java.lang.invoke.MemberName member
        end local 0 // java.lang.invoke.LambdaForm$NamedFunction this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Ljava/lang/invoke/LambdaForm$NamedFunction;
            0    2     1  member  Ljava/lang/invoke/MemberName;
    MethodParameters:
        Name  Flags
      member  

  java.lang.invoke.MethodHandle resolvedHandle();
    descriptor: ()Ljava/lang/invoke/MethodHandle;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.invoke.LambdaForm$NamedFunction this
         0: .line 1127
            aload 0 /* this */
            getfield java.lang.invoke.LambdaForm$NamedFunction.resolvedHandle:Ljava/lang/invoke/MethodHandle;
            ifnonnull 1
            aload 0 /* this */
            invokevirtual java.lang.invoke.LambdaForm$NamedFunction.resolve:()V
         1: .line 1128
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.lang.invoke.LambdaForm$NamedFunction.resolvedHandle:Ljava/lang/invoke/MethodHandle;
            areturn
        end local 0 // java.lang.invoke.LambdaForm$NamedFunction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/lang/invoke/LambdaForm$NamedFunction;

  synchronized void resolve();
    descriptor: ()V
    flags: (0x0020) ACC_SYNCHRONIZED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.invoke.LambdaForm$NamedFunction this
         0: .line 1132
            aload 0 /* this */
            getfield java.lang.invoke.LambdaForm$NamedFunction.resolvedHandle:Ljava/lang/invoke/MethodHandle;
            ifnonnull 2
         1: .line 1133
            aload 0 /* this */
            aload 0 /* this */
            getfield java.lang.invoke.LambdaForm$NamedFunction.member:Ljava/lang/invoke/MemberName;
            invokestatic java.lang.invoke.DirectMethodHandle.make:(Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/DirectMethodHandle;
            putfield java.lang.invoke.LambdaForm$NamedFunction.resolvedHandle:Ljava/lang/invoke/MethodHandle;
         2: .line 1135
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.lang.invoke.LambdaForm$NamedFunction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/lang/invoke/LambdaForm$NamedFunction;

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.lang.invoke.LambdaForm$NamedFunction this
        start local 1 // java.lang.Object other
         0: .line 1139
            aload 0 /* this */
            aload 1 /* other */
            if_acmpne 1
            iconst_1
            ireturn
         1: .line 1140
      StackMap locals:
      StackMap stack:
            aload 1 /* other */
            ifnonnull 2
            iconst_0
            ireturn
         2: .line 1141
      StackMap locals:
      StackMap stack:
            aload 1 /* other */
            instanceof java.lang.invoke.LambdaForm$NamedFunction
            ifne 3
            iconst_0
            ireturn
         3: .line 1142
      StackMap locals:
      StackMap stack:
            aload 1 /* other */
            checkcast java.lang.invoke.LambdaForm$NamedFunction
            astore 2 /* that */
        start local 2 // java.lang.invoke.LambdaForm$NamedFunction that
         4: .line 1143
            aload 0 /* this */
            getfield java.lang.invoke.LambdaForm$NamedFunction.member:Ljava/lang/invoke/MemberName;
            ifnull 5
            aload 0 /* this */
            getfield java.lang.invoke.LambdaForm$NamedFunction.member:Ljava/lang/invoke/MemberName;
            aload 2 /* that */
            getfield java.lang.invoke.LambdaForm$NamedFunction.member:Ljava/lang/invoke/MemberName;
            invokevirtual java.lang.invoke.MemberName.equals:(Ljava/lang/invoke/MemberName;)Z
            ifeq 5
            iconst_1
            ireturn
      StackMap locals: java.lang.invoke.LambdaForm$NamedFunction
      StackMap stack:
         5: iconst_0
            ireturn
        end local 2 // java.lang.invoke.LambdaForm$NamedFunction that
        end local 1 // java.lang.Object other
        end local 0 // java.lang.invoke.LambdaForm$NamedFunction this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Ljava/lang/invoke/LambdaForm$NamedFunction;
            0    6     1  other  Ljava/lang/Object;
            4    6     2   that  Ljava/lang/invoke/LambdaForm$NamedFunction;
    MethodParameters:
       Name  Flags
      other  

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.invoke.LambdaForm$NamedFunction this
         0: .line 1148
            aload 0 /* this */
            getfield java.lang.invoke.LambdaForm$NamedFunction.member:Ljava/lang/invoke/MemberName;
            ifnull 2
         1: .line 1149
            aload 0 /* this */
            getfield java.lang.invoke.LambdaForm$NamedFunction.member:Ljava/lang/invoke/MemberName;
            invokevirtual java.lang.invoke.MemberName.hashCode:()I
            ireturn
         2: .line 1150
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokespecial java.lang.Object.hashCode:()I
            ireturn
        end local 0 // java.lang.invoke.LambdaForm$NamedFunction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/lang/invoke/LambdaForm$NamedFunction;

  private static java.lang.invoke.MethodHandle computeInvoker(java.lang.invoke.MethodTypeForm);
    descriptor: (Ljava/lang/invoke/MethodTypeForm;)Ljava/lang/invoke/MethodHandle;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // java.lang.invoke.MethodTypeForm typeForm
         0: .line 1157
            aload 0 /* typeForm */
            invokevirtual java.lang.invoke.MethodTypeForm.basicType:()Ljava/lang/invoke/MethodType;
            invokevirtual java.lang.invoke.MethodType.form:()Ljava/lang/invoke/MethodTypeForm;
            astore 0 /* typeForm */
         1: .line 1158
            aload 0 /* typeForm */
            iconst_1
            invokevirtual java.lang.invoke.MethodTypeForm.cachedMethodHandle:(I)Ljava/lang/invoke/MethodHandle;
            astore 1 /* mh */
        start local 1 // java.lang.invoke.MethodHandle mh
         2: .line 1159
            aload 1 /* mh */
            ifnull 3
            aload 1 /* mh */
            areturn
         3: .line 1160
      StackMap locals: java.lang.invoke.MethodHandle
      StackMap stack:
            aload 0 /* typeForm */
            invokestatic java.lang.invoke.InvokerBytecodeGenerator.generateNamedFunctionInvoker:(Ljava/lang/invoke/MethodTypeForm;)Ljava/lang/invoke/MemberName;
            astore 2 /* invoker */
        start local 2 // java.lang.invoke.MemberName invoker
         4: .line 1161
            aload 2 /* invoker */
            invokestatic java.lang.invoke.DirectMethodHandle.make:(Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/DirectMethodHandle;
            astore 1 /* mh */
         5: .line 1162
            aload 0 /* typeForm */
            iconst_1
            invokevirtual java.lang.invoke.MethodTypeForm.cachedMethodHandle:(I)Ljava/lang/invoke/MethodHandle;
            astore 3 /* mh2 */
        start local 3 // java.lang.invoke.MethodHandle mh2
         6: .line 1163
            aload 3 /* mh2 */
            ifnull 7
            aload 3 /* mh2 */
            areturn
         7: .line 1164
      StackMap locals: java.lang.invoke.MemberName java.lang.invoke.MethodHandle
      StackMap stack:
            aload 1 /* mh */
            invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
            getstatic java.lang.invoke.LambdaForm$NamedFunction.INVOKER_METHOD_TYPE:Ljava/lang/invoke/MethodType;
            invokevirtual java.lang.invoke.MethodType.equals:(Ljava/lang/Object;)Z
            ifne 9
         8: .line 1165
            aload 1 /* mh */
            invokevirtual java.lang.invoke.MethodHandle.debugString:()Ljava/lang/String;
            invokestatic java.lang.invoke.MethodHandleStatics.newInternalError:(Ljava/lang/String;)Ljava/lang/InternalError;
            athrow
         9: .line 1166
      StackMap locals:
      StackMap stack:
            aload 0 /* typeForm */
            iconst_1
            aload 1 /* mh */
            invokevirtual java.lang.invoke.MethodTypeForm.setCachedMethodHandle:(ILjava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 3 // java.lang.invoke.MethodHandle mh2
        end local 2 // java.lang.invoke.MemberName invoker
        end local 1 // java.lang.invoke.MethodHandle mh
        end local 0 // java.lang.invoke.MethodTypeForm typeForm
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0  typeForm  Ljava/lang/invoke/MethodTypeForm;
            2   10     1        mh  Ljava/lang/invoke/MethodHandle;
            4   10     2   invoker  Ljava/lang/invoke/MemberName;
            6   10     3       mh2  Ljava/lang/invoke/MethodHandle;
    MethodParameters:
          Name  Flags
      typeForm  

  java.lang.Object invokeWithArguments(java.lang.Object[]);
    descriptor: ([Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0080) ACC_VARARGS
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.invoke.LambdaForm$NamedFunction this
        start local 1 // java.lang.Object[] arguments
         0: .line 1173
            getstatic java.lang.invoke.LambdaForm.TRACE_INTERPRETER:Z
            ifeq 1
            aload 0 /* this */
            aload 1 /* arguments */
            invokevirtual java.lang.invoke.LambdaForm$NamedFunction.invokeWithArgumentsTracing:([Ljava/lang/Object;)Ljava/lang/Object;
            areturn
         1: .line 1174
      StackMap locals:
      StackMap stack:
            getstatic java.lang.invoke.LambdaForm$NamedFunction.$assertionsDisabled:Z
            ifne 2
            aload 1 /* arguments */
            aload 0 /* this */
            invokevirtual java.lang.invoke.LambdaForm$NamedFunction.methodType:()Ljava/lang/invoke/MethodType;
            invokestatic java.lang.invoke.LambdaForm$NamedFunction.checkArgumentTypes:([Ljava/lang/Object;Ljava/lang/invoke/MethodType;)Z
            ifne 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 1175
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.lang.invoke.LambdaForm$NamedFunction.invoker:()Ljava/lang/invoke/MethodHandle;
            aload 0 /* this */
            invokevirtual java.lang.invoke.LambdaForm$NamedFunction.resolvedHandle:()Ljava/lang/invoke/MethodHandle;
            aload 1 /* arguments */
            invokevirtual java.lang.invoke.MethodHandle.invokeBasic:(Ljava/lang/invoke/MethodHandle;[Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 1 // java.lang.Object[] arguments
        end local 0 // java.lang.invoke.LambdaForm$NamedFunction this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Ljava/lang/invoke/LambdaForm$NamedFunction;
            0    3     1  arguments  [Ljava/lang/Object;
    Exceptions:
      throws java.lang.Throwable
    RuntimeVisibleAnnotations: 
      java.lang.invoke.LambdaForm$Hidden()
    MethodParameters:
           Name  Flags
      arguments  

  java.lang.Object invokeWithArgumentsTracing(java.lang.Object[]);
    descriptor: ([Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // java.lang.invoke.LambdaForm$NamedFunction this
        start local 1 // java.lang.Object[] arguments
         0: .line 1182
            ldc "[ call"
            aload 0 /* this */
            aload 1 /* arguments */
            invokestatic java.lang.invoke.LambdaForm.traceInterpreter:(Ljava/lang/String;Ljava/lang/Object;[Ljava/lang/Object;)V
         1: .line 1183
            aload 0 /* this */
            getfield java.lang.invoke.LambdaForm$NamedFunction.invoker:Ljava/lang/invoke/MethodHandle;
            ifnonnull 4
         2: .line 1184
            ldc "| getInvoker"
            aload 0 /* this */
            invokestatic java.lang.invoke.LambdaForm.traceInterpreter:(Ljava/lang/String;Ljava/lang/Object;)V
         3: .line 1185
            aload 0 /* this */
            invokevirtual java.lang.invoke.LambdaForm$NamedFunction.invoker:()Ljava/lang/invoke/MethodHandle;
            pop
         4: .line 1188
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.lang.invoke.LambdaForm$NamedFunction.resolvedHandle:Ljava/lang/invoke/MethodHandle;
            ifnonnull 7
         5: .line 1189
            ldc "| resolve"
            aload 0 /* this */
            invokestatic java.lang.invoke.LambdaForm.traceInterpreter:(Ljava/lang/String;Ljava/lang/Object;)V
         6: .line 1190
            aload 0 /* this */
            invokevirtual java.lang.invoke.LambdaForm$NamedFunction.resolvedHandle:()Ljava/lang/invoke/MethodHandle;
            pop
         7: .line 1192
      StackMap locals:
      StackMap stack:
            getstatic java.lang.invoke.LambdaForm$NamedFunction.$assertionsDisabled:Z
            ifne 8
            aload 1 /* arguments */
            aload 0 /* this */
            invokevirtual java.lang.invoke.LambdaForm$NamedFunction.methodType:()Ljava/lang/invoke/MethodType;
            invokestatic java.lang.invoke.LambdaForm$NamedFunction.checkArgumentTypes:([Ljava/lang/Object;Ljava/lang/invoke/MethodType;)Z
            ifne 8
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         8: .line 1193
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.lang.invoke.LambdaForm$NamedFunction.invoker:()Ljava/lang/invoke/MethodHandle;
            aload 0 /* this */
            invokevirtual java.lang.invoke.LambdaForm$NamedFunction.resolvedHandle:()Ljava/lang/invoke/MethodHandle;
            aload 1 /* arguments */
            invokevirtual java.lang.invoke.MethodHandle.invokeBasic:(Ljava/lang/invoke/MethodHandle;[Ljava/lang/Object;)Ljava/lang/Object;
            astore 2 /* rval */
        start local 2 // java.lang.Object rval
         9: .line 1194
            goto 13
        end local 2 // java.lang.Object rval
      StackMap locals:
      StackMap stack: java.lang.Throwable
        10: astore 3 /* ex */
        start local 3 // java.lang.Throwable ex
        11: .line 1195
            ldc "] throw =>"
            aload 3 /* ex */
            invokestatic java.lang.invoke.LambdaForm.traceInterpreter:(Ljava/lang/String;Ljava/lang/Object;)V
        12: .line 1196
            aload 3 /* ex */
            athrow
        end local 3 // java.lang.Throwable ex
        start local 2 // java.lang.Object rval
        13: .line 1198
      StackMap locals: java.lang.Object
      StackMap stack:
            ldc "] return =>"
            aload 2 /* rval */
            invokestatic java.lang.invoke.LambdaForm.traceInterpreter:(Ljava/lang/String;Ljava/lang/Object;)V
        14: .line 1199
            aload 2 /* rval */
            areturn
        end local 2 // java.lang.Object rval
        end local 1 // java.lang.Object[] arguments
        end local 0 // java.lang.invoke.LambdaForm$NamedFunction this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   15     0       this  Ljava/lang/invoke/LambdaForm$NamedFunction;
            0   15     1  arguments  [Ljava/lang/Object;
            9   10     2       rval  Ljava/lang/Object;
           13   15     2       rval  Ljava/lang/Object;
           11   13     3         ex  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           0     9      10  Class java.lang.Throwable
    Exceptions:
      throws java.lang.Throwable
    RuntimeVisibleAnnotations: 
      java.lang.invoke.LambdaForm$Hidden()
    MethodParameters:
           Name  Flags
      arguments  

  private java.lang.invoke.MethodHandle invoker();
    descriptor: ()Ljava/lang/invoke/MethodHandle;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.invoke.LambdaForm$NamedFunction this
         0: .line 1203
            aload 0 /* this */
            getfield java.lang.invoke.LambdaForm$NamedFunction.invoker:Ljava/lang/invoke/MethodHandle;
            ifnull 1
            aload 0 /* this */
            getfield java.lang.invoke.LambdaForm$NamedFunction.invoker:Ljava/lang/invoke/MethodHandle;
            areturn
         1: .line 1205
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual java.lang.invoke.LambdaForm$NamedFunction.methodType:()Ljava/lang/invoke/MethodType;
            invokevirtual java.lang.invoke.MethodType.form:()Ljava/lang/invoke/MethodTypeForm;
            invokestatic java.lang.invoke.LambdaForm$NamedFunction.computeInvoker:(Ljava/lang/invoke/MethodTypeForm;)Ljava/lang/invoke/MethodHandle;
            dup_x1
            putfield java.lang.invoke.LambdaForm$NamedFunction.invoker:Ljava/lang/invoke/MethodHandle;
            areturn
        end local 0 // java.lang.invoke.LambdaForm$NamedFunction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/lang/invoke/LambdaForm$NamedFunction;

  private static boolean checkArgumentTypes(java.lang.Object[], java.lang.invoke.MethodType);
    descriptor: ([Ljava/lang/Object;Ljava/lang/invoke/MethodType;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // java.lang.Object[] arguments
        start local 1 // java.lang.invoke.MethodType methodType
         0: .line 1209
            iconst_1
            ireturn
        end local 1 // java.lang.invoke.MethodType methodType
        end local 0 // java.lang.Object[] arguments
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0   arguments  [Ljava/lang/Object;
            0    1     1  methodType  Ljava/lang/invoke/MethodType;
    MethodParameters:
            Name  Flags
      arguments   
      methodType  

  java.lang.invoke.MethodType methodType();
    descriptor: ()Ljava/lang/invoke/MethodType;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.invoke.LambdaForm$NamedFunction this
         0: .line 1226
            aload 0 /* this */
            getfield java.lang.invoke.LambdaForm$NamedFunction.resolvedHandle:Ljava/lang/invoke/MethodHandle;
            ifnull 2
         1: .line 1227
            aload 0 /* this */
            getfield java.lang.invoke.LambdaForm$NamedFunction.resolvedHandle:Ljava/lang/invoke/MethodHandle;
            invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
            areturn
         2: .line 1230
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.lang.invoke.LambdaForm$NamedFunction.member:Ljava/lang/invoke/MemberName;
            invokevirtual java.lang.invoke.MemberName.getInvocationType:()Ljava/lang/invoke/MethodType;
            areturn
        end local 0 // java.lang.invoke.LambdaForm$NamedFunction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/lang/invoke/LambdaForm$NamedFunction;

  java.lang.invoke.MemberName member();
    descriptor: ()Ljava/lang/invoke/MemberName;
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.invoke.LambdaForm$NamedFunction this
         0: .line 1234
            getstatic java.lang.invoke.LambdaForm$NamedFunction.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            invokevirtual java.lang.invoke.LambdaForm$NamedFunction.assertMemberIsConsistent:()Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 1235
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.lang.invoke.LambdaForm$NamedFunction.member:Ljava/lang/invoke/MemberName;
            areturn
        end local 0 // java.lang.invoke.LambdaForm$NamedFunction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/lang/invoke/LambdaForm$NamedFunction;

  private boolean assertMemberIsConsistent();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.lang.invoke.LambdaForm$NamedFunction this
         0: .line 1240
            aload 0 /* this */
            getfield java.lang.invoke.LambdaForm$NamedFunction.resolvedHandle:Ljava/lang/invoke/MethodHandle;
            instanceof java.lang.invoke.DirectMethodHandle
            ifeq 3
         1: .line 1241
            aload 0 /* this */
            getfield java.lang.invoke.LambdaForm$NamedFunction.resolvedHandle:Ljava/lang/invoke/MethodHandle;
            invokevirtual java.lang.invoke.MethodHandle.internalMemberName:()Ljava/lang/invoke/MemberName;
            astore 1 /* m */
        start local 1 // java.lang.invoke.MemberName m
         2: .line 1242
            getstatic java.lang.invoke.LambdaForm$NamedFunction.$assertionsDisabled:Z
            ifne 3
            aload 1 /* m */
            aload 0 /* this */
            getfield java.lang.invoke.LambdaForm$NamedFunction.member:Ljava/lang/invoke/MemberName;
            invokevirtual java.lang.invoke.MemberName.equals:(Ljava/lang/invoke/MemberName;)Z
            ifne 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        end local 1 // java.lang.invoke.MemberName m
         3: .line 1244
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 0 // java.lang.invoke.LambdaForm$NamedFunction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/lang/invoke/LambdaForm$NamedFunction;
            2    3     1     m  Ljava/lang/invoke/MemberName;

  java.lang.Class<?> memberDeclaringClassOrNull();
    descriptor: ()Ljava/lang/Class;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.invoke.LambdaForm$NamedFunction this
         0: .line 1248
            aload 0 /* this */
            getfield java.lang.invoke.LambdaForm$NamedFunction.member:Ljava/lang/invoke/MemberName;
            ifnonnull 1
            aconst_null
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield java.lang.invoke.LambdaForm$NamedFunction.member:Ljava/lang/invoke/MemberName;
            invokevirtual java.lang.invoke.MemberName.getDeclaringClass:()Ljava/lang/Class;
      StackMap locals:
      StackMap stack: java.lang.Class
         2: areturn
        end local 0 // java.lang.invoke.LambdaForm$NamedFunction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/lang/invoke/LambdaForm$NamedFunction;
    Signature: ()Ljava/lang/Class<*>;

  java.lang.invoke.LambdaForm$BasicType returnType();
    descriptor: ()Ljava/lang/invoke/LambdaForm$BasicType;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.invoke.LambdaForm$NamedFunction this
         0: .line 1252
            aload 0 /* this */
            invokevirtual java.lang.invoke.LambdaForm$NamedFunction.methodType:()Ljava/lang/invoke/MethodType;
            invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
            invokestatic java.lang.invoke.LambdaForm$BasicType.basicType:(Ljava/lang/Class;)Ljava/lang/invoke/LambdaForm$BasicType;
            areturn
        end local 0 // java.lang.invoke.LambdaForm$NamedFunction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/invoke/LambdaForm$NamedFunction;

  java.lang.invoke.LambdaForm$BasicType parameterType(int);
    descriptor: (I)Ljava/lang/invoke/LambdaForm$BasicType;
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.invoke.LambdaForm$NamedFunction this
        start local 1 // int n
         0: .line 1256
            aload 0 /* this */
            invokevirtual java.lang.invoke.LambdaForm$NamedFunction.methodType:()Ljava/lang/invoke/MethodType;
            iload 1 /* n */
            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;
            areturn
        end local 1 // int n
        end local 0 // java.lang.invoke.LambdaForm$NamedFunction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/invoke/LambdaForm$NamedFunction;
            0    1     1     n  I
    MethodParameters:
      Name  Flags
      n     

  int arity();
    descriptor: ()I
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.invoke.LambdaForm$NamedFunction this
         0: .line 1260
            aload 0 /* this */
            invokevirtual java.lang.invoke.LambdaForm$NamedFunction.methodType:()Ljava/lang/invoke/MethodType;
            invokevirtual java.lang.invoke.MethodType.parameterCount:()I
            ireturn
        end local 0 // java.lang.invoke.LambdaForm$NamedFunction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/invoke/LambdaForm$NamedFunction;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.invoke.LambdaForm$NamedFunction this
         0: .line 1264
            aload 0 /* this */
            getfield java.lang.invoke.LambdaForm$NamedFunction.member:Ljava/lang/invoke/MemberName;
            ifnonnull 1
            aload 0 /* this */
            getfield java.lang.invoke.LambdaForm$NamedFunction.resolvedHandle:Ljava/lang/invoke/MethodHandle;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            areturn
         1: .line 1265
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield java.lang.invoke.LambdaForm$NamedFunction.member:Ljava/lang/invoke/MemberName;
            invokevirtual java.lang.invoke.MemberName.getDeclaringClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield java.lang.invoke.LambdaForm$NamedFunction.member:Ljava/lang/invoke/MemberName;
            invokevirtual java.lang.invoke.MemberName.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // java.lang.invoke.LambdaForm$NamedFunction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/lang/invoke/LambdaForm$NamedFunction;

  public boolean isIdentity();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.invoke.LambdaForm$NamedFunction this
         0: .line 1269
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual java.lang.invoke.LambdaForm$NamedFunction.returnType:()Ljava/lang/invoke/LambdaForm$BasicType;
            invokestatic java.lang.invoke.LambdaForm.identity:(Ljava/lang/invoke/LambdaForm$BasicType;)Ljava/lang/invoke/LambdaForm$NamedFunction;
            invokevirtual java.lang.invoke.LambdaForm$NamedFunction.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // java.lang.invoke.LambdaForm$NamedFunction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/invoke/LambdaForm$NamedFunction;

  public boolean isConstantZero();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.invoke.LambdaForm$NamedFunction this
         0: .line 1273
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual java.lang.invoke.LambdaForm$NamedFunction.returnType:()Ljava/lang/invoke/LambdaForm$BasicType;
            invokestatic java.lang.invoke.LambdaForm.constantZero:(Ljava/lang/invoke/LambdaForm$BasicType;)Ljava/lang/invoke/LambdaForm$NamedFunction;
            invokevirtual java.lang.invoke.LambdaForm$NamedFunction.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // java.lang.invoke.LambdaForm$NamedFunction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/invoke/LambdaForm$NamedFunction;

  public java.lang.invoke.MethodHandleImpl$Intrinsic intrinsicName();
    descriptor: ()Ljava/lang/invoke/MethodHandleImpl$Intrinsic;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.invoke.LambdaForm$NamedFunction this
         0: .line 1277
            aload 0 /* this */
            getfield java.lang.invoke.LambdaForm$NamedFunction.resolvedHandle:Ljava/lang/invoke/MethodHandle;
            ifnonnull 1
            getstatic java.lang.invoke.MethodHandleImpl$Intrinsic.NONE:Ljava/lang/invoke/MethodHandleImpl$Intrinsic;
            goto 2
         1: .line 1278
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.lang.invoke.LambdaForm$NamedFunction.resolvedHandle:Ljava/lang/invoke/MethodHandle;
            invokevirtual java.lang.invoke.MethodHandle.intrinsicName:()Ljava/lang/invoke/MethodHandleImpl$Intrinsic;
         2: .line 1277
      StackMap locals:
      StackMap stack: java.lang.invoke.MethodHandleImpl$Intrinsic
            areturn
        end local 0 // java.lang.invoke.LambdaForm$NamedFunction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/lang/invoke/LambdaForm$NamedFunction;
}
SourceFile: "LambdaForm.java"
NestHost: java.lang.invoke.LambdaForm
InnerClasses:
  final BasicType = java.lang.invoke.LambdaForm$BasicType of java.lang.invoke.LambdaForm
  abstract Hidden = java.lang.invoke.LambdaForm$Hidden of java.lang.invoke.LambdaForm
  NamedFunction = java.lang.invoke.LambdaForm$NamedFunction of java.lang.invoke.LambdaForm
  final Intrinsic = java.lang.invoke.MethodHandleImpl$Intrinsic of java.lang.invoke.MethodHandleImpl