public class org.springframework.expression.spel.CodeFlow implements org.springframework.asm.Opcodes
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.springframework.expression.spel.CodeFlow
  super_class: java.lang.Object
{
  private final java.lang.String className;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.springframework.asm.ClassWriter classWriter;
    descriptor: Lorg/springframework/asm/ClassWriter;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.Deque<java.util.List<java.lang.String>> compilationScopes;
    descriptor: Ljava/util/Deque;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Deque<Ljava/util/List<Ljava/lang/String;>;>;

  private java.util.List<org.springframework.expression.spel.CodeFlow$FieldAdder> fieldAdders;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<Lorg/springframework/expression/spel/CodeFlow$FieldAdder;>;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  private java.util.List<org.springframework.expression.spel.CodeFlow$ClinitAdder> clinitAdders;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<Lorg/springframework/expression/spel/CodeFlow$ClinitAdder;>;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  private int nextFieldId;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int nextFreeVariableId;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  public void <init>(java.lang.String, org.springframework.asm.ClassWriter);
    descriptor: (Ljava/lang/String;Lorg/springframework/asm/ClassWriter;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.springframework.expression.spel.CodeFlow this
        start local 1 // java.lang.String className
        start local 2 // org.springframework.asm.ClassWriter classWriter
         0: .line 98
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 84
            aload 0 /* this */
            iconst_1
            putfield org.springframework.expression.spel.CodeFlow.nextFieldId:I
         2: .line 90
            aload 0 /* this */
            iconst_1
            putfield org.springframework.expression.spel.CodeFlow.nextFreeVariableId:I
         3: .line 99
            aload 0 /* this */
            aload 1 /* className */
            putfield org.springframework.expression.spel.CodeFlow.className:Ljava/lang/String;
         4: .line 100
            aload 0 /* this */
            aload 2 /* classWriter */
            putfield org.springframework.expression.spel.CodeFlow.classWriter:Lorg/springframework/asm/ClassWriter;
         5: .line 101
            aload 0 /* this */
            new java.util.ArrayDeque
            dup
            invokespecial java.util.ArrayDeque.<init>:()V
            putfield org.springframework.expression.spel.CodeFlow.compilationScopes:Ljava/util/Deque;
         6: .line 102
            aload 0 /* this */
            getfield org.springframework.expression.spel.CodeFlow.compilationScopes:Ljava/util/Deque;
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            invokeinterface java.util.Deque.add:(Ljava/lang/Object;)Z
            pop
         7: .line 103
            return
        end local 2 // org.springframework.asm.ClassWriter classWriter
        end local 1 // java.lang.String className
        end local 0 // org.springframework.expression.spel.CodeFlow this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    8     0         this  Lorg/springframework/expression/spel/CodeFlow;
            0    8     1    className  Ljava/lang/String;
            0    8     2  classWriter  Lorg/springframework/asm/ClassWriter;
    MethodParameters:
             Name  Flags
      className    
      classWriter  

  public void loadTarget(org.springframework.asm.MethodVisitor);
    descriptor: (Lorg/springframework/asm/MethodVisitor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.springframework.expression.spel.CodeFlow this
        start local 1 // org.springframework.asm.MethodVisitor mv
         0: .line 112
            aload 1 /* mv */
            bipush 25
            iconst_1
            invokevirtual org.springframework.asm.MethodVisitor.visitVarInsn:(II)V
         1: .line 113
            return
        end local 1 // org.springframework.asm.MethodVisitor mv
        end local 0 // org.springframework.expression.spel.CodeFlow this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/springframework/expression/spel/CodeFlow;
            0    2     1    mv  Lorg/springframework/asm/MethodVisitor;
    MethodParameters:
      Name  Flags
      mv    

  public void loadEvaluationContext(org.springframework.asm.MethodVisitor);
    descriptor: (Lorg/springframework/asm/MethodVisitor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.springframework.expression.spel.CodeFlow this
        start local 1 // org.springframework.asm.MethodVisitor mv
         0: .line 122
            aload 1 /* mv */
            bipush 25
            iconst_2
            invokevirtual org.springframework.asm.MethodVisitor.visitVarInsn:(II)V
         1: .line 123
            return
        end local 1 // org.springframework.asm.MethodVisitor mv
        end local 0 // org.springframework.expression.spel.CodeFlow this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/springframework/expression/spel/CodeFlow;
            0    2     1    mv  Lorg/springframework/asm/MethodVisitor;
    MethodParameters:
      Name  Flags
      mv    

  public void pushDescriptor(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.expression.spel.CodeFlow this
        start local 1 // java.lang.String descriptor
         0: .line 130
            aload 1 /* descriptor */
            ifnull 2
         1: .line 131
            aload 0 /* this */
            getfield org.springframework.expression.spel.CodeFlow.compilationScopes:Ljava/util/Deque;
            invokeinterface java.util.Deque.element:()Ljava/lang/Object;
            checkcast java.util.List
            aload 1 /* descriptor */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         2: .line 133
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String descriptor
        end local 0 // org.springframework.expression.spel.CodeFlow this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Lorg/springframework/expression/spel/CodeFlow;
            0    3     1  descriptor  Ljava/lang/String;
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
    MethodParameters:
            Name  Flags
      descriptor  

  public void enterCompilationScope();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.springframework.expression.spel.CodeFlow this
         0: .line 141
            aload 0 /* this */
            getfield org.springframework.expression.spel.CodeFlow.compilationScopes:Ljava/util/Deque;
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            invokeinterface java.util.Deque.push:(Ljava/lang/Object;)V
         1: .line 142
            return
        end local 0 // org.springframework.expression.spel.CodeFlow this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/springframework/expression/spel/CodeFlow;

  public void exitCompilationScope();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.expression.spel.CodeFlow this
         0: .line 150
            aload 0 /* this */
            getfield org.springframework.expression.spel.CodeFlow.compilationScopes:Ljava/util/Deque;
            invokeinterface java.util.Deque.pop:()Ljava/lang/Object;
            pop
         1: .line 151
            return
        end local 0 // org.springframework.expression.spel.CodeFlow this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/springframework/expression/spel/CodeFlow;

  public java.lang.String lastDescriptor();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.expression.spel.CodeFlow this
         0: .line 158
            aload 0 /* this */
            getfield org.springframework.expression.spel.CodeFlow.compilationScopes:Ljava/util/Deque;
            invokeinterface java.util.Deque.peek:()Ljava/lang/Object;
            checkcast java.util.List
            invokestatic org.springframework.util.CollectionUtils.lastElement:(Ljava/util/List;)Ljava/lang/Object;
            checkcast java.lang.String
            areturn
        end local 0 // org.springframework.expression.spel.CodeFlow this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/expression/spel/CodeFlow;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  public void unboxBooleanIfNecessary(org.springframework.asm.MethodVisitor);
    descriptor: (Lorg/springframework/asm/MethodVisitor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // org.springframework.expression.spel.CodeFlow this
        start local 1 // org.springframework.asm.MethodVisitor mv
         0: .line 167
            ldc "Ljava/lang/Boolean"
            aload 0 /* this */
            invokevirtual org.springframework.expression.spel.CodeFlow.lastDescriptor:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 168
            aload 1 /* mv */
            sipush 182
            ldc "java/lang/Boolean"
            ldc "booleanValue"
            ldc "()Z"
            iconst_0
            invokevirtual org.springframework.asm.MethodVisitor.visitMethodInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
         2: .line 170
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.springframework.asm.MethodVisitor mv
        end local 0 // org.springframework.expression.spel.CodeFlow this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/springframework/expression/spel/CodeFlow;
            0    3     1    mv  Lorg/springframework/asm/MethodVisitor;
    MethodParameters:
      Name  Flags
      mv    

  public void finish();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=1
        start local 0 // org.springframework.expression.spel.CodeFlow this
         0: .line 178
            aload 0 /* this */
            getfield org.springframework.expression.spel.CodeFlow.fieldAdders:Ljava/util/List;
            ifnull 5
         1: .line 179
            aload 0 /* this */
            getfield org.springframework.expression.spel.CodeFlow.fieldAdders:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 2
            goto 4
      StackMap locals: org.springframework.expression.spel.CodeFlow top java.util.Iterator
      StackMap stack:
         2: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.springframework.expression.spel.CodeFlow$FieldAdder
            astore 1 /* fieldAdder */
        start local 1 // org.springframework.expression.spel.CodeFlow$FieldAdder fieldAdder
         3: .line 180
            aload 1 /* fieldAdder */
            aload 0 /* this */
            getfield org.springframework.expression.spel.CodeFlow.classWriter:Lorg/springframework/asm/ClassWriter;
            aload 0 /* this */
            invokeinterface org.springframework.expression.spel.CodeFlow$FieldAdder.generateField:(Lorg/springframework/asm/ClassWriter;Lorg/springframework/expression/spel/CodeFlow;)V
        end local 1 // org.springframework.expression.spel.CodeFlow$FieldAdder fieldAdder
         4: .line 179
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 183
      StackMap locals: org.springframework.expression.spel.CodeFlow
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.expression.spel.CodeFlow.clinitAdders:Ljava/util/List;
            ifnull 16
         6: .line 184
            aload 0 /* this */
            getfield org.springframework.expression.spel.CodeFlow.classWriter:Lorg/springframework/asm/ClassWriter;
            bipush 9
            ldc "<clinit>"
            ldc "()V"
            aconst_null
            aconst_null
            invokevirtual org.springframework.asm.ClassWriter.visitMethod:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Lorg/springframework/asm/MethodVisitor;
            astore 1 /* mv */
        start local 1 // org.springframework.asm.MethodVisitor mv
         7: .line 185
            aload 1 /* mv */
            invokevirtual org.springframework.asm.MethodVisitor.visitCode:()V
         8: .line 186
            aload 0 /* this */
            iconst_0
            putfield org.springframework.expression.spel.CodeFlow.nextFreeVariableId:I
         9: .line 187
            aload 0 /* this */
            getfield org.springframework.expression.spel.CodeFlow.clinitAdders:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 12
      StackMap locals: org.springframework.expression.spel.CodeFlow org.springframework.asm.MethodVisitor top java.util.Iterator
      StackMap stack:
        10: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.springframework.expression.spel.CodeFlow$ClinitAdder
            astore 2 /* clinitAdder */
        start local 2 // org.springframework.expression.spel.CodeFlow$ClinitAdder clinitAdder
        11: .line 188
            aload 2 /* clinitAdder */
            aload 1 /* mv */
            aload 0 /* this */
            invokeinterface org.springframework.expression.spel.CodeFlow$ClinitAdder.generateCode:(Lorg/springframework/asm/MethodVisitor;Lorg/springframework/expression/spel/CodeFlow;)V
        end local 2 // org.springframework.expression.spel.CodeFlow$ClinitAdder clinitAdder
        12: .line 187
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 10
        13: .line 190
            aload 1 /* mv */
            sipush 177
            invokevirtual org.springframework.asm.MethodVisitor.visitInsn:(I)V
        14: .line 191
            aload 1 /* mv */
            iconst_0
            iconst_0
            invokevirtual org.springframework.asm.MethodVisitor.visitMaxs:(II)V
        15: .line 192
            aload 1 /* mv */
            invokevirtual org.springframework.asm.MethodVisitor.visitEnd:()V
        end local 1 // org.springframework.asm.MethodVisitor mv
        16: .line 194
      StackMap locals: org.springframework.expression.spel.CodeFlow
      StackMap stack:
            return
        end local 0 // org.springframework.expression.spel.CodeFlow this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   17     0         this  Lorg/springframework/expression/spel/CodeFlow;
            3    4     1   fieldAdder  Lorg/springframework/expression/spel/CodeFlow$FieldAdder;
            7   16     1           mv  Lorg/springframework/asm/MethodVisitor;
           11   12     2  clinitAdder  Lorg/springframework/expression/spel/CodeFlow$ClinitAdder;

  public void registerNewField(org.springframework.expression.spel.CodeFlow$FieldAdder);
    descriptor: (Lorg/springframework/expression/spel/CodeFlow$FieldAdder;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.springframework.expression.spel.CodeFlow this
        start local 1 // org.springframework.expression.spel.CodeFlow$FieldAdder fieldAdder
         0: .line 202
            aload 0 /* this */
            getfield org.springframework.expression.spel.CodeFlow.fieldAdders:Ljava/util/List;
            ifnonnull 2
         1: .line 203
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.springframework.expression.spel.CodeFlow.fieldAdders:Ljava/util/List;
         2: .line 205
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.expression.spel.CodeFlow.fieldAdders:Ljava/util/List;
            aload 1 /* fieldAdder */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         3: .line 206
            return
        end local 1 // org.springframework.expression.spel.CodeFlow$FieldAdder fieldAdder
        end local 0 // org.springframework.expression.spel.CodeFlow this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lorg/springframework/expression/spel/CodeFlow;
            0    4     1  fieldAdder  Lorg/springframework/expression/spel/CodeFlow$FieldAdder;
    MethodParameters:
            Name  Flags
      fieldAdder  

  public void registerNewClinit(org.springframework.expression.spel.CodeFlow$ClinitAdder);
    descriptor: (Lorg/springframework/expression/spel/CodeFlow$ClinitAdder;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.springframework.expression.spel.CodeFlow this
        start local 1 // org.springframework.expression.spel.CodeFlow$ClinitAdder clinitAdder
         0: .line 214
            aload 0 /* this */
            getfield org.springframework.expression.spel.CodeFlow.clinitAdders:Ljava/util/List;
            ifnonnull 2
         1: .line 215
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.springframework.expression.spel.CodeFlow.clinitAdders:Ljava/util/List;
         2: .line 217
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.expression.spel.CodeFlow.clinitAdders:Ljava/util/List;
            aload 1 /* clinitAdder */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         3: .line 218
            return
        end local 1 // org.springframework.expression.spel.CodeFlow$ClinitAdder clinitAdder
        end local 0 // org.springframework.expression.spel.CodeFlow this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Lorg/springframework/expression/spel/CodeFlow;
            0    4     1  clinitAdder  Lorg/springframework/expression/spel/CodeFlow$ClinitAdder;
    MethodParameters:
             Name  Flags
      clinitAdder  

  public int nextFieldId();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.springframework.expression.spel.CodeFlow this
         0: .line 221
            aload 0 /* this */
            dup
            getfield org.springframework.expression.spel.CodeFlow.nextFieldId:I
            dup_x1
            iconst_1
            iadd
            putfield org.springframework.expression.spel.CodeFlow.nextFieldId:I
            ireturn
        end local 0 // org.springframework.expression.spel.CodeFlow this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/expression/spel/CodeFlow;

  public int nextFreeVariableId();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.springframework.expression.spel.CodeFlow this
         0: .line 225
            aload 0 /* this */
            dup
            getfield org.springframework.expression.spel.CodeFlow.nextFreeVariableId:I
            dup_x1
            iconst_1
            iadd
            putfield org.springframework.expression.spel.CodeFlow.nextFreeVariableId:I
            ireturn
        end local 0 // org.springframework.expression.spel.CodeFlow this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/expression/spel/CodeFlow;

  public java.lang.String getClassName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.expression.spel.CodeFlow this
         0: .line 229
            aload 0 /* this */
            getfield org.springframework.expression.spel.CodeFlow.className:Ljava/lang/String;
            areturn
        end local 0 // org.springframework.expression.spel.CodeFlow this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/expression/spel/CodeFlow;

  public static void insertUnboxInsns(org.springframework.asm.MethodVisitor, char, java.lang.String);
    descriptor: (Lorg/springframework/asm/MethodVisitor;CLjava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // org.springframework.asm.MethodVisitor mv
        start local 1 // char ch
        start local 2 // java.lang.String stackDescriptor
         0: .line 241
            aload 2 /* stackDescriptor */
            ifnonnull 2
         1: .line 242
            return
         2: .line 244
      StackMap locals:
      StackMap stack:
            iload 1 /* ch */
            lookupswitch { // 8
                   66: 7
                   67: 11
                   68: 15
                   70: 19
                   73: 23
                   74: 27
                   83: 31
                   90: 3
              default: 35
          }
         3: .line 246
      StackMap locals:
      StackMap stack:
            aload 2 /* stackDescriptor */
            ldc "Ljava/lang/Boolean"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 5
         4: .line 247
            aload 0 /* mv */
            sipush 192
            ldc "java/lang/Boolean"
            invokevirtual org.springframework.asm.MethodVisitor.visitTypeInsn:(ILjava/lang/String;)V
         5: .line 249
      StackMap locals:
      StackMap stack:
            aload 0 /* mv */
            sipush 182
            ldc "java/lang/Boolean"
            ldc "booleanValue"
            ldc "()Z"
            iconst_0
            invokevirtual org.springframework.asm.MethodVisitor.visitMethodInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
         6: .line 250
            goto 36
         7: .line 252
      StackMap locals:
      StackMap stack:
            aload 2 /* stackDescriptor */
            ldc "Ljava/lang/Byte"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 9
         8: .line 253
            aload 0 /* mv */
            sipush 192
            ldc "java/lang/Byte"
            invokevirtual org.springframework.asm.MethodVisitor.visitTypeInsn:(ILjava/lang/String;)V
         9: .line 255
      StackMap locals:
      StackMap stack:
            aload 0 /* mv */
            sipush 182
            ldc "java/lang/Byte"
            ldc "byteValue"
            ldc "()B"
            iconst_0
            invokevirtual org.springframework.asm.MethodVisitor.visitMethodInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
        10: .line 256
            goto 36
        11: .line 258
      StackMap locals:
      StackMap stack:
            aload 2 /* stackDescriptor */
            ldc "Ljava/lang/Character"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 13
        12: .line 259
            aload 0 /* mv */
            sipush 192
            ldc "java/lang/Character"
            invokevirtual org.springframework.asm.MethodVisitor.visitTypeInsn:(ILjava/lang/String;)V
        13: .line 261
      StackMap locals:
      StackMap stack:
            aload 0 /* mv */
            sipush 182
            ldc "java/lang/Character"
            ldc "charValue"
            ldc "()C"
            iconst_0
            invokevirtual org.springframework.asm.MethodVisitor.visitMethodInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
        14: .line 262
            goto 36
        15: .line 264
      StackMap locals:
      StackMap stack:
            aload 2 /* stackDescriptor */
            ldc "Ljava/lang/Double"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 17
        16: .line 265
            aload 0 /* mv */
            sipush 192
            ldc "java/lang/Double"
            invokevirtual org.springframework.asm.MethodVisitor.visitTypeInsn:(ILjava/lang/String;)V
        17: .line 267
      StackMap locals:
      StackMap stack:
            aload 0 /* mv */
            sipush 182
            ldc "java/lang/Double"
            ldc "doubleValue"
            ldc "()D"
            iconst_0
            invokevirtual org.springframework.asm.MethodVisitor.visitMethodInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
        18: .line 268
            goto 36
        19: .line 270
      StackMap locals:
      StackMap stack:
            aload 2 /* stackDescriptor */
            ldc "Ljava/lang/Float"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 21
        20: .line 271
            aload 0 /* mv */
            sipush 192
            ldc "java/lang/Float"
            invokevirtual org.springframework.asm.MethodVisitor.visitTypeInsn:(ILjava/lang/String;)V
        21: .line 273
      StackMap locals:
      StackMap stack:
            aload 0 /* mv */
            sipush 182
            ldc "java/lang/Float"
            ldc "floatValue"
            ldc "()F"
            iconst_0
            invokevirtual org.springframework.asm.MethodVisitor.visitMethodInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
        22: .line 274
            goto 36
        23: .line 276
      StackMap locals:
      StackMap stack:
            aload 2 /* stackDescriptor */
            ldc "Ljava/lang/Integer"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 25
        24: .line 277
            aload 0 /* mv */
            sipush 192
            ldc "java/lang/Integer"
            invokevirtual org.springframework.asm.MethodVisitor.visitTypeInsn:(ILjava/lang/String;)V
        25: .line 279
      StackMap locals:
      StackMap stack:
            aload 0 /* mv */
            sipush 182
            ldc "java/lang/Integer"
            ldc "intValue"
            ldc "()I"
            iconst_0
            invokevirtual org.springframework.asm.MethodVisitor.visitMethodInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
        26: .line 280
            goto 36
        27: .line 282
      StackMap locals:
      StackMap stack:
            aload 2 /* stackDescriptor */
            ldc "Ljava/lang/Long"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 29
        28: .line 283
            aload 0 /* mv */
            sipush 192
            ldc "java/lang/Long"
            invokevirtual org.springframework.asm.MethodVisitor.visitTypeInsn:(ILjava/lang/String;)V
        29: .line 285
      StackMap locals:
      StackMap stack:
            aload 0 /* mv */
            sipush 182
            ldc "java/lang/Long"
            ldc "longValue"
            ldc "()J"
            iconst_0
            invokevirtual org.springframework.asm.MethodVisitor.visitMethodInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
        30: .line 286
            goto 36
        31: .line 288
      StackMap locals:
      StackMap stack:
            aload 2 /* stackDescriptor */
            ldc "Ljava/lang/Short"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 33
        32: .line 289
            aload 0 /* mv */
            sipush 192
            ldc "java/lang/Short"
            invokevirtual org.springframework.asm.MethodVisitor.visitTypeInsn:(ILjava/lang/String;)V
        33: .line 291
      StackMap locals:
      StackMap stack:
            aload 0 /* mv */
            sipush 182
            ldc "java/lang/Short"
            ldc "shortValue"
            ldc "()S"
            iconst_0
            invokevirtual org.springframework.asm.MethodVisitor.visitMethodInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
        34: .line 292
            goto 36
        35: .line 294
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unboxing should not be attempted for descriptor '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* ch */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            ldc "'"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        36: .line 296
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.String stackDescriptor
        end local 1 // char ch
        end local 0 // org.springframework.asm.MethodVisitor mv
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   37     0               mv  Lorg/springframework/asm/MethodVisitor;
            0   37     1               ch  C
            0   37     2  stackDescriptor  Ljava/lang/String;
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
      2:
        org.springframework.lang.Nullable()
    MethodParameters:
                 Name  Flags
      mv               
      ch               
      stackDescriptor  

  public static void insertUnboxNumberInsns(org.springframework.asm.MethodVisitor, char, java.lang.String);
    descriptor: (Lorg/springframework/asm/MethodVisitor;CLjava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // org.springframework.asm.MethodVisitor mv
        start local 1 // char targetDescriptor
        start local 2 // java.lang.String stackDescriptor
         0: .line 307
            aload 2 /* stackDescriptor */
            ifnonnull 2
         1: .line 308
            return
         2: .line 311
      StackMap locals:
      StackMap stack:
            iload 1 /* targetDescriptor */
            tableswitch { // 68 - 74
                   68: 3
                   69: 19
                   70: 7
                   71: 19
                   72: 19
                   73: 15
                   74: 11
              default: 19
          }
         3: .line 313
      StackMap locals:
      StackMap stack:
            aload 2 /* stackDescriptor */
            ldc "Ljava/lang/Object"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 5
         4: .line 314
            aload 0 /* mv */
            sipush 192
            ldc "java/lang/Number"
            invokevirtual org.springframework.asm.MethodVisitor.visitTypeInsn:(ILjava/lang/String;)V
         5: .line 316
      StackMap locals:
      StackMap stack:
            aload 0 /* mv */
            sipush 182
            ldc "java/lang/Number"
            ldc "doubleValue"
            ldc "()D"
            iconst_0
            invokevirtual org.springframework.asm.MethodVisitor.visitMethodInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
         6: .line 317
            goto 20
         7: .line 319
      StackMap locals:
      StackMap stack:
            aload 2 /* stackDescriptor */
            ldc "Ljava/lang/Object"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 9
         8: .line 320
            aload 0 /* mv */
            sipush 192
            ldc "java/lang/Number"
            invokevirtual org.springframework.asm.MethodVisitor.visitTypeInsn:(ILjava/lang/String;)V
         9: .line 322
      StackMap locals:
      StackMap stack:
            aload 0 /* mv */
            sipush 182
            ldc "java/lang/Number"
            ldc "floatValue"
            ldc "()F"
            iconst_0
            invokevirtual org.springframework.asm.MethodVisitor.visitMethodInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
        10: .line 323
            goto 20
        11: .line 325
      StackMap locals:
      StackMap stack:
            aload 2 /* stackDescriptor */
            ldc "Ljava/lang/Object"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 13
        12: .line 326
            aload 0 /* mv */
            sipush 192
            ldc "java/lang/Number"
            invokevirtual org.springframework.asm.MethodVisitor.visitTypeInsn:(ILjava/lang/String;)V
        13: .line 328
      StackMap locals:
      StackMap stack:
            aload 0 /* mv */
            sipush 182
            ldc "java/lang/Number"
            ldc "longValue"
            ldc "()J"
            iconst_0
            invokevirtual org.springframework.asm.MethodVisitor.visitMethodInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
        14: .line 329
            goto 20
        15: .line 331
      StackMap locals:
      StackMap stack:
            aload 2 /* stackDescriptor */
            ldc "Ljava/lang/Object"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 17
        16: .line 332
            aload 0 /* mv */
            sipush 192
            ldc "java/lang/Number"
            invokevirtual org.springframework.asm.MethodVisitor.visitTypeInsn:(ILjava/lang/String;)V
        17: .line 334
      StackMap locals:
      StackMap stack:
            aload 0 /* mv */
            sipush 182
            ldc "java/lang/Number"
            ldc "intValue"
            ldc "()I"
            iconst_0
            invokevirtual org.springframework.asm.MethodVisitor.visitMethodInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
        18: .line 335
            goto 20
        19: .line 338
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unboxing should not be attempted for descriptor '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* targetDescriptor */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            ldc "'"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        20: .line 340
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.String stackDescriptor
        end local 1 // char targetDescriptor
        end local 0 // org.springframework.asm.MethodVisitor mv
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   21     0                mv  Lorg/springframework/asm/MethodVisitor;
            0   21     1  targetDescriptor  C
            0   21     2   stackDescriptor  Ljava/lang/String;
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
      2:
        org.springframework.lang.Nullable()
    MethodParameters:
                  Name  Flags
      mv                
      targetDescriptor  
      stackDescriptor   

  public static void insertAnyNecessaryTypeConversionBytecodes(org.springframework.asm.MethodVisitor, char, java.lang.String);
    descriptor: (Lorg/springframework/asm/MethodVisitor;CLjava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // org.springframework.asm.MethodVisitor mv
        start local 1 // char targetDescriptor
        start local 2 // java.lang.String stackDescriptor
         0: .line 349
            aload 2 /* stackDescriptor */
            invokestatic org.springframework.expression.spel.CodeFlow.isPrimitive:(Ljava/lang/String;)Z
            ifeq 50
         1: .line 350
            aload 2 /* stackDescriptor */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            istore 3 /* stackTop */
        start local 3 // char stackTop
         2: .line 351
            iload 3 /* stackTop */
            bipush 73
            if_icmpeq 3
            iload 3 /* stackTop */
            bipush 66
            if_icmpeq 3
            iload 3 /* stackTop */
            bipush 83
            if_icmpeq 3
            iload 3 /* stackTop */
            bipush 67
            if_icmpne 14
         3: .line 352
      StackMap locals: int
      StackMap stack:
            iload 1 /* targetDescriptor */
            bipush 68
            if_icmpne 6
         4: .line 353
            aload 0 /* mv */
            sipush 135
            invokevirtual org.springframework.asm.MethodVisitor.visitInsn:(I)V
         5: .line 354
            goto 50
         6: .line 355
      StackMap locals:
      StackMap stack:
            iload 1 /* targetDescriptor */
            bipush 70
            if_icmpne 9
         7: .line 356
            aload 0 /* mv */
            sipush 134
            invokevirtual org.springframework.asm.MethodVisitor.visitInsn:(I)V
         8: .line 357
            goto 50
         9: .line 358
      StackMap locals:
      StackMap stack:
            iload 1 /* targetDescriptor */
            bipush 74
            if_icmpne 12
        10: .line 359
            aload 0 /* mv */
            sipush 133
            invokevirtual org.springframework.asm.MethodVisitor.visitInsn:(I)V
        11: .line 360
            goto 50
        12: .line 361
      StackMap locals:
      StackMap stack:
            iload 1 /* targetDescriptor */
            bipush 73
            if_icmpeq 50
        13: .line 365
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Cannot get from "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 3 /* stackTop */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            ldc " to "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 1 /* targetDescriptor */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        14: .line 368
      StackMap locals:
      StackMap stack:
            iload 3 /* stackTop */
            bipush 74
            if_icmpne 26
        15: .line 369
            iload 1 /* targetDescriptor */
            bipush 68
            if_icmpne 18
        16: .line 370
            aload 0 /* mv */
            sipush 138
            invokevirtual org.springframework.asm.MethodVisitor.visitInsn:(I)V
        17: .line 371
            goto 50
        18: .line 372
      StackMap locals:
      StackMap stack:
            iload 1 /* targetDescriptor */
            bipush 70
            if_icmpne 21
        19: .line 373
            aload 0 /* mv */
            sipush 137
            invokevirtual org.springframework.asm.MethodVisitor.visitInsn:(I)V
        20: .line 374
            goto 50
        21: .line 375
      StackMap locals:
      StackMap stack:
            iload 1 /* targetDescriptor */
            bipush 74
            if_icmpeq 50
        22: .line 378
            iload 1 /* targetDescriptor */
            bipush 73
            if_icmpne 25
        23: .line 379
            aload 0 /* mv */
            sipush 136
            invokevirtual org.springframework.asm.MethodVisitor.visitInsn:(I)V
        24: .line 380
            goto 50
        25: .line 382
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Cannot get from "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 3 /* stackTop */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            ldc " to "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 1 /* targetDescriptor */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        26: .line 385
      StackMap locals:
      StackMap stack:
            iload 3 /* stackTop */
            bipush 70
            if_icmpne 38
        27: .line 386
            iload 1 /* targetDescriptor */
            bipush 68
            if_icmpne 30
        28: .line 387
            aload 0 /* mv */
            sipush 141
            invokevirtual org.springframework.asm.MethodVisitor.visitInsn:(I)V
        29: .line 388
            goto 50
        30: .line 389
      StackMap locals:
      StackMap stack:
            iload 1 /* targetDescriptor */
            bipush 70
            if_icmpeq 50
        31: .line 392
            iload 1 /* targetDescriptor */
            bipush 74
            if_icmpne 34
        32: .line 393
            aload 0 /* mv */
            sipush 140
            invokevirtual org.springframework.asm.MethodVisitor.visitInsn:(I)V
        33: .line 394
            goto 50
        34: .line 395
      StackMap locals:
      StackMap stack:
            iload 1 /* targetDescriptor */
            bipush 73
            if_icmpne 37
        35: .line 396
            aload 0 /* mv */
            sipush 139
            invokevirtual org.springframework.asm.MethodVisitor.visitInsn:(I)V
        36: .line 397
            goto 50
        37: .line 399
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Cannot get from "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 3 /* stackTop */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            ldc " to "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 1 /* targetDescriptor */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        38: .line 402
      StackMap locals:
      StackMap stack:
            iload 3 /* stackTop */
            bipush 68
            if_icmpne 50
        39: .line 403
            iload 1 /* targetDescriptor */
            bipush 68
            if_icmpeq 50
        40: .line 406
            iload 1 /* targetDescriptor */
            bipush 70
            if_icmpne 43
        41: .line 407
            aload 0 /* mv */
            sipush 144
            invokevirtual org.springframework.asm.MethodVisitor.visitInsn:(I)V
        42: .line 408
            goto 50
        43: .line 409
      StackMap locals:
      StackMap stack:
            iload 1 /* targetDescriptor */
            bipush 74
            if_icmpne 46
        44: .line 410
            aload 0 /* mv */
            sipush 143
            invokevirtual org.springframework.asm.MethodVisitor.visitInsn:(I)V
        45: .line 411
            goto 50
        46: .line 412
      StackMap locals:
      StackMap stack:
            iload 1 /* targetDescriptor */
            bipush 73
            if_icmpne 49
        47: .line 413
            aload 0 /* mv */
            sipush 142
            invokevirtual org.springframework.asm.MethodVisitor.visitInsn:(I)V
        48: .line 414
            goto 50
        49: .line 416
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Cannot get from "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* stackDescriptor */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " to "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 1 /* targetDescriptor */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // char stackTop
        50: .line 420
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.String stackDescriptor
        end local 1 // char targetDescriptor
        end local 0 // org.springframework.asm.MethodVisitor mv
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   51     0                mv  Lorg/springframework/asm/MethodVisitor;
            0   51     1  targetDescriptor  C
            0   51     2   stackDescriptor  Ljava/lang/String;
            2   50     3          stackTop  C
    MethodParameters:
                  Name  Flags
      mv                
      targetDescriptor  
      stackDescriptor   

  public static java.lang.String createSignatureDescriptor(java.lang.reflect.Method);
    descriptor: (Ljava/lang/reflect/Method;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=7, args_size=1
        start local 0 // java.lang.reflect.Method method
         0: .line 433
            aload 0 /* method */
            invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
            astore 1 /* params */
        start local 1 // java.lang.Class[] params
         1: .line 434
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* sb */
        start local 2 // java.lang.StringBuilder sb
         2: .line 435
            aload 2 /* sb */
            ldc "("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         3: .line 436
            aload 1 /* params */
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 7
      StackMap locals: java.lang.reflect.Method java.lang.Class[] java.lang.StringBuilder top int int java.lang.Class[]
      StackMap stack:
         4: aload 6
            iload 4
            aaload
            astore 3 /* param */
        start local 3 // java.lang.Class param
         5: .line 437
            aload 2 /* sb */
            aload 3 /* param */
            invokestatic org.springframework.expression.spel.CodeFlow.toJvmDescriptor:(Ljava/lang/Class;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 3 // java.lang.Class param
         6: .line 436
            iinc 4 1
      StackMap locals:
      StackMap stack:
         7: iload 4
            iload 5
            if_icmplt 4
         8: .line 439
            aload 2 /* sb */
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         9: .line 440
            aload 2 /* sb */
            aload 0 /* method */
            invokevirtual java.lang.reflect.Method.getReturnType:()Ljava/lang/Class;
            invokestatic org.springframework.expression.spel.CodeFlow.toJvmDescriptor:(Ljava/lang/Class;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        10: .line 441
            aload 2 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.StringBuilder sb
        end local 1 // java.lang.Class[] params
        end local 0 // java.lang.reflect.Method method
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     0  method  Ljava/lang/reflect/Method;
            1   11     1  params  [Ljava/lang/Class;
            2   11     2      sb  Ljava/lang/StringBuilder;
            5    6     3   param  Ljava/lang/Class<*>;
    MethodParameters:
        Name  Flags
      method  

  public static java.lang.String createSignatureDescriptor(java.lang.reflect.Constructor<?>);
    descriptor: (Ljava/lang/reflect/Constructor;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=7, args_size=1
        start local 0 // java.lang.reflect.Constructor ctor
         0: .line 454
            aload 0 /* ctor */
            invokevirtual java.lang.reflect.Constructor.getParameterTypes:()[Ljava/lang/Class;
            astore 1 /* params */
        start local 1 // java.lang.Class[] params
         1: .line 455
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* sb */
        start local 2 // java.lang.StringBuilder sb
         2: .line 456
            aload 2 /* sb */
            ldc "("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         3: .line 457
            aload 1 /* params */
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 7
      StackMap locals: java.lang.reflect.Constructor java.lang.Class[] java.lang.StringBuilder top int int java.lang.Class[]
      StackMap stack:
         4: aload 6
            iload 4
            aaload
            astore 3 /* param */
        start local 3 // java.lang.Class param
         5: .line 458
            aload 2 /* sb */
            aload 3 /* param */
            invokestatic org.springframework.expression.spel.CodeFlow.toJvmDescriptor:(Ljava/lang/Class;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 3 // java.lang.Class param
         6: .line 457
            iinc 4 1
      StackMap locals:
      StackMap stack:
         7: iload 4
            iload 5
            if_icmplt 4
         8: .line 460
            aload 2 /* sb */
            ldc ")V"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         9: .line 461
            aload 2 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.StringBuilder sb
        end local 1 // java.lang.Class[] params
        end local 0 // java.lang.reflect.Constructor ctor
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0    ctor  Ljava/lang/reflect/Constructor<*>;
            1   10     1  params  [Ljava/lang/Class;
            2   10     2      sb  Ljava/lang/StringBuilder;
            5    6     3   param  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/reflect/Constructor<*>;)Ljava/lang/String;
    MethodParameters:
      Name  Flags
      ctor  

  public static java.lang.String toJvmDescriptor(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // java.lang.Class clazz
         0: .line 473
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 1 /* sb */
        start local 1 // java.lang.StringBuilder sb
         1: .line 474
            aload 0 /* clazz */
            invokevirtual java.lang.Class.isArray:()Z
            ifeq 6
         2: .line 475
            goto 5
         3: .line 476
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            aload 1 /* sb */
            ldc "["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         4: .line 477
            aload 0 /* clazz */
            invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
            astore 0 /* clazz */
         5: .line 475
      StackMap locals:
      StackMap stack:
            aload 0 /* clazz */
            invokevirtual java.lang.Class.isArray:()Z
            ifne 3
         6: .line 480
      StackMap locals:
      StackMap stack:
            aload 0 /* clazz */
            invokevirtual java.lang.Class.isPrimitive:()Z
            ifeq 34
         7: .line 481
            aload 0 /* clazz */
            getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
            if_acmpne 10
         8: .line 482
            aload 1 /* sb */
            bipush 90
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         9: .line 483
            goto 37
        10: .line 484
      StackMap locals:
      StackMap stack:
            aload 0 /* clazz */
            getstatic java.lang.Byte.TYPE:Ljava/lang/Class;
            if_acmpne 13
        11: .line 485
            aload 1 /* sb */
            bipush 66
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        12: .line 486
            goto 37
        13: .line 487
      StackMap locals:
      StackMap stack:
            aload 0 /* clazz */
            getstatic java.lang.Character.TYPE:Ljava/lang/Class;
            if_acmpne 16
        14: .line 488
            aload 1 /* sb */
            bipush 67
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        15: .line 489
            goto 37
        16: .line 490
      StackMap locals:
      StackMap stack:
            aload 0 /* clazz */
            getstatic java.lang.Double.TYPE:Ljava/lang/Class;
            if_acmpne 19
        17: .line 491
            aload 1 /* sb */
            bipush 68
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        18: .line 492
            goto 37
        19: .line 493
      StackMap locals:
      StackMap stack:
            aload 0 /* clazz */
            getstatic java.lang.Float.TYPE:Ljava/lang/Class;
            if_acmpne 22
        20: .line 494
            aload 1 /* sb */
            bipush 70
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        21: .line 495
            goto 37
        22: .line 496
      StackMap locals:
      StackMap stack:
            aload 0 /* clazz */
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            if_acmpne 25
        23: .line 497
            aload 1 /* sb */
            bipush 73
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        24: .line 498
            goto 37
        25: .line 499
      StackMap locals:
      StackMap stack:
            aload 0 /* clazz */
            getstatic java.lang.Long.TYPE:Ljava/lang/Class;
            if_acmpne 28
        26: .line 500
            aload 1 /* sb */
            bipush 74
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        27: .line 501
            goto 37
        28: .line 502
      StackMap locals:
      StackMap stack:
            aload 0 /* clazz */
            getstatic java.lang.Short.TYPE:Ljava/lang/Class;
            if_acmpne 31
        29: .line 503
            aload 1 /* sb */
            bipush 83
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        30: .line 504
            goto 37
        31: .line 505
      StackMap locals:
      StackMap stack:
            aload 0 /* clazz */
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            if_acmpne 37
        32: .line 506
            aload 1 /* sb */
            bipush 86
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        33: .line 508
            goto 37
        34: .line 510
      StackMap locals:
      StackMap stack:
            aload 1 /* sb */
            ldc "L"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        35: .line 511
            aload 1 /* sb */
            aload 0 /* clazz */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            bipush 46
            bipush 47
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        36: .line 512
            aload 1 /* sb */
            ldc ";"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        37: .line 514
      StackMap locals:
      StackMap stack:
            aload 1 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuilder sb
        end local 0 // java.lang.Class clazz
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   38     0  clazz  Ljava/lang/Class<*>;
            1   38     1     sb  Ljava/lang/StringBuilder;
    Signature: (Ljava/lang/Class<*>;)Ljava/lang/String;
    MethodParameters:
       Name  Flags
      clazz  

  public static java.lang.String toDescriptorFromObject(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object value
         0: .line 524
            aload 0 /* value */
            ifnonnull 2
         1: .line 525
            ldc "Ljava/lang/Object"
            areturn
         2: .line 528
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokestatic org.springframework.expression.spel.CodeFlow.toDescriptor:(Ljava/lang/Class;)Ljava/lang/String;
            areturn
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0  value  Ljava/lang/Object;
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
    MethodParameters:
       Name  Flags
      value  

  public static boolean isBooleanCompatible(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String descriptor
         0: .line 538
            aload 0 /* descriptor */
            ifnull 2
            aload 0 /* descriptor */
            ldc "Z"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 1
            aload 0 /* descriptor */
            ldc "Ljava/lang/Boolean"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         2: iconst_0
            ireturn
        end local 0 // java.lang.String descriptor
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0  descriptor  Ljava/lang/String;
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
    MethodParameters:
            Name  Flags
      descriptor  

  public static boolean isPrimitive(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String descriptor
         0: .line 547
            aload 0 /* descriptor */
            ifnull 1
            aload 0 /* descriptor */
            invokevirtual java.lang.String.length:()I
            iconst_1
            if_icmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // java.lang.String descriptor
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0  descriptor  Ljava/lang/String;
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
    MethodParameters:
            Name  Flags
      descriptor  

  public static boolean isPrimitiveArray(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=5, args_size=1
        start local 0 // java.lang.String descriptor
         0: .line 556
            aload 0 /* descriptor */
            ifnonnull 2
         1: .line 557
            iconst_0
            ireturn
         2: .line 559
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 1 /* primitive */
        start local 1 // boolean primitive
         3: .line 560
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         4: aload 0 /* descriptor */
            invokevirtual java.lang.String.length:()I
            istore 3 /* max */
        start local 3 // int max
         5: goto 14
         6: .line 561
      StackMap locals: int int int
      StackMap stack:
            aload 0 /* descriptor */
            iload 2 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 4 /* ch */
        start local 4 // char ch
         7: .line 562
            iload 4 /* ch */
            bipush 91
            if_icmpne 9
         8: .line 563
            goto 13
         9: .line 565
      StackMap locals: int
      StackMap stack:
            iload 4 /* ch */
            bipush 76
            if_icmpeq 10
            iconst_1
            goto 11
      StackMap locals:
      StackMap stack:
        10: iconst_0
      StackMap locals:
      StackMap stack: int
        11: istore 1 /* primitive */
        12: .line 566
            goto 15
        end local 4 // char ch
        13: .line 560
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        14: iload 2 /* i */
            iload 3 /* max */
            if_icmplt 6
        end local 3 // int max
        end local 2 // int i
        15: .line 568
      StackMap locals:
      StackMap stack:
            iload 1 /* primitive */
            ireturn
        end local 1 // boolean primitive
        end local 0 // java.lang.String descriptor
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   16     0  descriptor  Ljava/lang/String;
            3   16     1   primitive  Z
            4   15     2           i  I
            5   15     3         max  I
            7   13     4          ch  C
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
    MethodParameters:
            Name  Flags
      descriptor  

  public static boolean areBoxingCompatible(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.String desc1
        start local 1 // java.lang.String desc2
         0: .line 577
            aload 0 /* desc1 */
            aload 1 /* desc2 */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 578
            iconst_1
            ireturn
         2: .line 580
      StackMap locals:
      StackMap stack:
            aload 0 /* desc1 */
            invokevirtual java.lang.String.length:()I
            iconst_1
            if_icmpne 13
         3: .line 581
            aload 0 /* desc1 */
            ldc "Z"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 5
         4: .line 582
            aload 1 /* desc2 */
            ldc "Ljava/lang/Boolean"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ireturn
         5: .line 584
      StackMap locals:
      StackMap stack:
            aload 0 /* desc1 */
            ldc "D"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 7
         6: .line 585
            aload 1 /* desc2 */
            ldc "Ljava/lang/Double"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ireturn
         7: .line 587
      StackMap locals:
      StackMap stack:
            aload 0 /* desc1 */
            ldc "F"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 9
         8: .line 588
            aload 1 /* desc2 */
            ldc "Ljava/lang/Float"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ireturn
         9: .line 590
      StackMap locals:
      StackMap stack:
            aload 0 /* desc1 */
            ldc "I"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 11
        10: .line 591
            aload 1 /* desc2 */
            ldc "Ljava/lang/Integer"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ireturn
        11: .line 593
      StackMap locals:
      StackMap stack:
            aload 0 /* desc1 */
            ldc "J"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 24
        12: .line 594
            aload 1 /* desc2 */
            ldc "Ljava/lang/Long"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ireturn
        13: .line 597
      StackMap locals:
      StackMap stack:
            aload 1 /* desc2 */
            invokevirtual java.lang.String.length:()I
            iconst_1
            if_icmpne 24
        14: .line 598
            aload 1 /* desc2 */
            ldc "Z"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 16
        15: .line 599
            aload 0 /* desc1 */
            ldc "Ljava/lang/Boolean"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ireturn
        16: .line 601
      StackMap locals:
      StackMap stack:
            aload 1 /* desc2 */
            ldc "D"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 18
        17: .line 602
            aload 0 /* desc1 */
            ldc "Ljava/lang/Double"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ireturn
        18: .line 604
      StackMap locals:
      StackMap stack:
            aload 1 /* desc2 */
            ldc "F"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 20
        19: .line 605
            aload 0 /* desc1 */
            ldc "Ljava/lang/Float"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ireturn
        20: .line 607
      StackMap locals:
      StackMap stack:
            aload 1 /* desc2 */
            ldc "I"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 22
        21: .line 608
            aload 0 /* desc1 */
            ldc "Ljava/lang/Integer"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ireturn
        22: .line 610
      StackMap locals:
      StackMap stack:
            aload 1 /* desc2 */
            ldc "J"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 24
        23: .line 611
            aload 0 /* desc1 */
            ldc "Ljava/lang/Long"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ireturn
        24: .line 614
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // java.lang.String desc2
        end local 0 // java.lang.String desc1
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   25     0  desc1  Ljava/lang/String;
            0   25     1  desc2  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      desc1  
      desc2  

  public static boolean isPrimitiveOrUnboxableSupportedNumberOrBoolean(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String descriptor
         0: .line 625
            aload 0 /* descriptor */
            ifnonnull 2
         1: .line 626
            iconst_0
            ireturn
         2: .line 628
      StackMap locals:
      StackMap stack:
            aload 0 /* descriptor */
            invokestatic org.springframework.expression.spel.CodeFlow.isPrimitiveOrUnboxableSupportedNumber:(Ljava/lang/String;)Z
            ifeq 4
         3: .line 629
            iconst_1
            ireturn
         4: .line 631
      StackMap locals:
      StackMap stack:
            ldc "Z"
            aload 0 /* descriptor */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 5
            aload 0 /* descriptor */
            ldc "Ljava/lang/Boolean"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 5
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         5: iconst_1
            ireturn
        end local 0 // java.lang.String descriptor
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0  descriptor  Ljava/lang/String;
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
    MethodParameters:
            Name  Flags
      descriptor  

  public static boolean isPrimitiveOrUnboxableSupportedNumber(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.lang.String descriptor
         0: .line 642
            aload 0 /* descriptor */
            ifnonnull 2
         1: .line 643
            iconst_0
            ireturn
         2: .line 645
      StackMap locals:
      StackMap stack:
            aload 0 /* descriptor */
            invokevirtual java.lang.String.length:()I
            iconst_1
            if_icmpne 4
         3: .line 646
            ldc "DFIJ"
            aload 0 /* descriptor */
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ireturn
         4: .line 648
      StackMap locals:
      StackMap stack:
            aload 0 /* descriptor */
            ldc "Ljava/lang/"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 8
         5: .line 649
            aload 0 /* descriptor */
            ldc "Ljava/lang/"
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 1 /* name */
        start local 1 // java.lang.String name
         6: .line 650
            aload 1 /* name */
            ldc "Double"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 7
            aload 1 /* name */
            ldc "Float"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 7
            aload 1 /* name */
            ldc "Integer"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 7
            aload 1 /* name */
            ldc "Long"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 8
         7: .line 651
      StackMap locals: java.lang.String
      StackMap stack:
            iconst_1
            ireturn
        end local 1 // java.lang.String name
         8: .line 654
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // java.lang.String descriptor
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0  descriptor  Ljava/lang/String;
            6    8     1        name  Ljava/lang/String;
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
    MethodParameters:
            Name  Flags
      descriptor  

  public static boolean isIntegerForNumericOp(java.lang.Number);
    descriptor: (Ljava/lang/Number;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Number number
         0: .line 664
            aload 0 /* number */
            instanceof java.lang.Integer
            ifne 1
            aload 0 /* number */
            instanceof java.lang.Short
            ifne 1
            aload 0 /* number */
            instanceof java.lang.Byte
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // java.lang.Number number
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0  number  Ljava/lang/Number;
    MethodParameters:
        Name  Flags
      number  

  public static char toPrimitiveTargetDesc(java.lang.String);
    descriptor: (Ljava/lang/String;)C
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // java.lang.String descriptor
         0: .line 673
            aload 0 /* descriptor */
            invokevirtual java.lang.String.length:()I
            iconst_1
            if_icmpne 2
         1: .line 674
            aload 0 /* descriptor */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            ireturn
         2: .line 676
      StackMap locals:
      StackMap stack:
            aload 0 /* descriptor */
            ldc "Ljava/lang/Boolean"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 677
            bipush 90
            ireturn
         4: .line 679
      StackMap locals:
      StackMap stack:
            aload 0 /* descriptor */
            ldc "Ljava/lang/Byte"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 6
         5: .line 680
            bipush 66
            ireturn
         6: .line 682
      StackMap locals:
      StackMap stack:
            aload 0 /* descriptor */
            ldc "Ljava/lang/Character"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 8
         7: .line 683
            bipush 67
            ireturn
         8: .line 685
      StackMap locals:
      StackMap stack:
            aload 0 /* descriptor */
            ldc "Ljava/lang/Double"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 10
         9: .line 686
            bipush 68
            ireturn
        10: .line 688
      StackMap locals:
      StackMap stack:
            aload 0 /* descriptor */
            ldc "Ljava/lang/Float"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 12
        11: .line 689
            bipush 70
            ireturn
        12: .line 691
      StackMap locals:
      StackMap stack:
            aload 0 /* descriptor */
            ldc "Ljava/lang/Integer"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 14
        13: .line 692
            bipush 73
            ireturn
        14: .line 694
      StackMap locals:
      StackMap stack:
            aload 0 /* descriptor */
            ldc "Ljava/lang/Long"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 16
        15: .line 695
            bipush 74
            ireturn
        16: .line 697
      StackMap locals:
      StackMap stack:
            aload 0 /* descriptor */
            ldc "Ljava/lang/Short"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 18
        17: .line 698
            bipush 83
            ireturn
        18: .line 701
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "No primitive for '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* descriptor */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "'"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // java.lang.String descriptor
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   19     0  descriptor  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      descriptor  

  public static void insertCheckCast(org.springframework.asm.MethodVisitor, java.lang.String);
    descriptor: (Lorg/springframework/asm/MethodVisitor;Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.springframework.asm.MethodVisitor mv
        start local 1 // java.lang.String descriptor
         0: .line 711
            aload 1 /* descriptor */
            ifnull 9
            aload 1 /* descriptor */
            invokevirtual java.lang.String.length:()I
            iconst_1
            if_icmpeq 9
         1: .line 712
            aload 1 /* descriptor */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            bipush 91
            if_icmpne 7
         2: .line 713
            aload 1 /* descriptor */
            invokestatic org.springframework.expression.spel.CodeFlow.isPrimitiveArray:(Ljava/lang/String;)Z
            ifeq 5
         3: .line 714
            aload 0 /* mv */
            sipush 192
            aload 1 /* descriptor */
            invokevirtual org.springframework.asm.MethodVisitor.visitTypeInsn:(ILjava/lang/String;)V
         4: .line 715
            goto 9
         5: .line 717
      StackMap locals:
      StackMap stack:
            aload 0 /* mv */
            sipush 192
            new java.lang.StringBuilder
            dup
            aload 1 /* descriptor */
            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;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.springframework.asm.MethodVisitor.visitTypeInsn:(ILjava/lang/String;)V
         6: .line 719
            goto 9
         7: .line 721
      StackMap locals:
      StackMap stack:
            aload 1 /* descriptor */
            ldc "Ljava/lang/Object"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 9
         8: .line 723
            aload 0 /* mv */
            sipush 192
            aload 1 /* descriptor */
            iconst_1
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual org.springframework.asm.MethodVisitor.visitTypeInsn:(ILjava/lang/String;)V
         9: .line 727
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String descriptor
        end local 0 // org.springframework.asm.MethodVisitor mv
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   10     0          mv  Lorg/springframework/asm/MethodVisitor;
            0   10     1  descriptor  Ljava/lang/String;
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
        org.springframework.lang.Nullable()
    MethodParameters:
            Name  Flags
      mv          
      descriptor  

  public static void insertBoxIfNecessary(org.springframework.asm.MethodVisitor, java.lang.String);
    descriptor: (Lorg/springframework/asm/MethodVisitor;Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.springframework.asm.MethodVisitor mv
        start local 1 // java.lang.String descriptor
         0: .line 736
            aload 1 /* descriptor */
            ifnull 2
            aload 1 /* descriptor */
            invokevirtual java.lang.String.length:()I
            iconst_1
            if_icmpne 2
         1: .line 737
            aload 0 /* mv */
            aload 1 /* descriptor */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic org.springframework.expression.spel.CodeFlow.insertBoxIfNecessary:(Lorg/springframework/asm/MethodVisitor;C)V
         2: .line 739
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String descriptor
        end local 0 // org.springframework.asm.MethodVisitor mv
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0          mv  Lorg/springframework/asm/MethodVisitor;
            0    3     1  descriptor  Ljava/lang/String;
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
        org.springframework.lang.Nullable()
    MethodParameters:
            Name  Flags
      mv          
      descriptor  

  public static void insertBoxIfNecessary(org.springframework.asm.MethodVisitor, char);
    descriptor: (Lorg/springframework/asm/MethodVisitor;C)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // org.springframework.asm.MethodVisitor mv
        start local 1 // char ch
         0: .line 748
            iload 1 /* ch */
            tableswitch { // 66 - 91
                   66: 3
                   67: 5
                   68: 7
                   69: 18
                   70: 9
                   71: 18
                   72: 18
                   73: 11
                   74: 13
                   75: 18
                   76: 17
                   77: 18
                   78: 18
                   79: 18
                   80: 18
                   81: 18
                   82: 18
                   83: 15
                   84: 18
                   85: 18
                   86: 17
                   87: 18
                   88: 18
                   89: 18
                   90: 1
                   91: 17
              default: 18
          }
         1: .line 750
      StackMap locals:
      StackMap stack:
            aload 0 /* mv */
            sipush 184
            ldc "java/lang/Boolean"
            ldc "valueOf"
            ldc "(Z)Ljava/lang/Boolean;"
            iconst_0
            invokevirtual org.springframework.asm.MethodVisitor.visitMethodInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
         2: .line 751
            goto 19
         3: .line 753
      StackMap locals:
      StackMap stack:
            aload 0 /* mv */
            sipush 184
            ldc "java/lang/Byte"
            ldc "valueOf"
            ldc "(B)Ljava/lang/Byte;"
            iconst_0
            invokevirtual org.springframework.asm.MethodVisitor.visitMethodInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
         4: .line 754
            goto 19
         5: .line 756
      StackMap locals:
      StackMap stack:
            aload 0 /* mv */
            sipush 184
            ldc "java/lang/Character"
            ldc "valueOf"
            ldc "(C)Ljava/lang/Character;"
            iconst_0
            invokevirtual org.springframework.asm.MethodVisitor.visitMethodInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
         6: .line 757
            goto 19
         7: .line 759
      StackMap locals:
      StackMap stack:
            aload 0 /* mv */
            sipush 184
            ldc "java/lang/Double"
            ldc "valueOf"
            ldc "(D)Ljava/lang/Double;"
            iconst_0
            invokevirtual org.springframework.asm.MethodVisitor.visitMethodInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
         8: .line 760
            goto 19
         9: .line 762
      StackMap locals:
      StackMap stack:
            aload 0 /* mv */
            sipush 184
            ldc "java/lang/Float"
            ldc "valueOf"
            ldc "(F)Ljava/lang/Float;"
            iconst_0
            invokevirtual org.springframework.asm.MethodVisitor.visitMethodInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
        10: .line 763
            goto 19
        11: .line 765
      StackMap locals:
      StackMap stack:
            aload 0 /* mv */
            sipush 184
            ldc "java/lang/Integer"
            ldc "valueOf"
            ldc "(I)Ljava/lang/Integer;"
            iconst_0
            invokevirtual org.springframework.asm.MethodVisitor.visitMethodInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
        12: .line 766
            goto 19
        13: .line 768
      StackMap locals:
      StackMap stack:
            aload 0 /* mv */
            sipush 184
            ldc "java/lang/Long"
            ldc "valueOf"
            ldc "(J)Ljava/lang/Long;"
            iconst_0
            invokevirtual org.springframework.asm.MethodVisitor.visitMethodInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
        14: .line 769
            goto 19
        15: .line 771
      StackMap locals:
      StackMap stack:
            aload 0 /* mv */
            sipush 184
            ldc "java/lang/Short"
            ldc "valueOf"
            ldc "(S)Ljava/lang/Short;"
            iconst_0
            invokevirtual org.springframework.asm.MethodVisitor.visitMethodInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
        16: .line 772
            goto 19
        17: .line 777
      StackMap locals:
      StackMap stack:
            goto 19
        18: .line 779
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Boxing should not be attempted for descriptor '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* ch */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            ldc "'"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        19: .line 781
      StackMap locals:
      StackMap stack:
            return
        end local 1 // char ch
        end local 0 // org.springframework.asm.MethodVisitor mv
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   20     0    mv  Lorg/springframework/asm/MethodVisitor;
            0   20     1    ch  C
    MethodParameters:
      Name  Flags
      mv    
      ch    

  public static java.lang.String toDescriptor(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // java.lang.Class type
         0: .line 790
            aload 0 /* type */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            astore 1 /* name */
        start local 1 // java.lang.String name
         1: .line 791
            aload 0 /* type */
            invokevirtual java.lang.Class.isPrimitive:()Z
            ifeq 21
         2: .line 792
            aload 1 /* name */
            invokevirtual java.lang.String.length:()I
            tableswitch { // 3 - 7
                    3: 3
                    4: 4
                    5: 12
                    6: 16
                    7: 18
              default: 20
          }
         3: .line 794
      StackMap locals: java.lang.String
      StackMap stack:
            ldc "I"
            areturn
         4: .line 796
      StackMap locals:
      StackMap stack:
            aload 1 /* name */
            ldc "byte"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 6
         5: .line 797
            ldc "B"
            areturn
         6: .line 799
      StackMap locals:
      StackMap stack:
            aload 1 /* name */
            ldc "char"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 8
         7: .line 800
            ldc "C"
            areturn
         8: .line 802
      StackMap locals:
      StackMap stack:
            aload 1 /* name */
            ldc "long"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 10
         9: .line 803
            ldc "J"
            areturn
        10: .line 805
      StackMap locals:
      StackMap stack:
            aload 1 /* name */
            ldc "void"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 26
        11: .line 806
            ldc "V"
            areturn
        12: .line 810
      StackMap locals:
      StackMap stack:
            aload 1 /* name */
            ldc "float"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 14
        13: .line 811
            ldc "F"
            areturn
        14: .line 813
      StackMap locals:
      StackMap stack:
            aload 1 /* name */
            ldc "short"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 26
        15: .line 814
            ldc "S"
            areturn
        16: .line 818
      StackMap locals:
      StackMap stack:
            aload 1 /* name */
            ldc "double"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 26
        17: .line 819
            ldc "D"
            areturn
        18: .line 823
      StackMap locals:
      StackMap stack:
            aload 1 /* name */
            ldc "boolean"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 26
        19: .line 824
            ldc "Z"
            areturn
        20: .line 828
      StackMap locals:
      StackMap stack:
            goto 26
        21: .line 830
      StackMap locals:
      StackMap stack:
            aload 1 /* name */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            bipush 91
            if_icmpeq 23
        22: .line 831
            new java.lang.StringBuilder
            dup
            ldc "L"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* type */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            bipush 46
            bipush 47
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        23: .line 834
      StackMap locals:
      StackMap stack:
            aload 1 /* name */
            ldc ";"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 25
        24: .line 835
            aload 1 /* name */
            iconst_0
            aload 1 /* name */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            bipush 46
            bipush 47
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            areturn
        25: .line 838
      StackMap locals:
      StackMap stack:
            aload 1 /* name */
            areturn
        26: .line 842
      StackMap locals:
      StackMap stack:
            ldc ""
            areturn
        end local 1 // java.lang.String name
        end local 0 // java.lang.Class type
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   27     0  type  Ljava/lang/Class<*>;
            1   27     1  name  Ljava/lang/String;
    Signature: (Ljava/lang/Class<*>;)Ljava/lang/String;
    MethodParameters:
      Name  Flags
      type  

  public static java.lang.String[] toParamDescriptors(java.lang.reflect.Method);
    descriptor: (Ljava/lang/reflect/Method;)[Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.reflect.Method method
         0: .line 852
            aload 0 /* method */
            invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
            invokestatic org.springframework.expression.spel.CodeFlow.toDescriptors:([Ljava/lang/Class;)[Ljava/lang/String;
            areturn
        end local 0 // java.lang.reflect.Method method
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  method  Ljava/lang/reflect/Method;
    MethodParameters:
        Name  Flags
      method  

  public static java.lang.String[] toParamDescriptors(java.lang.reflect.Constructor<?>);
    descriptor: (Ljava/lang/reflect/Constructor;)[Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.reflect.Constructor ctor
         0: .line 862
            aload 0 /* ctor */
            invokevirtual java.lang.reflect.Constructor.getParameterTypes:()[Ljava/lang/Class;
            invokestatic org.springframework.expression.spel.CodeFlow.toDescriptors:([Ljava/lang/Class;)[Ljava/lang/String;
            areturn
        end local 0 // java.lang.reflect.Constructor ctor
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  ctor  Ljava/lang/reflect/Constructor<*>;
    Signature: (Ljava/lang/reflect/Constructor<*>;)[Ljava/lang/String;
    MethodParameters:
      Name  Flags
      ctor  

  public static java.lang.String[] toDescriptors(java.lang.Class<?>[]);
    descriptor: ([Ljava/lang/Class;)[Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // java.lang.Class[] types
         0: .line 871
            aload 0 /* types */
            arraylength
            istore 1 /* typesCount */
        start local 1 // int typesCount
         1: .line 872
            iload 1 /* typesCount */
            anewarray java.lang.String
            astore 2 /* descriptors */
        start local 2 // java.lang.String[] descriptors
         2: .line 873
            iconst_0
            istore 3 /* p */
        start local 3 // int p
         3: goto 6
         4: .line 874
      StackMap locals: int java.lang.String[] int
      StackMap stack:
            aload 2 /* descriptors */
            iload 3 /* p */
            aload 0 /* types */
            iload 3 /* p */
            aaload
            invokestatic org.springframework.expression.spel.CodeFlow.toDescriptor:(Ljava/lang/Class;)Ljava/lang/String;
            aastore
         5: .line 873
            iinc 3 /* p */ 1
      StackMap locals:
      StackMap stack:
         6: iload 3 /* p */
            iload 1 /* typesCount */
            if_icmplt 4
        end local 3 // int p
         7: .line 876
            aload 2 /* descriptors */
            areturn
        end local 2 // java.lang.String[] descriptors
        end local 1 // int typesCount
        end local 0 // java.lang.Class[] types
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    8     0        types  [Ljava/lang/Class;
            1    8     1   typesCount  I
            2    8     2  descriptors  [Ljava/lang/String;
            3    7     3            p  I
    Signature: ([Ljava/lang/Class<*>;)[Ljava/lang/String;
    MethodParameters:
       Name  Flags
      types  

  public static void insertOptimalLoad(org.springframework.asm.MethodVisitor, int);
    descriptor: (Lorg/springframework/asm/MethodVisitor;I)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.springframework.asm.MethodVisitor mv
        start local 1 // int value
         0: .line 885
            iload 1 /* value */
            bipush 6
            if_icmpge 3
         1: .line 886
            aload 0 /* mv */
            iconst_3
            iload 1 /* value */
            iadd
            invokevirtual org.springframework.asm.MethodVisitor.visitInsn:(I)V
         2: .line 887
            goto 10
         3: .line 888
      StackMap locals:
      StackMap stack:
            iload 1 /* value */
            bipush 127
            if_icmpge 6
         4: .line 889
            aload 0 /* mv */
            bipush 16
            iload 1 /* value */
            invokevirtual org.springframework.asm.MethodVisitor.visitIntInsn:(II)V
         5: .line 890
            goto 10
         6: .line 891
      StackMap locals:
      StackMap stack:
            iload 1 /* value */
            sipush 32767
            if_icmpge 9
         7: .line 892
            aload 0 /* mv */
            bipush 17
            iload 1 /* value */
            invokevirtual org.springframework.asm.MethodVisitor.visitIntInsn:(II)V
         8: .line 893
            goto 10
         9: .line 895
      StackMap locals:
      StackMap stack:
            aload 0 /* mv */
            iload 1 /* value */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual org.springframework.asm.MethodVisitor.visitLdcInsn:(Ljava/lang/Object;)V
        10: .line 897
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int value
        end local 0 // org.springframework.asm.MethodVisitor mv
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   11     0     mv  Lorg/springframework/asm/MethodVisitor;
            0   11     1  value  I
    MethodParameters:
       Name  Flags
      mv     
      value  

  public static void insertArrayStore(org.springframework.asm.MethodVisitor, java.lang.String);
    descriptor: (Lorg/springframework/asm/MethodVisitor;Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.springframework.asm.MethodVisitor mv
        start local 1 // java.lang.String arrayElementType
         0: .line 907
            aload 1 /* arrayElementType */
            invokevirtual java.lang.String.length:()I
            iconst_1
            if_icmpne 22
         1: .line 908
            aload 1 /* arrayElementType */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            lookupswitch { // 8
                   66: 10
                   67: 12
                   68: 8
                   70: 6
                   73: 2
                   74: 4
                   83: 14
                   90: 16
              default: 18
          }
         2: .line 910
      StackMap locals:
      StackMap stack:
            aload 0 /* mv */
            bipush 79
            invokevirtual org.springframework.asm.MethodVisitor.visitInsn:(I)V
         3: .line 911
            goto 23
         4: .line 913
      StackMap locals:
      StackMap stack:
            aload 0 /* mv */
            bipush 80
            invokevirtual org.springframework.asm.MethodVisitor.visitInsn:(I)V
         5: .line 914
            goto 23
         6: .line 916
      StackMap locals:
      StackMap stack:
            aload 0 /* mv */
            bipush 81
            invokevirtual org.springframework.asm.MethodVisitor.visitInsn:(I)V
         7: .line 917
            goto 23
         8: .line 919
      StackMap locals:
      StackMap stack:
            aload 0 /* mv */
            bipush 82
            invokevirtual org.springframework.asm.MethodVisitor.visitInsn:(I)V
         9: .line 920
            goto 23
        10: .line 922
      StackMap locals:
      StackMap stack:
            aload 0 /* mv */
            bipush 84
            invokevirtual org.springframework.asm.MethodVisitor.visitInsn:(I)V
        11: .line 923
            goto 23
        12: .line 925
      StackMap locals:
      StackMap stack:
            aload 0 /* mv */
            bipush 85
            invokevirtual org.springframework.asm.MethodVisitor.visitInsn:(I)V
        13: .line 926
            goto 23
        14: .line 928
      StackMap locals:
      StackMap stack:
            aload 0 /* mv */
            bipush 86
            invokevirtual org.springframework.asm.MethodVisitor.visitInsn:(I)V
        15: .line 929
            goto 23
        16: .line 931
      StackMap locals:
      StackMap stack:
            aload 0 /* mv */
            bipush 84
            invokevirtual org.springframework.asm.MethodVisitor.visitInsn:(I)V
        17: .line 932
            goto 23
        18: .line 934
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
        19: .line 935
            new java.lang.StringBuilder
            dup
            ldc "Unexpected arraytype "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* arrayElementType */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        20: .line 934
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        21: .line 937
      StackMap locals:
      StackMap stack:
            goto 23
        22: .line 939
      StackMap locals:
      StackMap stack:
            aload 0 /* mv */
            bipush 83
            invokevirtual org.springframework.asm.MethodVisitor.visitInsn:(I)V
        23: .line 941
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String arrayElementType
        end local 0 // org.springframework.asm.MethodVisitor mv
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   24     0                mv  Lorg/springframework/asm/MethodVisitor;
            0   24     1  arrayElementType  Ljava/lang/String;
    MethodParameters:
                  Name  Flags
      mv                
      arrayElementType  

  public static int arrayCodeFor(java.lang.String);
    descriptor: (Ljava/lang/String;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // java.lang.String arraytype
         0: .line 949
            aload 0 /* arraytype */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            lookupswitch { // 8
                   66: 5
                   67: 6
                   68: 4
                   70: 3
                   73: 1
                   74: 2
                   83: 7
                   90: 8
              default: 9
          }
         1: .line 950
      StackMap locals:
      StackMap stack:
            bipush 10
            ireturn
         2: .line 951
      StackMap locals:
      StackMap stack:
            bipush 11
            ireturn
         3: .line 952
      StackMap locals:
      StackMap stack:
            bipush 6
            ireturn
         4: .line 953
      StackMap locals:
      StackMap stack:
            bipush 7
            ireturn
         5: .line 954
      StackMap locals:
      StackMap stack:
            bipush 8
            ireturn
         6: .line 955
      StackMap locals:
      StackMap stack:
            iconst_5
            ireturn
         7: .line 956
      StackMap locals:
      StackMap stack:
            bipush 9
            ireturn
         8: .line 957
      StackMap locals:
      StackMap stack:
            iconst_4
            ireturn
         9: .line 959
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unexpected arraytype "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* arraytype */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // java.lang.String arraytype
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   10     0  arraytype  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      arraytype  

  public static boolean isReferenceTypeArray(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // java.lang.String arraytype
         0: .line 967
            aload 0 /* arraytype */
            invokevirtual java.lang.String.length:()I
            istore 1 /* length */
        start local 1 // int length
         1: .line 968
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 9
         3: .line 969
      StackMap locals: int int
      StackMap stack:
            aload 0 /* arraytype */
            iload 2 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 3 /* ch */
        start local 3 // char ch
         4: .line 970
            iload 3 /* ch */
            bipush 91
            if_icmpne 6
         5: .line 971
            goto 8
         6: .line 973
      StackMap locals: int
      StackMap stack:
            iload 3 /* ch */
            bipush 76
            if_icmpne 7
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         7: iconst_0
            ireturn
        end local 3 // char ch
         8: .line 968
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 2 /* i */
            iload 1 /* length */
            if_icmplt 3
        end local 2 // int i
        10: .line 975
            iconst_0
            ireturn
        end local 1 // int length
        end local 0 // java.lang.String arraytype
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0  arraytype  Ljava/lang/String;
            1   11     1     length  I
            2   10     2          i  I
            4    8     3         ch  C
    MethodParameters:
           Name  Flags
      arraytype  

  public static void insertNewArrayCode(org.springframework.asm.MethodVisitor, int, java.lang.String);
    descriptor: (Lorg/springframework/asm/MethodVisitor;ILjava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.springframework.asm.MethodVisitor mv
        start local 1 // int size
        start local 2 // java.lang.String arraytype
         0: .line 987
            aload 0 /* mv */
            iload 1 /* size */
            invokestatic org.springframework.expression.spel.CodeFlow.insertOptimalLoad:(Lorg/springframework/asm/MethodVisitor;I)V
         1: .line 988
            aload 2 /* arraytype */
            invokevirtual java.lang.String.length:()I
            iconst_1
            if_icmpne 4
         2: .line 989
            aload 0 /* mv */
            sipush 188
            aload 2 /* arraytype */
            invokestatic org.springframework.expression.spel.CodeFlow.arrayCodeFor:(Ljava/lang/String;)I
            invokevirtual org.springframework.asm.MethodVisitor.visitIntInsn:(II)V
         3: .line 990
            goto 11
         4: .line 992
      StackMap locals:
      StackMap stack:
            aload 2 /* arraytype */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            bipush 91
            if_icmpne 10
         5: .line 995
            aload 2 /* arraytype */
            invokestatic org.springframework.expression.spel.CodeFlow.isReferenceTypeArray:(Ljava/lang/String;)Z
            ifeq 8
         6: .line 996
            aload 0 /* mv */
            sipush 189
            new java.lang.StringBuilder
            dup
            aload 2 /* arraytype */
            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;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.springframework.asm.MethodVisitor.visitTypeInsn:(ILjava/lang/String;)V
         7: .line 997
            goto 11
         8: .line 999
      StackMap locals:
      StackMap stack:
            aload 0 /* mv */
            sipush 189
            aload 2 /* arraytype */
            invokevirtual org.springframework.asm.MethodVisitor.visitTypeInsn:(ILjava/lang/String;)V
         9: .line 1001
            goto 11
        10: .line 1003
      StackMap locals:
      StackMap stack:
            aload 0 /* mv */
            sipush 189
            aload 2 /* arraytype */
            iconst_1
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual org.springframework.asm.MethodVisitor.visitTypeInsn:(ILjava/lang/String;)V
        11: .line 1006
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.String arraytype
        end local 1 // int size
        end local 0 // org.springframework.asm.MethodVisitor mv
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   12     0         mv  Lorg/springframework/asm/MethodVisitor;
            0   12     1       size  I
            0   12     2  arraytype  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      mv         
      size       
      arraytype  

  public static void insertNumericUnboxOrPrimitiveTypeCoercion(org.springframework.asm.MethodVisitor, java.lang.String, char);
    descriptor: (Lorg/springframework/asm/MethodVisitor;Ljava/lang/String;C)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.springframework.asm.MethodVisitor mv
        start local 1 // java.lang.String stackDescriptor
        start local 2 // char targetDescriptor
         0: .line 1020
            aload 1 /* stackDescriptor */
            invokestatic org.springframework.expression.spel.CodeFlow.isPrimitive:(Ljava/lang/String;)Z
            ifne 3
         1: .line 1021
            aload 0 /* mv */
            iload 2 /* targetDescriptor */
            aload 1 /* stackDescriptor */
            invokestatic org.springframework.expression.spel.CodeFlow.insertUnboxNumberInsns:(Lorg/springframework/asm/MethodVisitor;CLjava/lang/String;)V
         2: .line 1022
            goto 4
         3: .line 1024
      StackMap locals:
      StackMap stack:
            aload 0 /* mv */
            iload 2 /* targetDescriptor */
            aload 1 /* stackDescriptor */
            invokestatic org.springframework.expression.spel.CodeFlow.insertAnyNecessaryTypeConversionBytecodes:(Lorg/springframework/asm/MethodVisitor;CLjava/lang/String;)V
         4: .line 1026
      StackMap locals:
      StackMap stack:
            return
        end local 2 // char targetDescriptor
        end local 1 // java.lang.String stackDescriptor
        end local 0 // org.springframework.asm.MethodVisitor mv
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    5     0                mv  Lorg/springframework/asm/MethodVisitor;
            0    5     1   stackDescriptor  Ljava/lang/String;
            0    5     2  targetDescriptor  C
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
        org.springframework.lang.Nullable()
      2:
    MethodParameters:
                  Name  Flags
      mv                
      stackDescriptor   
      targetDescriptor  

  public static java.lang.String toBoxedDescriptor(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // java.lang.String primitiveDescriptor
         0: .line 1029
            aload 0 /* primitiveDescriptor */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            lookupswitch { // 8
                   66: 5
                   67: 6
                   68: 4
                   70: 3
                   73: 1
                   74: 2
                   83: 7
                   90: 8
              default: 9
          }
         1: .line 1030
      StackMap locals:
      StackMap stack:
            ldc "Ljava/lang/Integer"
            areturn
         2: .line 1031
      StackMap locals:
      StackMap stack:
            ldc "Ljava/lang/Long"
            areturn
         3: .line 1032
      StackMap locals:
      StackMap stack:
            ldc "Ljava/lang/Float"
            areturn
         4: .line 1033
      StackMap locals:
      StackMap stack:
            ldc "Ljava/lang/Double"
            areturn
         5: .line 1034
      StackMap locals:
      StackMap stack:
            ldc "Ljava/lang/Byte"
            areturn
         6: .line 1035
      StackMap locals:
      StackMap stack:
            ldc "Ljava/lang/Character"
            areturn
         7: .line 1036
      StackMap locals:
      StackMap stack:
            ldc "Ljava/lang/Short"
            areturn
         8: .line 1037
      StackMap locals:
      StackMap stack:
            ldc "Ljava/lang/Boolean"
            areturn
         9: .line 1039
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unexpected non primitive descriptor "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* primitiveDescriptor */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // java.lang.String primitiveDescriptor
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   10     0  primitiveDescriptor  Ljava/lang/String;
    MethodParameters:
                     Name  Flags
      primitiveDescriptor  
}
SourceFile: "CodeFlow.java"
NestMembers:
  org.springframework.expression.spel.CodeFlow$ClinitAdder  org.springframework.expression.spel.CodeFlow$FieldAdder
InnerClasses:
  public abstract ClinitAdder = org.springframework.expression.spel.CodeFlow$ClinitAdder of org.springframework.expression.spel.CodeFlow
  public abstract FieldAdder = org.springframework.expression.spel.CodeFlow$FieldAdder of org.springframework.expression.spel.CodeFlow