public final class com.fasterxml.jackson.datatype.jsr310.DecimalUtils
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: com.fasterxml.jackson.datatype.jsr310.DecimalUtils
  super_class: java.lang.Object
{
  private static final java.math.BigDecimal ONE_BILLION;
    descriptor: Ljava/math/BigDecimal;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 31
            new java.math.BigDecimal
            dup
            ldc 1000000000
            invokespecial java.math.BigDecimal.<init>:(J)V
            putstatic com.fasterxml.jackson.datatype.jsr310.DecimalUtils.ONE_BILLION:Ljava/math/BigDecimal;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.fasterxml.jackson.datatype.jsr310.DecimalUtils this
         0: .line 33
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // com.fasterxml.jackson.datatype.jsr310.DecimalUtils this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/fasterxml/jackson/datatype/jsr310/DecimalUtils;

  public static java.lang.String toDecimal(long, int);
    descriptor: (JI)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // long seconds
        start local 2 // int nanoseconds
         0: .line 37
            new java.lang.StringBuilder
            dup
            bipush 20
            invokespecial java.lang.StringBuilder.<init>:(I)V
         1: .line 38
            lload 0 /* seconds */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
         2: .line 39
            bipush 46
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
         3: .line 37
            astore 3 /* sb */
        start local 3 // java.lang.StringBuilder sb
         4: .line 42
            iload 2 /* nanoseconds */
            i2l
            lconst_0
            lcmp
            ifne 9
         5: .line 45
            lload 0 /* seconds */
            lconst_0
            lcmp
            ifne 7
         6: .line 46
            ldc "0.0"
            areturn
         7: .line 50
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            aload 3 /* sb */
            ldc "000000000"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         8: .line 51
            goto 18
         9: .line 52
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            bipush 9
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 4 /* nanoSB */
        start local 4 // java.lang.StringBuilder nanoSB
        10: .line 53
            aload 4 /* nanoSB */
            iload 2 /* nanoseconds */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            pop
        11: .line 55
            aload 4 /* nanoSB */
            invokevirtual java.lang.StringBuilder.length:()I
            istore 5 /* nanosLen */
        start local 5 // int nanosLen
        12: .line 56
            bipush 9
            iload 5 /* nanosLen */
            isub
            istore 6 /* prepZeroes */
        start local 6 // int prepZeroes
        13: .line 57
            goto 16
        14: .line 58
      StackMap locals: java.lang.StringBuilder int int
      StackMap stack:
            iinc 6 /* prepZeroes */ -1
        15: .line 59
            aload 3 /* sb */
            bipush 48
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        16: .line 57
      StackMap locals:
      StackMap stack:
            iload 6 /* prepZeroes */
            ifgt 14
        17: .line 74
            aload 3 /* sb */
            aload 4 /* nanoSB */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;)Ljava/lang/StringBuilder;
            pop
        end local 6 // int prepZeroes
        end local 5 // int nanosLen
        end local 4 // java.lang.StringBuilder nanoSB
        18: .line 76
      StackMap locals:
      StackMap stack:
            aload 3 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 3 // java.lang.StringBuilder sb
        end local 2 // int nanoseconds
        end local 0 // long seconds
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   19     0      seconds  J
            0   19     2  nanoseconds  I
            4   19     3           sb  Ljava/lang/StringBuilder;
           10   18     4       nanoSB  Ljava/lang/StringBuilder;
           12   18     5     nanosLen  I
           13   18     6   prepZeroes  I
    MethodParameters:
             Name  Flags
      seconds      
      nanoseconds  

  public static java.math.BigDecimal toBigDecimal(long, int);
    descriptor: (JI)Ljava/math/BigDecimal;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // long seconds
        start local 2 // int nanoseconds
         0: .line 87
            iload 2 /* nanoseconds */
            i2l
            lconst_0
            lcmp
            ifne 4
         1: .line 90
            lload 0 /* seconds */
            lconst_0
            lcmp
            ifne 3
         2: .line 91
            getstatic java.math.BigDecimal.ZERO:Ljava/math/BigDecimal;
            iconst_1
            invokevirtual java.math.BigDecimal.setScale:(I)Ljava/math/BigDecimal;
            areturn
         3: .line 93
      StackMap locals:
      StackMap stack:
            lload 0 /* seconds */
            invokestatic java.math.BigDecimal.valueOf:(J)Ljava/math/BigDecimal;
            bipush 9
            invokevirtual java.math.BigDecimal.setScale:(I)Ljava/math/BigDecimal;
            areturn
         4: .line 95
      StackMap locals:
      StackMap stack:
            new java.math.BigDecimal
            dup
            lload 0 /* seconds */
            iload 2 /* nanoseconds */
            invokestatic com.fasterxml.jackson.datatype.jsr310.DecimalUtils.toDecimal:(JI)Ljava/lang/String;
            invokespecial java.math.BigDecimal.<init>:(Ljava/lang/String;)V
            areturn
        end local 2 // int nanoseconds
        end local 0 // long seconds
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0      seconds  J
            0    5     2  nanoseconds  I
    MethodParameters:
             Name  Flags
      seconds      
      nanoseconds  

  public static int extractNanosecondDecimal(java.math.BigDecimal, long);
    descriptor: (Ljava/math/BigDecimal;J)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // java.math.BigDecimal value
        start local 1 // long integer
         0: .line 107
            aload 0 /* value */
            new java.math.BigDecimal
            dup
            lload 1 /* integer */
            invokespecial java.math.BigDecimal.<init>:(J)V
            invokevirtual java.math.BigDecimal.subtract:(Ljava/math/BigDecimal;)Ljava/math/BigDecimal;
            getstatic com.fasterxml.jackson.datatype.jsr310.DecimalUtils.ONE_BILLION:Ljava/math/BigDecimal;
            invokevirtual java.math.BigDecimal.multiply:(Ljava/math/BigDecimal;)Ljava/math/BigDecimal;
            invokevirtual java.math.BigDecimal.intValue:()I
            ireturn
        end local 1 // long integer
        end local 0 // java.math.BigDecimal value
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0    value  Ljava/math/BigDecimal;
            0    1     1  integer  J
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      value    
      integer  

  public static <T> T extractSecondsAndNanos(java.math.BigDecimal, java.util.function.BiFunction<java.lang.Long, java.lang.Integer, T>);
    descriptor: (Ljava/math/BigDecimal;Ljava/util/function/BiFunction;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // java.math.BigDecimal seconds
        start local 1 // java.util.function.BiFunction convert
         0: .line 125
            aload 0 /* seconds */
            bipush 9
            invokevirtual java.math.BigDecimal.scaleByPowerOfTen:(I)Ljava/math/BigDecimal;
            astore 5 /* nanoseconds */
        start local 5 // java.math.BigDecimal nanoseconds
         1: .line 126
            aload 5 /* nanoseconds */
            invokevirtual java.math.BigDecimal.precision:()I
            aload 5 /* nanoseconds */
            invokevirtual java.math.BigDecimal.scale:()I
            isub
            ifgt 5
         2: .line 129
            iconst_0
            dup
            istore 4 /* nanosOnly */
        start local 4 // int nanosOnly
         3: i2l
            lstore 2 /* secondsOnly */
        start local 2 // long secondsOnly
         4: .line 130
            goto 13
        end local 4 // int nanosOnly
        end local 2 // long secondsOnly
         5: .line 131
      StackMap locals: java.math.BigDecimal java.util.function.BiFunction top top top java.math.BigDecimal
      StackMap stack:
            aload 0 /* seconds */
            invokevirtual java.math.BigDecimal.scale:()I
            bipush -63
            if_icmpge 9
         6: .line 134
            iconst_0
            dup
            istore 4 /* nanosOnly */
        start local 4 // int nanosOnly
         7: i2l
            lstore 2 /* secondsOnly */
        start local 2 // long secondsOnly
         8: .line 135
            goto 13
        end local 4 // int nanosOnly
        end local 2 // long secondsOnly
         9: .line 138
      StackMap locals:
      StackMap stack:
            aload 0 /* seconds */
            invokevirtual java.math.BigDecimal.longValue:()J
            lstore 2 /* secondsOnly */
        start local 2 // long secondsOnly
        10: .line 139
            aload 5 /* nanoseconds */
            new java.math.BigDecimal
            dup
            lload 2 /* secondsOnly */
            invokespecial java.math.BigDecimal.<init>:(J)V
            bipush 9
            invokevirtual java.math.BigDecimal.scaleByPowerOfTen:(I)Ljava/math/BigDecimal;
            invokevirtual java.math.BigDecimal.subtract:(Ljava/math/BigDecimal;)Ljava/math/BigDecimal;
            invokevirtual java.math.BigDecimal.intValue:()I
            istore 4 /* nanosOnly */
        start local 4 // int nanosOnly
        11: .line 141
            lload 2 /* secondsOnly */
            lconst_0
            lcmp
            ifge 13
            lload 2 /* secondsOnly */
            getstatic java.time.Instant.MIN:Ljava/time/Instant;
            invokevirtual java.time.Instant.getEpochSecond:()J
            lcmp
            ifle 13
        12: .line 143
            iload 4 /* nanosOnly */
            invokestatic java.lang.Math.abs:(I)I
            istore 4 /* nanosOnly */
        13: .line 147
      StackMap locals: java.math.BigDecimal java.util.function.BiFunction long int java.math.BigDecimal
      StackMap stack:
            aload 1 /* convert */
            lload 2 /* secondsOnly */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            iload 4 /* nanosOnly */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.function.BiFunction.apply:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 5 // java.math.BigDecimal nanoseconds
        end local 4 // int nanosOnly
        end local 2 // long secondsOnly
        end local 1 // java.util.function.BiFunction convert
        end local 0 // java.math.BigDecimal seconds
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   14     0      seconds  Ljava/math/BigDecimal;
            0   14     1      convert  Ljava/util/function/BiFunction<Ljava/lang/Long;Ljava/lang/Integer;TT;>;
            4    5     2  secondsOnly  J
            8    9     2  secondsOnly  J
           10   14     2  secondsOnly  J
            3    5     4    nanosOnly  I
            7    9     4    nanosOnly  I
           11   14     4    nanosOnly  I
            1   14     5  nanoseconds  Ljava/math/BigDecimal;
    Signature: <T:Ljava/lang/Object;>(Ljava/math/BigDecimal;Ljava/util/function/BiFunction<Ljava/lang/Long;Ljava/lang/Integer;TT;>;)TT;
    MethodParameters:
         Name  Flags
      seconds  
      convert  
}
SourceFile: "DecimalUtils.java"