public class org.h2.value.ValueTimestamp extends org.h2.value.Value
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.h2.value.ValueTimestamp
  super_class: org.h2.value.Value
{
  public static final int DEFAULT_PRECISION;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 26

  public static final int MAXIMUM_PRECISION;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 29

  static final int DEFAULT_SCALE;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 6

  public static final int MAXIMUM_SCALE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 9

  private final long dateValue;
    descriptor: J
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final long timeNanos;
    descriptor: J
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private void <init>(long, long);
    descriptor: (JJ)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // org.h2.value.ValueTimestamp this
        start local 1 // long dateValue
        start local 3 // long timeNanos
         0: .line 53
            aload 0 /* this */
            invokespecial org.h2.value.Value.<init>:()V
         1: .line 54
            aload 0 /* this */
            lload 1 /* dateValue */
            putfield org.h2.value.ValueTimestamp.dateValue:J
         2: .line 55
            lload 3 /* timeNanos */
            lconst_0
            lcmp
            iflt 3
            lload 3 /* timeNanos */
            ldc 86400000000000
            lcmp
            iflt 4
         3: .line 56
      StackMap locals: org.h2.value.ValueTimestamp long long
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "timeNanos out of range "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            lload 3 /* timeNanos */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 58
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 3 /* timeNanos */
            putfield org.h2.value.ValueTimestamp.timeNanos:J
         5: .line 59
            return
        end local 3 // long timeNanos
        end local 1 // long dateValue
        end local 0 // org.h2.value.ValueTimestamp this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       this  Lorg/h2/value/ValueTimestamp;
            0    6     1  dateValue  J
            0    6     3  timeNanos  J
    MethodParameters:
           Name  Flags
      dateValue  
      timeNanos  

  public static org.h2.value.ValueTimestamp fromDateValueAndNanos(long, long);
    descriptor: (JJ)Lorg/h2/value/ValueTimestamp;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=2
        start local 0 // long dateValue
        start local 2 // long timeNanos
         0: .line 70
            new org.h2.value.ValueTimestamp
            dup
            lload 0 /* dateValue */
            lload 2 /* timeNanos */
            invokespecial org.h2.value.ValueTimestamp.<init>:(JJ)V
            invokestatic org.h2.value.Value.cache:(Lorg/h2/value/Value;)Lorg/h2/value/Value;
            checkcast org.h2.value.ValueTimestamp
            areturn
        end local 2 // long timeNanos
        end local 0 // long dateValue
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0  dateValue  J
            0    1     2  timeNanos  J
    MethodParameters:
           Name  Flags
      dateValue  
      timeNanos  

  public static org.h2.value.ValueTimestamp get(java.sql.Timestamp);
    descriptor: (Ljava/sql/Timestamp;)Lorg/h2/value/ValueTimestamp;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=7, args_size=1
        start local 0 // java.sql.Timestamp timestamp
         0: .line 80
            aload 0 /* timestamp */
            invokevirtual java.sql.Timestamp.getTime:()J
            lstore 1 /* ms */
        start local 1 // long ms
         1: .line 81
            aload 0 /* timestamp */
            invokevirtual java.sql.Timestamp.getNanos:()I
            ldc 1000000
            irem
            i2l
            lstore 3 /* nanos */
        start local 3 // long nanos
         2: .line 82
            lload 1 /* ms */
            lload 1 /* ms */
            invokestatic org.h2.util.DateTimeUtils.getTimeZoneOffset:(J)I
            i2l
            ladd
            lstore 1 /* ms */
         3: .line 83
            lload 1 /* ms */
            invokestatic org.h2.util.DateTimeUtils.dateValueFromLocalMillis:(J)J
            lstore 5 /* dateValue */
        start local 5 // long dateValue
         4: .line 84
            lload 3 /* nanos */
            lload 1 /* ms */
            invokestatic org.h2.util.DateTimeUtils.nanosFromLocalMillis:(J)J
            ladd
            lstore 3 /* nanos */
         5: .line 85
            lload 5 /* dateValue */
            lload 3 /* nanos */
            invokestatic org.h2.value.ValueTimestamp.fromDateValueAndNanos:(JJ)Lorg/h2/value/ValueTimestamp;
            areturn
        end local 5 // long dateValue
        end local 3 // long nanos
        end local 1 // long ms
        end local 0 // java.sql.Timestamp timestamp
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0  timestamp  Ljava/sql/Timestamp;
            1    6     1         ms  J
            2    6     3      nanos  J
            4    6     5  dateValue  J
    MethodParameters:
           Name  Flags
      timestamp  

  public static org.h2.value.ValueTimestamp fromMillisNanos(long, int);
    descriptor: (JI)Lorg/h2/value/ValueTimestamp;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // long ms
        start local 2 // int nanos
         0: .line 96
            lload 0 /* ms */
            lload 0 /* ms */
            invokestatic org.h2.util.DateTimeUtils.getTimeZoneOffset:(J)I
            i2l
            ladd
            lstore 0 /* ms */
         1: .line 97
            lload 0 /* ms */
            invokestatic org.h2.util.DateTimeUtils.dateValueFromLocalMillis:(J)J
            lstore 3 /* dateValue */
        start local 3 // long dateValue
         2: .line 98
            iload 2 /* nanos */
            i2l
            lload 0 /* ms */
            invokestatic org.h2.util.DateTimeUtils.nanosFromLocalMillis:(J)J
            ladd
            lstore 5 /* timeNanos */
        start local 5 // long timeNanos
         3: .line 99
            lload 3 /* dateValue */
            lload 5 /* timeNanos */
            invokestatic org.h2.value.ValueTimestamp.fromDateValueAndNanos:(JJ)Lorg/h2/value/ValueTimestamp;
            areturn
        end local 5 // long timeNanos
        end local 3 // long dateValue
        end local 2 // int nanos
        end local 0 // long ms
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0         ms  J
            0    4     2      nanos  I
            2    4     3  dateValue  J
            3    4     5  timeNanos  J
    MethodParameters:
       Name  Flags
      ms     
      nanos  

  public static org.h2.value.ValueTimestamp fromMillis(long);
    descriptor: (J)Lorg/h2/value/ValueTimestamp;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // long ms
         0: .line 109
            lload 0 /* ms */
            lload 0 /* ms */
            invokestatic org.h2.util.DateTimeUtils.getTimeZoneOffset:(J)I
            i2l
            ladd
            lstore 0 /* ms */
         1: .line 110
            lload 0 /* ms */
            invokestatic org.h2.util.DateTimeUtils.dateValueFromLocalMillis:(J)J
            lstore 2 /* dateValue */
        start local 2 // long dateValue
         2: .line 111
            lload 0 /* ms */
            invokestatic org.h2.util.DateTimeUtils.nanosFromLocalMillis:(J)J
            lstore 4 /* nanos */
        start local 4 // long nanos
         3: .line 112
            lload 2 /* dateValue */
            lload 4 /* nanos */
            invokestatic org.h2.value.ValueTimestamp.fromDateValueAndNanos:(JJ)Lorg/h2/value/ValueTimestamp;
            areturn
        end local 4 // long nanos
        end local 2 // long dateValue
        end local 0 // long ms
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0         ms  J
            2    4     2  dateValue  J
            3    4     4      nanos  J
    MethodParameters:
      Name  Flags
      ms    

  public static org.h2.value.ValueTimestamp parse(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/h2/value/ValueTimestamp;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String s
         0: .line 124
            aload 0 /* s */
            aconst_null
            invokestatic org.h2.value.ValueTimestamp.parse:(Ljava/lang/String;Lorg/h2/engine/Mode;)Lorg/h2/value/ValueTimestamp;
            areturn
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     s  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      s     

  public static org.h2.value.ValueTimestamp parse(java.lang.String, org.h2.engine.Mode);
    descriptor: (Ljava/lang/String;Lorg/h2/engine/Mode;)Lorg/h2/value/ValueTimestamp;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // java.lang.String s
        start local 1 // org.h2.engine.Mode mode
         0: .line 138
            aload 0 /* s */
            aload 1 /* mode */
            iconst_0
            invokestatic org.h2.util.DateTimeUtils.parseTimestamp:(Ljava/lang/String;Lorg/h2/engine/Mode;Z)Lorg/h2/value/Value;
            checkcast org.h2.value.ValueTimestamp
         1: areturn
         2: .line 139
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 2 /* e */
        start local 2 // java.lang.Exception e
         3: .line 140
            sipush 22007
         4: .line 141
            aload 2 /* e */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc "TIMESTAMP"
            aastore
            dup
            iconst_1
            aload 0 /* s */
            aastore
         5: .line 140
            invokestatic org.h2.message.DbException.get:(ILjava/lang/Throwable;[Ljava/lang/String;)Lorg/h2/message/DbException;
            athrow
        end local 2 // java.lang.Exception e
        end local 1 // org.h2.engine.Mode mode
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0     s  Ljava/lang/String;
            0    6     1  mode  Lorg/h2/engine/Mode;
            3    6     2     e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.Exception
    MethodParameters:
      Name  Flags
      s     
      mode  

  public long getDateValue();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.h2.value.ValueTimestamp this
         0: .line 152
            aload 0 /* this */
            getfield org.h2.value.ValueTimestamp.dateValue:J
            lreturn
        end local 0 // org.h2.value.ValueTimestamp this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/value/ValueTimestamp;

  public long getTimeNanos();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.h2.value.ValueTimestamp this
         0: .line 161
            aload 0 /* this */
            getfield org.h2.value.ValueTimestamp.timeNanos:J
            lreturn
        end local 0 // org.h2.value.ValueTimestamp this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/value/ValueTimestamp;

  public java.sql.Timestamp getTimestamp();
    descriptor: ()Ljava/sql/Timestamp;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.h2.value.ValueTimestamp this
         0: .line 166
            aload 0 /* this */
            getfield org.h2.value.ValueTimestamp.dateValue:J
            aload 0 /* this */
            getfield org.h2.value.ValueTimestamp.timeNanos:J
            invokestatic org.h2.util.DateTimeUtils.convertDateValueToTimestamp:(JJ)Ljava/sql/Timestamp;
            areturn
        end local 0 // org.h2.value.ValueTimestamp this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/value/ValueTimestamp;

  public org.h2.value.TypeInfo getType();
    descriptor: ()Lorg/h2/value/TypeInfo;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.value.ValueTimestamp this
         0: .line 171
            getstatic org.h2.value.TypeInfo.TYPE_TIMESTAMP:Lorg/h2/value/TypeInfo;
            areturn
        end local 0 // org.h2.value.ValueTimestamp this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/value/ValueTimestamp;

  public int getValueType();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.value.ValueTimestamp this
         0: .line 176
            bipush 11
            ireturn
        end local 0 // org.h2.value.ValueTimestamp this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/value/ValueTimestamp;

  public int getMemory();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.value.ValueTimestamp this
         0: .line 181
            bipush 32
            ireturn
        end local 0 // org.h2.value.ValueTimestamp this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/value/ValueTimestamp;

  public java.lang.String getString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.h2.value.ValueTimestamp this
         0: .line 186
            new java.lang.StringBuilder
            dup
            bipush 29
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 1 /* buff */
        start local 1 // java.lang.StringBuilder buff
         1: .line 187
            aload 1 /* buff */
            aload 0 /* this */
            getfield org.h2.value.ValueTimestamp.dateValue:J
            invokestatic org.h2.util.DateTimeUtils.appendDate:(Ljava/lang/StringBuilder;J)V
         2: .line 188
            aload 1 /* buff */
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         3: .line 189
            aload 1 /* buff */
            aload 0 /* this */
            getfield org.h2.value.ValueTimestamp.timeNanos:J
            invokestatic org.h2.util.DateTimeUtils.appendTime:(Ljava/lang/StringBuilder;J)V
         4: .line 190
            aload 1 /* buff */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuilder buff
        end local 0 // org.h2.value.ValueTimestamp this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/h2/value/ValueTimestamp;
            1    5     1  buff  Ljava/lang/StringBuilder;

  public java.lang.StringBuilder getSQL(java.lang.StringBuilder);
    descriptor: (Ljava/lang/StringBuilder;)Ljava/lang/StringBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.h2.value.ValueTimestamp this
        start local 1 // java.lang.StringBuilder builder
         0: .line 195
            aload 1 /* builder */
            ldc "TIMESTAMP '"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         1: .line 196
            aload 1 /* builder */
            aload 0 /* this */
            getfield org.h2.value.ValueTimestamp.dateValue:J
            invokestatic org.h2.util.DateTimeUtils.appendDate:(Ljava/lang/StringBuilder;J)V
         2: .line 197
            aload 1 /* builder */
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         3: .line 198
            aload 1 /* builder */
            aload 0 /* this */
            getfield org.h2.value.ValueTimestamp.timeNanos:J
            invokestatic org.h2.util.DateTimeUtils.appendTime:(Ljava/lang/StringBuilder;J)V
         4: .line 199
            aload 1 /* builder */
            bipush 39
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            areturn
        end local 1 // java.lang.StringBuilder builder
        end local 0 // org.h2.value.ValueTimestamp this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/h2/value/ValueTimestamp;
            0    5     1  builder  Ljava/lang/StringBuilder;
    MethodParameters:
         Name  Flags
      builder  

  public boolean checkPrecision(long);
    descriptor: (J)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=2
        start local 0 // org.h2.value.ValueTimestamp this
        start local 1 // long precision
         0: .line 205
            iconst_1
            ireturn
        end local 1 // long precision
        end local 0 // org.h2.value.ValueTimestamp this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lorg/h2/value/ValueTimestamp;
            0    1     1  precision  J
    MethodParameters:
           Name  Flags
      precision  

  public org.h2.value.Value convertScale(boolean, int);
    descriptor: (ZI)Lorg/h2/value/Value;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=9, args_size=3
        start local 0 // org.h2.value.ValueTimestamp this
        start local 1 // boolean onlyToSmallerScale
        start local 2 // int targetScale
         0: .line 210
            iload 2 /* targetScale */
            bipush 9
            if_icmplt 2
         1: .line 211
            aload 0 /* this */
            areturn
         2: .line 213
      StackMap locals:
      StackMap stack:
            iload 2 /* targetScale */
            ifge 4
         3: .line 214
            ldc "scale"
            iload 2 /* targetScale */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokestatic org.h2.message.DbException.getInvalidValueException:(Ljava/lang/String;Ljava/lang/Object;)Lorg/h2/message/DbException;
            athrow
         4: .line 216
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.value.ValueTimestamp.timeNanos:J
            lstore 3 /* n */
        start local 3 // long n
         5: .line 217
            lload 3 /* n */
            iload 2 /* targetScale */
            invokestatic org.h2.util.DateTimeUtils.convertScale:(JI)J
            lstore 5 /* n2 */
        start local 5 // long n2
         6: .line 218
            lload 5 /* n2 */
            lload 3 /* n */
            lcmp
            ifne 8
         7: .line 219
            aload 0 /* this */
            areturn
         8: .line 221
      StackMap locals: long long
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.value.ValueTimestamp.dateValue:J
            lstore 7 /* dv */
        start local 7 // long dv
         9: .line 222
            lload 5 /* n2 */
            ldc 86400000000000
            lcmp
            iflt 12
        10: .line 223
            lload 5 /* n2 */
            ldc 86400000000000
            lsub
            lstore 5 /* n2 */
        11: .line 224
            lload 7 /* dv */
            invokestatic org.h2.util.DateTimeUtils.incrementDateValue:(J)J
            lstore 7 /* dv */
        12: .line 226
      StackMap locals: long
      StackMap stack:
            lload 7 /* dv */
            lload 5 /* n2 */
            invokestatic org.h2.value.ValueTimestamp.fromDateValueAndNanos:(JJ)Lorg/h2/value/ValueTimestamp;
            areturn
        end local 7 // long dv
        end local 5 // long n2
        end local 3 // long n
        end local 2 // int targetScale
        end local 1 // boolean onlyToSmallerScale
        end local 0 // org.h2.value.ValueTimestamp this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   13     0                this  Lorg/h2/value/ValueTimestamp;
            0   13     1  onlyToSmallerScale  Z
            0   13     2         targetScale  I
            5   13     3                   n  J
            6   13     5                  n2  J
            9   13     7                  dv  J
    MethodParameters:
                    Name  Flags
      onlyToSmallerScale  
      targetScale         

  public int compareTypeSafe(org.h2.value.Value, org.h2.value.CompareMode);
    descriptor: (Lorg/h2/value/Value;Lorg/h2/value/CompareMode;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // org.h2.value.ValueTimestamp this
        start local 1 // org.h2.value.Value o
        start local 2 // org.h2.value.CompareMode mode
         0: .line 231
            aload 1 /* o */
            checkcast org.h2.value.ValueTimestamp
            astore 3 /* t */
        start local 3 // org.h2.value.ValueTimestamp t
         1: .line 232
            aload 0 /* this */
            getfield org.h2.value.ValueTimestamp.dateValue:J
            aload 3 /* t */
            getfield org.h2.value.ValueTimestamp.dateValue:J
            invokestatic java.lang.Long.compare:(JJ)I
            istore 4 /* c */
        start local 4 // int c
         2: .line 233
            iload 4 /* c */
            ifeq 4
         3: .line 234
            iload 4 /* c */
            ireturn
         4: .line 236
      StackMap locals: org.h2.value.ValueTimestamp int
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.value.ValueTimestamp.timeNanos:J
            aload 3 /* t */
            getfield org.h2.value.ValueTimestamp.timeNanos:J
            invokestatic java.lang.Long.compare:(JJ)I
            ireturn
        end local 4 // int c
        end local 3 // org.h2.value.ValueTimestamp t
        end local 2 // org.h2.value.CompareMode mode
        end local 1 // org.h2.value.Value o
        end local 0 // org.h2.value.ValueTimestamp this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/h2/value/ValueTimestamp;
            0    5     1     o  Lorg/h2/value/Value;
            0    5     2  mode  Lorg/h2/value/CompareMode;
            1    5     3     t  Lorg/h2/value/ValueTimestamp;
            2    5     4     c  I
    MethodParameters:
      Name  Flags
      o     
      mode  

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.h2.value.ValueTimestamp this
        start local 1 // java.lang.Object other
         0: .line 241
            aload 0 /* this */
            aload 1 /* other */
            if_acmpne 2
         1: .line 242
            iconst_1
            ireturn
         2: .line 243
      StackMap locals:
      StackMap stack:
            aload 1 /* other */
            instanceof org.h2.value.ValueTimestamp
            ifne 4
         3: .line 244
            iconst_0
            ireturn
         4: .line 246
      StackMap locals:
      StackMap stack:
            aload 1 /* other */
            checkcast org.h2.value.ValueTimestamp
            astore 2 /* x */
        start local 2 // org.h2.value.ValueTimestamp x
         5: .line 247
            aload 0 /* this */
            getfield org.h2.value.ValueTimestamp.dateValue:J
            aload 2 /* x */
            getfield org.h2.value.ValueTimestamp.dateValue:J
            lcmp
            ifne 6
            aload 0 /* this */
            getfield org.h2.value.ValueTimestamp.timeNanos:J
            aload 2 /* x */
            getfield org.h2.value.ValueTimestamp.timeNanos:J
            lcmp
            ifne 6
            iconst_1
            ireturn
      StackMap locals: org.h2.value.ValueTimestamp
      StackMap stack:
         6: iconst_0
            ireturn
        end local 2 // org.h2.value.ValueTimestamp x
        end local 1 // java.lang.Object other
        end local 0 // org.h2.value.ValueTimestamp this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lorg/h2/value/ValueTimestamp;
            0    7     1  other  Ljava/lang/Object;
            5    7     2      x  Lorg/h2/value/ValueTimestamp;
    MethodParameters:
       Name  Flags
      other  

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // org.h2.value.ValueTimestamp this
         0: .line 252
            aload 0 /* this */
            getfield org.h2.value.ValueTimestamp.dateValue:J
            aload 0 /* this */
            getfield org.h2.value.ValueTimestamp.dateValue:J
            bipush 32
            lushr
            lxor
            aload 0 /* this */
            getfield org.h2.value.ValueTimestamp.timeNanos:J
            lxor
            aload 0 /* this */
            getfield org.h2.value.ValueTimestamp.timeNanos:J
            bipush 32
            lushr
            lxor
            l2i
            ireturn
        end local 0 // org.h2.value.ValueTimestamp this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/value/ValueTimestamp;

  public java.lang.Object getObject();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.value.ValueTimestamp this
         0: .line 257
            aload 0 /* this */
            invokevirtual org.h2.value.ValueTimestamp.getTimestamp:()Ljava/sql/Timestamp;
            areturn
        end local 0 // org.h2.value.ValueTimestamp this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/value/ValueTimestamp;

  public void set(java.sql.PreparedStatement, int);
    descriptor: (Ljava/sql/PreparedStatement;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.h2.value.ValueTimestamp this
        start local 1 // java.sql.PreparedStatement prep
        start local 2 // int parameterIndex
         0: .line 263
            aload 1 /* prep */
            iload 2 /* parameterIndex */
            aload 0 /* this */
            invokevirtual org.h2.value.ValueTimestamp.getTimestamp:()Ljava/sql/Timestamp;
            invokeinterface java.sql.PreparedStatement.setTimestamp:(ILjava/sql/Timestamp;)V
         1: .line 264
            return
        end local 2 // int parameterIndex
        end local 1 // java.sql.PreparedStatement prep
        end local 0 // org.h2.value.ValueTimestamp this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Lorg/h2/value/ValueTimestamp;
            0    2     1            prep  Ljava/sql/PreparedStatement;
            0    2     2  parameterIndex  I
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
                Name  Flags
      prep            
      parameterIndex  

  public org.h2.value.Value add(org.h2.value.Value);
    descriptor: (Lorg/h2/value/Value;)Lorg/h2/value/Value;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=7, args_size=2
        start local 0 // org.h2.value.ValueTimestamp this
        start local 1 // org.h2.value.Value v
         0: .line 268
            aload 1 /* v */
            bipush 11
            invokevirtual org.h2.value.Value.convertTo:(I)Lorg/h2/value/Value;
            checkcast org.h2.value.ValueTimestamp
            astore 2 /* t */
        start local 2 // org.h2.value.ValueTimestamp t
         1: .line 269
            aload 0 /* this */
            getfield org.h2.value.ValueTimestamp.dateValue:J
            invokestatic org.h2.util.DateTimeUtils.absoluteDayFromDateValue:(J)J
            lstore 3 /* d1 */
        start local 3 // long d1
         2: .line 270
            aload 2 /* t */
            getfield org.h2.value.ValueTimestamp.dateValue:J
            invokestatic org.h2.util.DateTimeUtils.absoluteDayFromDateValue:(J)J
            lstore 5 /* d2 */
        start local 5 // long d2
         3: .line 271
            lload 3 /* d1 */
            lload 5 /* d2 */
            ladd
            aload 0 /* this */
            getfield org.h2.value.ValueTimestamp.timeNanos:J
            aload 2 /* t */
            getfield org.h2.value.ValueTimestamp.timeNanos:J
            ladd
            invokestatic org.h2.util.DateTimeUtils.normalizeTimestamp:(JJ)Lorg/h2/value/ValueTimestamp;
            areturn
        end local 5 // long d2
        end local 3 // long d1
        end local 2 // org.h2.value.ValueTimestamp t
        end local 1 // org.h2.value.Value v
        end local 0 // org.h2.value.ValueTimestamp this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/h2/value/ValueTimestamp;
            0    4     1     v  Lorg/h2/value/Value;
            1    4     2     t  Lorg/h2/value/ValueTimestamp;
            2    4     3    d1  J
            3    4     5    d2  J
    MethodParameters:
      Name  Flags
      v     

  public org.h2.value.Value subtract(org.h2.value.Value);
    descriptor: (Lorg/h2/value/Value;)Lorg/h2/value/Value;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=7, args_size=2
        start local 0 // org.h2.value.ValueTimestamp this
        start local 1 // org.h2.value.Value v
         0: .line 276
            aload 1 /* v */
            bipush 11
            invokevirtual org.h2.value.Value.convertTo:(I)Lorg/h2/value/Value;
            checkcast org.h2.value.ValueTimestamp
            astore 2 /* t */
        start local 2 // org.h2.value.ValueTimestamp t
         1: .line 277
            aload 0 /* this */
            getfield org.h2.value.ValueTimestamp.dateValue:J
            invokestatic org.h2.util.DateTimeUtils.absoluteDayFromDateValue:(J)J
            lstore 3 /* d1 */
        start local 3 // long d1
         2: .line 278
            aload 2 /* t */
            getfield org.h2.value.ValueTimestamp.dateValue:J
            invokestatic org.h2.util.DateTimeUtils.absoluteDayFromDateValue:(J)J
            lstore 5 /* d2 */
        start local 5 // long d2
         3: .line 279
            lload 3 /* d1 */
            lload 5 /* d2 */
            lsub
            aload 0 /* this */
            getfield org.h2.value.ValueTimestamp.timeNanos:J
            aload 2 /* t */
            getfield org.h2.value.ValueTimestamp.timeNanos:J
            lsub
            invokestatic org.h2.util.DateTimeUtils.normalizeTimestamp:(JJ)Lorg/h2/value/ValueTimestamp;
            areturn
        end local 5 // long d2
        end local 3 // long d1
        end local 2 // org.h2.value.ValueTimestamp t
        end local 1 // org.h2.value.Value v
        end local 0 // org.h2.value.ValueTimestamp this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/h2/value/ValueTimestamp;
            0    4     1     v  Lorg/h2/value/Value;
            1    4     2     t  Lorg/h2/value/ValueTimestamp;
            2    4     3    d1  J
            3    4     5    d2  J
    MethodParameters:
      Name  Flags
      v     
}
SourceFile: "ValueTimestamp.java"