public abstract class org.springframework.util.NumberUtils
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.springframework.util.NumberUtils
  super_class: java.lang.Object
{
  private static final java.math.BigInteger LONG_MIN;
    descriptor: Ljava/math/BigInteger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.math.BigInteger LONG_MAX;
    descriptor: Ljava/math/BigInteger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  public static final java.util.Set<java.lang.Class<?>> STANDARD_NUMBER_TYPES;
    descriptor: Ljava/util/Set;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Set<Ljava/lang/Class<*>;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 41
            ldc -9223372036854775808
            invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
            putstatic org.springframework.util.NumberUtils.LONG_MIN:Ljava/math/BigInteger;
         1: .line 43
            ldc 9223372036854775807
            invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
            putstatic org.springframework.util.NumberUtils.LONG_MAX:Ljava/math/BigInteger;
         2: .line 52
            new java.util.HashSet
            dup
            bipush 8
            invokespecial java.util.HashSet.<init>:(I)V
            astore 0 /* numberTypes */
        start local 0 // java.util.Set numberTypes
         3: .line 53
            aload 0 /* numberTypes */
            ldc Ljava/lang/Byte;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         4: .line 54
            aload 0 /* numberTypes */
            ldc Ljava/lang/Short;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         5: .line 55
            aload 0 /* numberTypes */
            ldc Ljava/lang/Integer;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         6: .line 56
            aload 0 /* numberTypes */
            ldc Ljava/lang/Long;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         7: .line 57
            aload 0 /* numberTypes */
            ldc Ljava/math/BigInteger;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         8: .line 58
            aload 0 /* numberTypes */
            ldc Ljava/lang/Float;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         9: .line 59
            aload 0 /* numberTypes */
            ldc Ljava/lang/Double;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        10: .line 60
            aload 0 /* numberTypes */
            ldc Ljava/math/BigDecimal;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        11: .line 61
            aload 0 /* numberTypes */
            invokestatic java.util.Collections.unmodifiableSet:(Ljava/util/Set;)Ljava/util/Set;
            putstatic org.springframework.util.NumberUtils.STANDARD_NUMBER_TYPES:Ljava/util/Set;
        end local 0 // java.util.Set numberTypes
        12: .line 62
            return
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            3   12     0  numberTypes  Ljava/util/Set<Ljava/lang/Class<*>;>;

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.util.NumberUtils this
         0: .line 39
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.springframework.util.NumberUtils this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/util/NumberUtils;

  public static <T extends java.lang.Number> T convertNumberToTargetClass(java.lang.Number, java.lang.Class<T>);
    descriptor: (Ljava/lang/Number;Ljava/lang/Class;)Ljava/lang/Number;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // java.lang.Number number
        start local 1 // java.lang.Class targetClass
         0: .line 85
            aload 0 /* number */
            ldc "Number must not be null"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         1: .line 86
            aload 1 /* targetClass */
            ldc "Target class must not be null"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         2: .line 88
            aload 1 /* targetClass */
            aload 0 /* number */
            invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 89
            aload 0 /* number */
            areturn
         4: .line 91
      StackMap locals:
      StackMap stack:
            ldc Ljava/lang/Byte;
            aload 1 /* targetClass */
            if_acmpne 9
         5: .line 92
            aload 0 /* number */
            aload 1 /* targetClass */
            invokestatic org.springframework.util.NumberUtils.checkedLongValue:(Ljava/lang/Number;Ljava/lang/Class;)J
            lstore 2 /* value */
        start local 2 // long value
         6: .line 93
            lload 2 /* value */
            ldc -128
            lcmp
            iflt 7
            lload 2 /* value */
            ldc 127
            lcmp
            ifle 8
         7: .line 94
      StackMap locals: long
      StackMap stack:
            aload 0 /* number */
            aload 1 /* targetClass */
            invokestatic org.springframework.util.NumberUtils.raiseOverflowException:(Ljava/lang/Number;Ljava/lang/Class;)V
         8: .line 96
      StackMap locals:
      StackMap stack:
            aload 0 /* number */
            invokevirtual java.lang.Number.byteValue:()B
            invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
            areturn
        end local 2 // long value
         9: .line 98
      StackMap locals:
      StackMap stack:
            ldc Ljava/lang/Short;
            aload 1 /* targetClass */
            if_acmpne 14
        10: .line 99
            aload 0 /* number */
            aload 1 /* targetClass */
            invokestatic org.springframework.util.NumberUtils.checkedLongValue:(Ljava/lang/Number;Ljava/lang/Class;)J
            lstore 2 /* value */
        start local 2 // long value
        11: .line 100
            lload 2 /* value */
            ldc -32768
            lcmp
            iflt 12
            lload 2 /* value */
            ldc 32767
            lcmp
            ifle 13
        12: .line 101
      StackMap locals: long
      StackMap stack:
            aload 0 /* number */
            aload 1 /* targetClass */
            invokestatic org.springframework.util.NumberUtils.raiseOverflowException:(Ljava/lang/Number;Ljava/lang/Class;)V
        13: .line 103
      StackMap locals:
      StackMap stack:
            aload 0 /* number */
            invokevirtual java.lang.Number.shortValue:()S
            invokestatic java.lang.Short.valueOf:(S)Ljava/lang/Short;
            areturn
        end local 2 // long value
        14: .line 105
      StackMap locals:
      StackMap stack:
            ldc Ljava/lang/Integer;
            aload 1 /* targetClass */
            if_acmpne 19
        15: .line 106
            aload 0 /* number */
            aload 1 /* targetClass */
            invokestatic org.springframework.util.NumberUtils.checkedLongValue:(Ljava/lang/Number;Ljava/lang/Class;)J
            lstore 2 /* value */
        start local 2 // long value
        16: .line 107
            lload 2 /* value */
            ldc -2147483648
            lcmp
            iflt 17
            lload 2 /* value */
            ldc 2147483647
            lcmp
            ifle 18
        17: .line 108
      StackMap locals: long
      StackMap stack:
            aload 0 /* number */
            aload 1 /* targetClass */
            invokestatic org.springframework.util.NumberUtils.raiseOverflowException:(Ljava/lang/Number;Ljava/lang/Class;)V
        18: .line 110
      StackMap locals:
      StackMap stack:
            aload 0 /* number */
            invokevirtual java.lang.Number.intValue:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            areturn
        end local 2 // long value
        19: .line 112
      StackMap locals:
      StackMap stack:
            ldc Ljava/lang/Long;
            aload 1 /* targetClass */
            if_acmpne 22
        20: .line 113
            aload 0 /* number */
            aload 1 /* targetClass */
            invokestatic org.springframework.util.NumberUtils.checkedLongValue:(Ljava/lang/Number;Ljava/lang/Class;)J
            lstore 2 /* value */
        start local 2 // long value
        21: .line 114
            lload 2 /* value */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            areturn
        end local 2 // long value
        22: .line 116
      StackMap locals:
      StackMap stack:
            ldc Ljava/math/BigInteger;
            aload 1 /* targetClass */
            if_acmpne 26
        23: .line 117
            aload 0 /* number */
            instanceof java.math.BigDecimal
            ifeq 25
        24: .line 119
            aload 0 /* number */
            checkcast java.math.BigDecimal
            invokevirtual java.math.BigDecimal.toBigInteger:()Ljava/math/BigInteger;
            areturn
        25: .line 123
      StackMap locals:
      StackMap stack:
            aload 0 /* number */
            invokevirtual java.lang.Number.longValue:()J
            invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
            areturn
        26: .line 126
      StackMap locals:
      StackMap stack:
            ldc Ljava/lang/Float;
            aload 1 /* targetClass */
            if_acmpne 28
        27: .line 127
            aload 0 /* number */
            invokevirtual java.lang.Number.floatValue:()F
            invokestatic java.lang.Float.valueOf:(F)Ljava/lang/Float;
            areturn
        28: .line 129
      StackMap locals:
      StackMap stack:
            ldc Ljava/lang/Double;
            aload 1 /* targetClass */
            if_acmpne 30
        29: .line 130
            aload 0 /* number */
            invokevirtual java.lang.Number.doubleValue:()D
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            areturn
        30: .line 132
      StackMap locals:
      StackMap stack:
            ldc Ljava/math/BigDecimal;
            aload 1 /* targetClass */
            if_acmpne 32
        31: .line 135
            new java.math.BigDecimal
            dup
            aload 0 /* number */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokespecial java.math.BigDecimal.<init>:(Ljava/lang/String;)V
            areturn
        32: .line 138
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Could not convert number ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* number */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "] of type ["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        33: .line 139
            aload 0 /* number */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "] to unsupported target class ["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* targetClass */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            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;
        34: .line 138
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // java.lang.Class targetClass
        end local 0 // java.lang.Number number
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   35     0       number  Ljava/lang/Number;
            0   35     1  targetClass  Ljava/lang/Class<TT;>;
            6    9     2        value  J
           11   14     2        value  J
           16   19     2        value  J
           21   22     2        value  J
    Exceptions:
      throws java.lang.IllegalArgumentException
    Signature: <T:Ljava/lang/Number;>(Ljava/lang/Number;Ljava/lang/Class<TT;>;)TT;
    MethodParameters:
             Name  Flags
      number       
      targetClass  

  private static long checkedLongValue(java.lang.Number, java.lang.Class<? extends java.lang.Number>);
    descriptor: (Ljava/lang/Number;Ljava/lang/Class;)J
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.lang.Number number
        start local 1 // java.lang.Class targetClass
         0: .line 153
            aconst_null
            astore 2 /* bigInt */
        start local 2 // java.math.BigInteger bigInt
         1: .line 154
            aload 0 /* number */
            instanceof java.math.BigInteger
            ifeq 4
         2: .line 155
            aload 0 /* number */
            checkcast java.math.BigInteger
            astore 2 /* bigInt */
         3: .line 156
            goto 6
         4: .line 157
      StackMap locals: java.math.BigInteger
      StackMap stack:
            aload 0 /* number */
            instanceof java.math.BigDecimal
            ifeq 6
         5: .line 158
            aload 0 /* number */
            checkcast java.math.BigDecimal
            invokevirtual java.math.BigDecimal.toBigInteger:()Ljava/math/BigInteger;
            astore 2 /* bigInt */
         6: .line 161
      StackMap locals:
      StackMap stack:
            aload 2 /* bigInt */
            ifnull 8
            aload 2 /* bigInt */
            getstatic org.springframework.util.NumberUtils.LONG_MIN:Ljava/math/BigInteger;
            invokevirtual java.math.BigInteger.compareTo:(Ljava/math/BigInteger;)I
            iflt 7
            aload 2 /* bigInt */
            getstatic org.springframework.util.NumberUtils.LONG_MAX:Ljava/math/BigInteger;
            invokevirtual java.math.BigInteger.compareTo:(Ljava/math/BigInteger;)I
            ifle 8
         7: .line 162
      StackMap locals:
      StackMap stack:
            aload 0 /* number */
            aload 1 /* targetClass */
            invokestatic org.springframework.util.NumberUtils.raiseOverflowException:(Ljava/lang/Number;Ljava/lang/Class;)V
         8: .line 164
      StackMap locals:
      StackMap stack:
            aload 0 /* number */
            invokevirtual java.lang.Number.longValue:()J
            lreturn
        end local 2 // java.math.BigInteger bigInt
        end local 1 // java.lang.Class targetClass
        end local 0 // java.lang.Number number
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    9     0       number  Ljava/lang/Number;
            0    9     1  targetClass  Ljava/lang/Class<+Ljava/lang/Number;>;
            1    9     2       bigInt  Ljava/math/BigInteger;
    Signature: (Ljava/lang/Number;Ljava/lang/Class<+Ljava/lang/Number;>;)J
    MethodParameters:
             Name  Flags
      number       
      targetClass  

  private static void raiseOverflowException(java.lang.Number, java.lang.Class<?>);
    descriptor: (Ljava/lang/Number;Ljava/lang/Class;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // java.lang.Number number
        start local 1 // java.lang.Class targetClass
         0: .line 174
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Could not convert number ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* number */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "] of type ["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         1: .line 175
            aload 0 /* number */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "] to target class ["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* targetClass */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "]: overflow"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         2: .line 174
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // java.lang.Class targetClass
        end local 0 // java.lang.Number number
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0       number  Ljava/lang/Number;
            0    3     1  targetClass  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Number;Ljava/lang/Class<*>;)V
    MethodParameters:
             Name  Flags
      number       
      targetClass  

  public static <T extends java.lang.Number> T parseNumber(java.lang.String, java.lang.Class<T>);
    descriptor: (Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Number;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // java.lang.String text
        start local 1 // java.lang.Class targetClass
         0: .line 200
            aload 0 /* text */
            ldc "Text must not be null"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         1: .line 201
            aload 1 /* targetClass */
            ldc "Target class must not be null"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         2: .line 202
            aload 0 /* text */
            invokestatic org.springframework.util.StringUtils.trimAllWhitespace:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* trimmed */
        start local 2 // java.lang.String trimmed
         3: .line 204
            ldc Ljava/lang/Byte;
            aload 1 /* targetClass */
            if_acmpne 7
         4: .line 205
            aload 2 /* trimmed */
            invokestatic org.springframework.util.NumberUtils.isHexNumber:(Ljava/lang/String;)Z
            ifeq 5
            aload 2 /* trimmed */
            invokestatic java.lang.Byte.decode:(Ljava/lang/String;)Ljava/lang/Byte;
            goto 6
      StackMap locals: java.lang.String
      StackMap stack:
         5: aload 2 /* trimmed */
            invokestatic java.lang.Byte.valueOf:(Ljava/lang/String;)Ljava/lang/Byte;
      StackMap locals:
      StackMap stack: java.lang.Byte
         6: areturn
         7: .line 207
      StackMap locals:
      StackMap stack:
            ldc Ljava/lang/Short;
            aload 1 /* targetClass */
            if_acmpne 11
         8: .line 208
            aload 2 /* trimmed */
            invokestatic org.springframework.util.NumberUtils.isHexNumber:(Ljava/lang/String;)Z
            ifeq 9
            aload 2 /* trimmed */
            invokestatic java.lang.Short.decode:(Ljava/lang/String;)Ljava/lang/Short;
            goto 10
      StackMap locals:
      StackMap stack:
         9: aload 2 /* trimmed */
            invokestatic java.lang.Short.valueOf:(Ljava/lang/String;)Ljava/lang/Short;
      StackMap locals:
      StackMap stack: java.lang.Short
        10: areturn
        11: .line 210
      StackMap locals:
      StackMap stack:
            ldc Ljava/lang/Integer;
            aload 1 /* targetClass */
            if_acmpne 15
        12: .line 211
            aload 2 /* trimmed */
            invokestatic org.springframework.util.NumberUtils.isHexNumber:(Ljava/lang/String;)Z
            ifeq 13
            aload 2 /* trimmed */
            invokestatic java.lang.Integer.decode:(Ljava/lang/String;)Ljava/lang/Integer;
            goto 14
      StackMap locals:
      StackMap stack:
        13: aload 2 /* trimmed */
            invokestatic java.lang.Integer.valueOf:(Ljava/lang/String;)Ljava/lang/Integer;
      StackMap locals:
      StackMap stack: java.lang.Integer
        14: areturn
        15: .line 213
      StackMap locals:
      StackMap stack:
            ldc Ljava/lang/Long;
            aload 1 /* targetClass */
            if_acmpne 19
        16: .line 214
            aload 2 /* trimmed */
            invokestatic org.springframework.util.NumberUtils.isHexNumber:(Ljava/lang/String;)Z
            ifeq 17
            aload 2 /* trimmed */
            invokestatic java.lang.Long.decode:(Ljava/lang/String;)Ljava/lang/Long;
            goto 18
      StackMap locals:
      StackMap stack:
        17: aload 2 /* trimmed */
            invokestatic java.lang.Long.valueOf:(Ljava/lang/String;)Ljava/lang/Long;
      StackMap locals:
      StackMap stack: java.lang.Long
        18: areturn
        19: .line 216
      StackMap locals:
      StackMap stack:
            ldc Ljava/math/BigInteger;
            aload 1 /* targetClass */
            if_acmpne 23
        20: .line 217
            aload 2 /* trimmed */
            invokestatic org.springframework.util.NumberUtils.isHexNumber:(Ljava/lang/String;)Z
            ifeq 21
            aload 2 /* trimmed */
            invokestatic org.springframework.util.NumberUtils.decodeBigInteger:(Ljava/lang/String;)Ljava/math/BigInteger;
            goto 22
      StackMap locals:
      StackMap stack:
        21: new java.math.BigInteger
            dup
            aload 2 /* trimmed */
            invokespecial java.math.BigInteger.<init>:(Ljava/lang/String;)V
      StackMap locals:
      StackMap stack: java.math.BigInteger
        22: areturn
        23: .line 219
      StackMap locals:
      StackMap stack:
            ldc Ljava/lang/Float;
            aload 1 /* targetClass */
            if_acmpne 25
        24: .line 220
            aload 2 /* trimmed */
            invokestatic java.lang.Float.valueOf:(Ljava/lang/String;)Ljava/lang/Float;
            areturn
        25: .line 222
      StackMap locals:
      StackMap stack:
            ldc Ljava/lang/Double;
            aload 1 /* targetClass */
            if_acmpne 27
        26: .line 223
            aload 2 /* trimmed */
            invokestatic java.lang.Double.valueOf:(Ljava/lang/String;)Ljava/lang/Double;
            areturn
        27: .line 225
      StackMap locals:
      StackMap stack:
            ldc Ljava/math/BigDecimal;
            aload 1 /* targetClass */
            if_acmpeq 28
            ldc Ljava/lang/Number;
            aload 1 /* targetClass */
            if_acmpne 29
        28: .line 226
      StackMap locals:
      StackMap stack:
            new java.math.BigDecimal
            dup
            aload 2 /* trimmed */
            invokespecial java.math.BigDecimal.<init>:(Ljava/lang/String;)V
            areturn
        29: .line 229
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
        30: .line 230
            new java.lang.StringBuilder
            dup
            ldc "Cannot convert String ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* text */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "] to target class ["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* targetClass */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            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;
        31: .line 229
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // java.lang.String trimmed
        end local 1 // java.lang.Class targetClass
        end local 0 // java.lang.String text
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   32     0         text  Ljava/lang/String;
            0   32     1  targetClass  Ljava/lang/Class<TT;>;
            3   32     2      trimmed  Ljava/lang/String;
    Signature: <T:Ljava/lang/Number;>(Ljava/lang/String;Ljava/lang/Class<TT;>;)TT;
    MethodParameters:
             Name  Flags
      text         
      targetClass  

  public static <T extends java.lang.Number> T parseNumber(java.lang.String, java.lang.Class<T>, java.text.NumberFormat);
    descriptor: (Ljava/lang/String;Ljava/lang/Class;Ljava/text/NumberFormat;)Ljava/lang/Number;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=8, args_size=3
        start local 0 // java.lang.String text
        start local 1 // java.lang.Class targetClass
        start local 2 // java.text.NumberFormat numberFormat
         0: .line 252
            aload 2 /* numberFormat */
            ifnull 21
         1: .line 253
            aload 0 /* text */
            ldc "Text must not be null"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         2: .line 254
            aload 1 /* targetClass */
            ldc "Target class must not be null"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         3: .line 255
            aconst_null
            astore 3 /* decimalFormat */
        start local 3 // java.text.DecimalFormat decimalFormat
         4: .line 256
            iconst_0
            istore 4 /* resetBigDecimal */
        start local 4 // boolean resetBigDecimal
         5: .line 257
            aload 2 /* numberFormat */
            instanceof java.text.DecimalFormat
            ifeq 10
         6: .line 258
            aload 2 /* numberFormat */
            checkcast java.text.DecimalFormat
            astore 3 /* decimalFormat */
         7: .line 259
            ldc Ljava/math/BigDecimal;
            aload 1 /* targetClass */
            if_acmpne 10
            aload 3 /* decimalFormat */
            invokevirtual java.text.DecimalFormat.isParseBigDecimal:()Z
            ifne 10
         8: .line 260
            aload 3 /* decimalFormat */
            iconst_1
            invokevirtual java.text.DecimalFormat.setParseBigDecimal:(Z)V
         9: .line 261
            iconst_1
            istore 4 /* resetBigDecimal */
        10: .line 265
      StackMap locals: java.text.DecimalFormat int
      StackMap stack:
            aload 2 /* numberFormat */
            aload 0 /* text */
            invokestatic org.springframework.util.StringUtils.trimAllWhitespace:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.text.NumberFormat.parse:(Ljava/lang/String;)Ljava/lang/Number;
            astore 5 /* number */
        start local 5 // java.lang.Number number
        11: .line 266
            aload 5 /* number */
            aload 1 /* targetClass */
            invokestatic org.springframework.util.NumberUtils.convertNumberToTargetClass:(Ljava/lang/Number;Ljava/lang/Class;)Ljava/lang/Number;
            astore 7
        12: .line 272
            iload 4 /* resetBigDecimal */
            ifeq 14
        13: .line 273
            aload 3 /* decimalFormat */
            iconst_0
            invokevirtual java.text.DecimalFormat.setParseBigDecimal:(Z)V
        14: .line 266
      StackMap locals: java.lang.String java.lang.Class java.text.NumberFormat java.text.DecimalFormat int java.lang.Number top java.lang.Number
      StackMap stack:
            aload 7
            areturn
        end local 5 // java.lang.Number number
        15: .line 268
      StackMap locals: java.lang.String java.lang.Class java.text.NumberFormat java.text.DecimalFormat int
      StackMap stack: java.text.ParseException
            astore 5 /* ex */
        start local 5 // java.text.ParseException ex
        16: .line 269
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Could not parse number: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* ex */
            invokevirtual java.text.ParseException.getMessage:()Ljava/lang/String;
            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 5 // java.text.ParseException ex
        17: .line 271
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 6
        18: .line 272
            iload 4 /* resetBigDecimal */
            ifeq 20
        19: .line 273
            aload 3 /* decimalFormat */
            iconst_0
            invokevirtual java.text.DecimalFormat.setParseBigDecimal:(Z)V
        20: .line 275
      StackMap locals: java.lang.String java.lang.Class java.text.NumberFormat java.text.DecimalFormat int top java.lang.Throwable
      StackMap stack:
            aload 6
            athrow
        end local 4 // boolean resetBigDecimal
        end local 3 // java.text.DecimalFormat decimalFormat
        21: .line 278
      StackMap locals: java.lang.String java.lang.Class java.text.NumberFormat
      StackMap stack:
            aload 0 /* text */
            aload 1 /* targetClass */
            invokestatic org.springframework.util.NumberUtils.parseNumber:(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Number;
            areturn
        end local 2 // java.text.NumberFormat numberFormat
        end local 1 // java.lang.Class targetClass
        end local 0 // java.lang.String text
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   22     0             text  Ljava/lang/String;
            0   22     1      targetClass  Ljava/lang/Class<TT;>;
            0   22     2     numberFormat  Ljava/text/NumberFormat;
            4   21     3    decimalFormat  Ljava/text/DecimalFormat;
            5   21     4  resetBigDecimal  Z
           11   15     5           number  Ljava/lang/Number;
           16   17     5               ex  Ljava/text/ParseException;
      Exception table:
        from    to  target  type
          10    12      15  Class java.text.ParseException
          10    12      17  any
          15    17      17  any
    Signature: <T:Ljava/lang/Number;>(Ljava/lang/String;Ljava/lang/Class<TT;>;Ljava/text/NumberFormat;)TT;
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
      2:
        org.springframework.lang.Nullable()
    MethodParameters:
              Name  Flags
      text          
      targetClass   
      numberFormat  

  private static boolean isHexNumber(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.lang.String value
         0: .line 288
            aload 0 /* value */
            ldc "-"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: istore 1 /* index */
        start local 1 // int index
         3: .line 289
            aload 0 /* value */
            ldc "0x"
            iload 1 /* index */
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;I)Z
            ifne 4
            aload 0 /* value */
            ldc "0X"
            iload 1 /* index */
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;I)Z
            ifne 4
            aload 0 /* value */
            ldc "#"
            iload 1 /* index */
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;I)Z
            ifne 4
            iconst_0
            ireturn
      StackMap locals: int
      StackMap stack:
         4: iconst_1
            ireturn
        end local 1 // int index
        end local 0 // java.lang.String value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0  value  Ljava/lang/String;
            3    5     1  index  I
    MethodParameters:
       Name  Flags
      value  

  private static java.math.BigInteger decodeBigInteger(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/math/BigInteger;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // java.lang.String value
         0: .line 298
            bipush 10
            istore 1 /* radix */
        start local 1 // int radix
         1: .line 299
            iconst_0
            istore 2 /* index */
        start local 2 // int index
         2: .line 300
            iconst_0
            istore 3 /* negative */
        start local 3 // boolean negative
         3: .line 303
            aload 0 /* value */
            ldc "-"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 6
         4: .line 304
            iconst_1
            istore 3 /* negative */
         5: .line 305
            iinc 2 /* index */ 1
         6: .line 309
      StackMap locals: int int int
      StackMap stack:
            aload 0 /* value */
            ldc "0x"
            iload 2 /* index */
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;I)Z
            ifne 7
            aload 0 /* value */
            ldc "0X"
            iload 2 /* index */
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;I)Z
            ifeq 10
         7: .line 310
      StackMap locals:
      StackMap stack:
            iinc 2 /* index */ 2
         8: .line 311
            bipush 16
            istore 1 /* radix */
         9: .line 312
            goto 17
        10: .line 313
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            ldc "#"
            iload 2 /* index */
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;I)Z
            ifeq 14
        11: .line 314
            iinc 2 /* index */ 1
        12: .line 315
            bipush 16
            istore 1 /* radix */
        13: .line 316
            goto 17
        14: .line 317
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            ldc "0"
            iload 2 /* index */
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;I)Z
            ifeq 17
            aload 0 /* value */
            invokevirtual java.lang.String.length:()I
            iconst_1
            iload 2 /* index */
            iadd
            if_icmple 17
        15: .line 318
            iinc 2 /* index */ 1
        16: .line 319
            bipush 8
            istore 1 /* radix */
        17: .line 322
      StackMap locals:
      StackMap stack:
            new java.math.BigInteger
            dup
            aload 0 /* value */
            iload 2 /* index */
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            iload 1 /* radix */
            invokespecial java.math.BigInteger.<init>:(Ljava/lang/String;I)V
            astore 4 /* result */
        start local 4 // java.math.BigInteger result
        18: .line 323
            iload 3 /* negative */
            ifeq 19
            aload 4 /* result */
            invokevirtual java.math.BigInteger.negate:()Ljava/math/BigInteger;
            goto 20
      StackMap locals: java.math.BigInteger
      StackMap stack:
        19: aload 4 /* result */
      StackMap locals:
      StackMap stack: java.math.BigInteger
        20: areturn
        end local 4 // java.math.BigInteger result
        end local 3 // boolean negative
        end local 2 // int index
        end local 1 // int radix
        end local 0 // java.lang.String value
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   21     0     value  Ljava/lang/String;
            1   21     1     radix  I
            2   21     2     index  I
            3   21     3  negative  Z
           18   21     4    result  Ljava/math/BigInteger;
    MethodParameters:
       Name  Flags
      value  
}
SourceFile: "NumberUtils.java"