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

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

  private void <init>(long);
    descriptor: (J)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.h2.value.ValueDate this
        start local 1 // long dateValue
         0: .line 29
            aload 0 /* this */
            invokespecial org.h2.value.Value.<init>:()V
         1: .line 30
            aload 0 /* this */
            lload 1 /* dateValue */
            putfield org.h2.value.ValueDate.dateValue:J
         2: .line 31
            return
        end local 1 // long dateValue
        end local 0 // org.h2.value.ValueDate this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lorg/h2/value/ValueDate;
            0    3     1  dateValue  J
    MethodParameters:
           Name  Flags
      dateValue  

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

  public static org.h2.value.ValueDate get(java.sql.Date);
    descriptor: (Ljava/sql/Date;)Lorg/h2/value/ValueDate;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // java.sql.Date date
         0: .line 50
            aload 0 /* date */
            invokevirtual java.sql.Date.getTime:()J
            lstore 1 /* ms */
        start local 1 // long ms
         1: .line 51
            lload 1 /* ms */
            lload 1 /* ms */
            invokestatic org.h2.util.DateTimeUtils.getTimeZoneOffset:(J)I
            i2l
            ladd
            invokestatic org.h2.util.DateTimeUtils.dateValueFromLocalMillis:(J)J
            invokestatic org.h2.value.ValueDate.fromDateValue:(J)Lorg/h2/value/ValueDate;
            areturn
        end local 1 // long ms
        end local 0 // java.sql.Date date
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  date  Ljava/sql/Date;
            1    2     1    ms  J
    MethodParameters:
      Name  Flags
      date  

  public static org.h2.value.ValueDate fromMillis(long);
    descriptor: (J)Lorg/h2/value/ValueDate;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // long ms
         0: .line 62
            lload 0 /* ms */
            lload 0 /* ms */
            invokestatic org.h2.util.DateTimeUtils.getTimeZoneOffset:(J)I
            i2l
            ladd
            invokestatic org.h2.util.DateTimeUtils.dateValueFromLocalMillis:(J)J
            invokestatic org.h2.value.ValueDate.fromDateValue:(J)Lorg/h2/value/ValueDate;
            areturn
        end local 0 // long ms
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    ms  J
    MethodParameters:
      Name  Flags
      ms    

  public static org.h2.value.ValueDate parse(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/h2/value/ValueDate;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=2, args_size=1
        start local 0 // java.lang.String s
         0: .line 73
            aload 0 /* s */
            iconst_0
            aload 0 /* s */
            invokevirtual java.lang.String.length:()I
            invokestatic org.h2.util.DateTimeUtils.parseDateValue:(Ljava/lang/String;II)J
            invokestatic org.h2.value.ValueDate.fromDateValue:(J)Lorg/h2/value/ValueDate;
         1: areturn
         2: .line 74
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 1 /* e */
        start local 1 // java.lang.Exception e
         3: .line 75
            sipush 22007
         4: .line 76
            aload 1 /* e */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc "DATE"
            aastore
            dup
            iconst_1
            aload 0 /* s */
            aastore
         5: .line 75
            invokestatic org.h2.message.DbException.get:(ILjava/lang/Throwable;[Ljava/lang/String;)Lorg/h2/message/DbException;
            athrow
        end local 1 // java.lang.Exception e
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0     s  Ljava/lang/String;
            3    6     1     e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.Exception
    MethodParameters:
      Name  Flags
      s     

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

  public java.sql.Date getDate();
    descriptor: ()Ljava/sql/Date;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.h2.value.ValueDate this
         0: .line 86
            aload 0 /* this */
            getfield org.h2.value.ValueDate.dateValue:J
            invokestatic org.h2.util.DateTimeUtils.convertDateValueToDate:(J)Ljava/sql/Date;
            areturn
        end local 0 // org.h2.value.ValueDate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/value/ValueDate;

  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.ValueDate this
         0: .line 91
            getstatic org.h2.value.TypeInfo.TYPE_DATE:Lorg/h2/value/TypeInfo;
            areturn
        end local 0 // org.h2.value.ValueDate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/value/ValueDate;

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

  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.ValueDate this
         0: .line 101
            new java.lang.StringBuilder
            dup
            bipush 10
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 1 /* buff */
        start local 1 // java.lang.StringBuilder buff
         1: .line 102
            aload 1 /* buff */
            aload 0 /* this */
            getfield org.h2.value.ValueDate.dateValue:J
            invokestatic org.h2.util.DateTimeUtils.appendDate:(Ljava/lang/StringBuilder;J)V
         2: .line 103
            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.ValueDate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/h2/value/ValueDate;
            1    3     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.ValueDate this
        start local 1 // java.lang.StringBuilder builder
         0: .line 108
            aload 1 /* builder */
            ldc "DATE '"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         1: .line 109
            aload 1 /* builder */
            aload 0 /* this */
            getfield org.h2.value.ValueDate.dateValue:J
            invokestatic org.h2.util.DateTimeUtils.appendDate:(Ljava/lang/StringBuilder;J)V
         2: .line 110
            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.ValueDate this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/h2/value/ValueDate;
            0    3     1  builder  Ljava/lang/StringBuilder;
    MethodParameters:
         Name  Flags
      builder  

  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=3, args_size=3
        start local 0 // org.h2.value.ValueDate this
        start local 1 // org.h2.value.Value o
        start local 2 // org.h2.value.CompareMode mode
         0: .line 115
            aload 0 /* this */
            getfield org.h2.value.ValueDate.dateValue:J
            aload 1 /* o */
            checkcast org.h2.value.ValueDate
            getfield org.h2.value.ValueDate.dateValue:J
            invokestatic java.lang.Long.compare:(JJ)I
            ireturn
        end local 2 // org.h2.value.CompareMode mode
        end local 1 // org.h2.value.Value o
        end local 0 // org.h2.value.ValueDate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/value/ValueDate;
            0    1     1     o  Lorg/h2/value/Value;
            0    1     2  mode  Lorg/h2/value/CompareMode;
    MethodParameters:
      Name  Flags
      o     
      mode  

  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.h2.value.ValueDate this
        start local 1 // java.lang.Object other
         0: .line 120
            aload 0 /* this */
            aload 1 /* other */
            if_acmpne 2
         1: .line 121
            iconst_1
            ireturn
         2: .line 123
      StackMap locals:
      StackMap stack:
            aload 1 /* other */
            instanceof org.h2.value.ValueDate
            ifeq 5
         3: .line 124
            aload 0 /* this */
            getfield org.h2.value.ValueDate.dateValue:J
            aload 1 /* other */
            checkcast org.h2.value.ValueDate
            getfield org.h2.value.ValueDate.dateValue:J
            lcmp
            ifne 5
         4: .line 123
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         5: iconst_0
            ireturn
        end local 1 // java.lang.Object other
        end local 0 // org.h2.value.ValueDate this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lorg/h2/value/ValueDate;
            0    6     1  other  Ljava/lang/Object;
    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.ValueDate this
         0: .line 129
            aload 0 /* this */
            getfield org.h2.value.ValueDate.dateValue:J
            aload 0 /* this */
            getfield org.h2.value.ValueDate.dateValue:J
            bipush 32
            lushr
            lxor
            l2i
            ireturn
        end local 0 // org.h2.value.ValueDate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/value/ValueDate;

  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.ValueDate this
         0: .line 134
            aload 0 /* this */
            invokevirtual org.h2.value.ValueDate.getDate:()Ljava/sql/Date;
            areturn
        end local 0 // org.h2.value.ValueDate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/value/ValueDate;

  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.ValueDate this
        start local 1 // java.sql.PreparedStatement prep
        start local 2 // int parameterIndex
         0: .line 140
            aload 1 /* prep */
            iload 2 /* parameterIndex */
            aload 0 /* this */
            invokevirtual org.h2.value.ValueDate.getDate:()Ljava/sql/Date;
            invokeinterface java.sql.PreparedStatement.setDate:(ILjava/sql/Date;)V
         1: .line 141
            return
        end local 2 // int parameterIndex
        end local 1 // java.sql.PreparedStatement prep
        end local 0 // org.h2.value.ValueDate this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Lorg/h2/value/ValueDate;
            0    2     1            prep  Ljava/sql/PreparedStatement;
            0    2     2  parameterIndex  I
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
                Name  Flags
      prep            
      parameterIndex  
}
SourceFile: "ValueDate.java"