public class org.hsqldb.types.IntervalSecondData
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.hsqldb.types.IntervalSecondData
  super_class: java.lang.Object
{
  public static final org.hsqldb.types.IntervalSecondData oneDay;
    descriptor: Lorg/hsqldb/types/IntervalSecondData;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  final long units;
    descriptor: J
    flags: (0x0010) ACC_FINAL

  final int nanos;
    descriptor: I
    flags: (0x0010) ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 46
            lconst_1
         1: .line 47
            getstatic org.hsqldb.types.Type.SQL_INTERVAL_DAY:Lorg/hsqldb/types/IntervalType;
         2: .line 46
            invokestatic org.hsqldb.types.IntervalSecondData.newIntervalDay:(JLorg/hsqldb/types/IntervalType;)Lorg/hsqldb/types/IntervalSecondData;
            putstatic org.hsqldb.types.IntervalSecondData.oneDay:Lorg/hsqldb/types/IntervalSecondData;
         3: .line 47
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static org.hsqldb.types.IntervalSecondData newInterval(double, int);
    descriptor: (DI)Lorg/hsqldb/types/IntervalSecondData;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // double value
        start local 2 // int typeCode
         0: .line 55
            getstatic org.hsqldb.types.DTIType.intervalIndexMap:Lorg/hsqldb/lib/IntKeyIntValueHashMap;
            iload 2 /* typeCode */
            invokevirtual org.hsqldb.lib.IntKeyIntValueHashMap.get:(I)I
            istore 3 /* index */
        start local 3 // int index
         1: .line 57
            dload 0 /* value */
            getstatic org.hsqldb.types.DTIType.yearToSecondFactors:[I
            iload 3 /* index */
            iaload
            i2d
            dmul
            dstore 0 /* value */
         2: .line 59
            new org.hsqldb.types.IntervalSecondData
            dup
            dload 0 /* value */
            d2l
            iconst_0
            invokespecial org.hsqldb.types.IntervalSecondData.<init>:(JI)V
            areturn
        end local 3 // int index
        end local 2 // int typeCode
        end local 0 // double value
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0     value  D
            0    3     2  typeCode  I
            1    3     3     index  I
    MethodParameters:
          Name  Flags
      value     
      typeCode  

  public static org.hsqldb.types.IntervalSecondData newIntervalDay(long, org.hsqldb.types.IntervalType);
    descriptor: (JLorg/hsqldb/types/IntervalType;)Lorg/hsqldb/types/IntervalSecondData;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // long days
        start local 2 // org.hsqldb.types.IntervalType type
         0: .line 64
            new org.hsqldb.types.IntervalSecondData
            dup
            lload 0 /* days */
            ldc 24
            lmul
            ldc 60
            lmul
            ldc 60
            lmul
            iconst_0
            aload 2 /* type */
            invokespecial org.hsqldb.types.IntervalSecondData.<init>:(JILorg/hsqldb/types/IntervalType;)V
            areturn
        end local 2 // org.hsqldb.types.IntervalType type
        end local 0 // long days
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  days  J
            0    1     2  type  Lorg/hsqldb/types/IntervalType;
    MethodParameters:
      Name  Flags
      days  
      type  

  public static org.hsqldb.types.IntervalSecondData newIntervalHour(long, org.hsqldb.types.IntervalType);
    descriptor: (JLorg/hsqldb/types/IntervalType;)Lorg/hsqldb/types/IntervalSecondData;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // long hours
        start local 2 // org.hsqldb.types.IntervalType type
         0: .line 69
            new org.hsqldb.types.IntervalSecondData
            dup
            lload 0 /* hours */
            ldc 60
            lmul
            ldc 60
            lmul
            iconst_0
            aload 2 /* type */
            invokespecial org.hsqldb.types.IntervalSecondData.<init>:(JILorg/hsqldb/types/IntervalType;)V
            areturn
        end local 2 // org.hsqldb.types.IntervalType type
        end local 0 // long hours
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  hours  J
            0    1     2   type  Lorg/hsqldb/types/IntervalType;
    MethodParameters:
       Name  Flags
      hours  
      type   

  public static org.hsqldb.types.IntervalSecondData newIntervalMinute(long, org.hsqldb.types.IntervalType);
    descriptor: (JLorg/hsqldb/types/IntervalType;)Lorg/hsqldb/types/IntervalSecondData;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // long minutes
        start local 2 // org.hsqldb.types.IntervalType type
         0: .line 74
            new org.hsqldb.types.IntervalSecondData
            dup
            lload 0 /* minutes */
            ldc 60
            lmul
            iconst_0
            aload 2 /* type */
            invokespecial org.hsqldb.types.IntervalSecondData.<init>:(JILorg/hsqldb/types/IntervalType;)V
            areturn
        end local 2 // org.hsqldb.types.IntervalType type
        end local 0 // long minutes
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  minutes  J
            0    1     2     type  Lorg/hsqldb/types/IntervalType;
    MethodParameters:
         Name  Flags
      minutes  
      type     

  public static org.hsqldb.types.IntervalSecondData newIntervalSeconds(long, org.hsqldb.types.IntervalType);
    descriptor: (JLorg/hsqldb/types/IntervalType;)Lorg/hsqldb/types/IntervalSecondData;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // long seconds
        start local 2 // org.hsqldb.types.IntervalType type
         0: .line 79
            new org.hsqldb.types.IntervalSecondData
            dup
            lload 0 /* seconds */
            iconst_0
            aload 2 /* type */
            invokespecial org.hsqldb.types.IntervalSecondData.<init>:(JILorg/hsqldb/types/IntervalType;)V
            areturn
        end local 2 // org.hsqldb.types.IntervalType type
        end local 0 // long seconds
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  seconds  J
            0    1     2     type  Lorg/hsqldb/types/IntervalType;
    MethodParameters:
         Name  Flags
      seconds  
      type     

  public void <init>(long, int, org.hsqldb.types.IntervalType);
    descriptor: (JILorg/hsqldb/types/IntervalType;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // org.hsqldb.types.IntervalSecondData this
        start local 1 // long seconds
        start local 3 // int nanos
        start local 4 // org.hsqldb.types.IntervalType type
         0: .line 82
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 84
            lload 1 /* seconds */
            aload 4 /* type */
            invokevirtual org.hsqldb.types.IntervalType.getIntervalValueLimit:()J
            lcmp
            iflt 3
         2: .line 85
            sipush 3435
            invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
            athrow
         3: .line 88
      StackMap locals: org.hsqldb.types.IntervalSecondData long int org.hsqldb.types.IntervalType
      StackMap stack:
            aload 0 /* this */
            lload 1 /* seconds */
            putfield org.hsqldb.types.IntervalSecondData.units:J
         4: .line 89
            aload 0 /* this */
            iload 3 /* nanos */
            putfield org.hsqldb.types.IntervalSecondData.nanos:I
         5: .line 90
            return
        end local 4 // org.hsqldb.types.IntervalType type
        end local 3 // int nanos
        end local 1 // long seconds
        end local 0 // org.hsqldb.types.IntervalSecondData this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/hsqldb/types/IntervalSecondData;
            0    6     1  seconds  J
            0    6     3    nanos  I
            0    6     4     type  Lorg/hsqldb/types/IntervalType;
    MethodParameters:
         Name  Flags
      seconds  
      nanos    
      type     

  public void <init>(long, int);
    descriptor: (JI)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.hsqldb.types.IntervalSecondData this
        start local 1 // long seconds
        start local 3 // int nanos
         0: .line 92
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 93
            aload 0 /* this */
            lload 1 /* seconds */
            putfield org.hsqldb.types.IntervalSecondData.units:J
         2: .line 94
            aload 0 /* this */
            iload 3 /* nanos */
            putfield org.hsqldb.types.IntervalSecondData.nanos:I
         3: .line 95
            return
        end local 3 // int nanos
        end local 1 // long seconds
        end local 0 // org.hsqldb.types.IntervalSecondData this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/hsqldb/types/IntervalSecondData;
            0    4     1  seconds  J
            0    4     3    nanos  I
    MethodParameters:
         Name  Flags
      seconds  
      nanos    

  public void <init>(long, long, org.hsqldb.types.IntervalType, boolean);
    descriptor: (JJLorg/hsqldb/types/IntervalType;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=9, args_size=5
        start local 0 // org.hsqldb.types.IntervalSecondData this
        start local 1 // long seconds
        start local 3 // long nanos
        start local 5 // org.hsqldb.types.IntervalType type
        start local 6 // boolean normalise
         0: .line 100
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 103
            lload 3 /* nanos */
            ldc 1000000000
            lcmp
            iflt 6
         2: .line 104
            lload 3 /* nanos */
            ldc 1000000000
            ldiv
            lstore 7 /* carry */
        start local 7 // long carry
         3: .line 106
            lload 3 /* nanos */
            ldc 1000000000
            lrem
            lstore 3 /* nanos */
         4: .line 107
            lload 1 /* seconds */
            lload 7 /* carry */
            ladd
            lstore 1 /* seconds */
        end local 7 // long carry
         5: .line 108
            goto 10
      StackMap locals: org.hsqldb.types.IntervalSecondData long long org.hsqldb.types.IntervalType int
      StackMap stack:
         6: lload 3 /* nanos */
            ldc -1000000000
            lcmp
            ifgt 10
         7: .line 109
            lload 3 /* nanos */
            lneg
            ldc 1000000000
            ldiv
            lstore 7 /* carry */
        start local 7 // long carry
         8: .line 111
            lload 3 /* nanos */
            lneg
            ldc 1000000000
            lrem
            lneg
            lstore 3 /* nanos */
         9: .line 112
            lload 1 /* seconds */
            lload 7 /* carry */
            lsub
            lstore 1 /* seconds */
        end local 7 // long carry
        10: .line 115
      StackMap locals:
      StackMap stack:
            getstatic org.hsqldb.types.DTIType.nanoScaleFactors:[I
            aload 5 /* type */
            getfield org.hsqldb.types.IntervalType.scale:I
            iaload
            istore 7 /* scaleFactor */
        start local 7 // int scaleFactor
        11: .line 117
            lload 3 /* nanos */
            iload 7 /* scaleFactor */
            i2l
            ldiv
            lstore 3 /* nanos */
        12: .line 118
            lload 3 /* nanos */
            iload 7 /* scaleFactor */
            i2l
            lmul
            lstore 3 /* nanos */
        13: .line 120
            lload 1 /* seconds */
            lconst_0
            lcmp
            ifle 17
            lload 3 /* nanos */
            lconst_0
            lcmp
            ifge 17
        14: .line 121
            lload 3 /* nanos */
            ldc 1000000000
            ladd
            lstore 3 /* nanos */
        15: .line 123
            lload 1 /* seconds */
            lconst_1
            lsub
            lstore 1 /* seconds */
        16: .line 124
            goto 20
      StackMap locals: int
      StackMap stack:
        17: lload 1 /* seconds */
            lconst_0
            lcmp
            ifge 20
            lload 3 /* nanos */
            lconst_0
            lcmp
            ifle 20
        18: .line 125
            lload 3 /* nanos */
            ldc 1000000000
            lsub
            lstore 3 /* nanos */
        19: .line 127
            lload 1 /* seconds */
            lconst_1
            ladd
            lstore 1 /* seconds */
        20: .line 130
      StackMap locals:
      StackMap stack:
            getstatic org.hsqldb.types.DTIType.yearToSecondFactors:[I
            aload 5 /* type */
            getfield org.hsqldb.types.IntervalType.endPartIndex:I
            iaload
            istore 7 /* scaleFactor */
        21: .line 131
            lload 1 /* seconds */
            iload 7 /* scaleFactor */
            i2l
            ldiv
            lstore 1 /* seconds */
        22: .line 132
            lload 1 /* seconds */
            iload 7 /* scaleFactor */
            i2l
            lmul
            lstore 1 /* seconds */
        23: .line 134
            lload 1 /* seconds */
            aload 5 /* type */
            invokevirtual org.hsqldb.types.IntervalType.getIntervalValueLimit:()J
            lcmp
            iflt 25
        24: .line 135
            sipush 3435
            invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
            athrow
        25: .line 138
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 1 /* seconds */
            putfield org.hsqldb.types.IntervalSecondData.units:J
        26: .line 139
            aload 0 /* this */
            lload 3 /* nanos */
            l2i
            putfield org.hsqldb.types.IntervalSecondData.nanos:I
        27: .line 140
            return
        end local 7 // int scaleFactor
        end local 6 // boolean normalise
        end local 5 // org.hsqldb.types.IntervalType type
        end local 3 // long nanos
        end local 1 // long seconds
        end local 0 // org.hsqldb.types.IntervalSecondData this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   28     0         this  Lorg/hsqldb/types/IntervalSecondData;
            0   28     1      seconds  J
            0   28     3        nanos  J
            0   28     5         type  Lorg/hsqldb/types/IntervalType;
            0   28     6    normalise  Z
            3    5     7        carry  J
            8   10     7        carry  J
           11   28     7  scaleFactor  I
    MethodParameters:
           Name  Flags
      seconds    
      nanos      
      type       
      normalise  

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.hsqldb.types.IntervalSecondData this
        start local 1 // java.lang.Object other
         0: .line 144
            aload 1 /* other */
            instanceof org.hsqldb.types.IntervalSecondData
            ifeq 5
         1: .line 145
            aload 0 /* this */
            getfield org.hsqldb.types.IntervalSecondData.units:J
            aload 1 /* other */
            checkcast org.hsqldb.types.IntervalSecondData
            getfield org.hsqldb.types.IntervalSecondData.units:J
            lcmp
            ifne 4
         2: .line 146
            aload 0 /* this */
            getfield org.hsqldb.types.IntervalSecondData.nanos:I
            aload 1 /* other */
            checkcast org.hsqldb.types.IntervalSecondData
            getfield org.hsqldb.types.IntervalSecondData.nanos:I
            if_icmpne 4
         3: .line 145
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         4: iconst_0
            ireturn
         5: .line 149
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // java.lang.Object other
        end local 0 // org.hsqldb.types.IntervalSecondData this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lorg/hsqldb/types/IntervalSecondData;
            0    6     1  other  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      other  

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.hsqldb.types.IntervalSecondData this
         0: .line 153
            aload 0 /* this */
            getfield org.hsqldb.types.IntervalSecondData.units:J
            l2i
            aload 0 /* this */
            getfield org.hsqldb.types.IntervalSecondData.nanos:I
            ixor
            ireturn
        end local 0 // org.hsqldb.types.IntervalSecondData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hsqldb/types/IntervalSecondData;

  public int compareTo(org.hsqldb.types.IntervalSecondData);
    descriptor: (Lorg/hsqldb/types/IntervalSecondData;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.hsqldb.types.IntervalSecondData this
        start local 1 // org.hsqldb.types.IntervalSecondData b
         0: .line 158
            aload 0 /* this */
            getfield org.hsqldb.types.IntervalSecondData.units:J
            aload 1 /* b */
            getfield org.hsqldb.types.IntervalSecondData.units:J
            lcmp
            ifle 2
         1: .line 159
            iconst_1
            ireturn
         2: .line 160
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.types.IntervalSecondData.units:J
            aload 1 /* b */
            getfield org.hsqldb.types.IntervalSecondData.units:J
            lcmp
            ifge 4
         3: .line 161
            iconst_m1
            ireturn
         4: .line 163
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.types.IntervalSecondData.nanos:I
            aload 1 /* b */
            getfield org.hsqldb.types.IntervalSecondData.nanos:I
            if_icmple 6
         5: .line 164
            iconst_1
            ireturn
         6: .line 165
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.types.IntervalSecondData.nanos:I
            aload 1 /* b */
            getfield org.hsqldb.types.IntervalSecondData.nanos:I
            if_icmpge 8
         7: .line 166
            iconst_m1
            ireturn
         8: .line 168
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // org.hsqldb.types.IntervalSecondData b
        end local 0 // org.hsqldb.types.IntervalSecondData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lorg/hsqldb/types/IntervalSecondData;
            0    9     1     b  Lorg/hsqldb/types/IntervalSecondData;
    MethodParameters:
      Name  Flags
      b     

  public long getSeconds();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.hsqldb.types.IntervalSecondData this
         0: .line 174
            aload 0 /* this */
            getfield org.hsqldb.types.IntervalSecondData.units:J
            lreturn
        end local 0 // org.hsqldb.types.IntervalSecondData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hsqldb/types/IntervalSecondData;

  public int getNanos();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hsqldb.types.IntervalSecondData this
         0: .line 178
            aload 0 /* this */
            getfield org.hsqldb.types.IntervalSecondData.nanos:I
            ireturn
        end local 0 // org.hsqldb.types.IntervalSecondData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hsqldb/types/IntervalSecondData;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.hsqldb.types.IntervalSecondData this
         0: .line 182
            getstatic org.hsqldb.types.Type.SQL_INTERVAL_SECOND_MAX_FRACTION_MAX_PRECISION:Lorg/hsqldb/types/IntervalType;
         1: .line 183
            aload 0 /* this */
            invokevirtual org.hsqldb.types.IntervalType.convertToString:(Ljava/lang/Object;)Ljava/lang/String;
         2: .line 182
            areturn
        end local 0 // org.hsqldb.types.IntervalSecondData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/hsqldb/types/IntervalSecondData;
}
SourceFile: "IntervalSecondData.java"