public class org.h2.util.DateTimeUtils
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.h2.util.DateTimeUtils
super_class: java.lang.Object
{
public static final long MILLIS_PER_DAY;
descriptor: J
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 86400000
public static final long SECONDS_PER_DAY;
descriptor: J
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 86400
public static final java.util.TimeZone UTC;
descriptor: Ljava/util/TimeZone;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final long NANOS_PER_SECOND;
descriptor: J
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1000000000
public static final long NANOS_PER_MINUTE;
descriptor: J
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 60000000000
public static final long NANOS_PER_HOUR;
descriptor: J
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 3600000000000
public static final long NANOS_PER_DAY;
descriptor: J
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 86400000000000
private static final int SHIFT_YEAR;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 9
private static final int SHIFT_MONTH;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 5
public static final int EPOCH_DATE_VALUE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1008673
private static final int[] NORMAL_DAYS_PER_MONTH;
descriptor: [I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int[] DAYS_OFFSET;
descriptor: [I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int[] CONVERT_SCALE_TABLE;
descriptor: [I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.ThreadLocal<java.util.GregorianCalendar> CACHED_CALENDAR;
descriptor: Ljava/lang/ThreadLocal;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/lang/ThreadLocal<Ljava/util/GregorianCalendar;>;
private static final java.lang.ThreadLocal<java.util.GregorianCalendar> CACHED_CALENDAR_NON_DEFAULT_TIMEZONE;
descriptor: Ljava/lang/ThreadLocal;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/lang/ThreadLocal<Ljava/util/GregorianCalendar;>;
private static volatile java.util.TimeZone timeZone;
descriptor: Ljava/util/TimeZone;
flags: (0x004a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE
private static int zoneOffsetMillis;
descriptor: I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: .line 45
ldc "UTC"
invokestatic java.util.TimeZone.getTimeZone:(Ljava/lang/String;)Ljava/util/TimeZone;
putstatic org.h2.util.DateTimeUtils.UTC:Ljava/util/TimeZone;
1: .line 75
bipush 13
newarray 10
dup
iconst_1
bipush 31
iastore
dup
iconst_2
bipush 28
iastore
dup
iconst_3
bipush 31
iastore
dup
iconst_4
bipush 30
iastore
dup
iconst_5
bipush 31
iastore
dup
bipush 6
2: .line 76
bipush 30
iastore
dup
bipush 7
bipush 31
iastore
dup
bipush 8
bipush 31
iastore
dup
bipush 9
bipush 30
iastore
dup
bipush 10
bipush 31
iastore
dup
bipush 11
bipush 30
iastore
dup
bipush 12
bipush 31
iastore
3: .line 75
putstatic org.h2.util.DateTimeUtils.NORMAL_DAYS_PER_MONTH:[I
4: .line 81
bipush 13
newarray 10
dup
iconst_1
bipush 31
iastore
dup
iconst_2
bipush 61
iastore
dup
iconst_3
bipush 92
iastore
dup
iconst_4
bipush 122
iastore
dup
iconst_5
sipush 153
iastore
dup
bipush 6
sipush 184
iastore
dup
bipush 7
5: .line 82
sipush 214
iastore
dup
bipush 8
sipush 245
iastore
dup
bipush 9
sipush 275
iastore
dup
bipush 10
sipush 306
iastore
dup
bipush 11
sipush 337
iastore
dup
bipush 12
sipush 366
iastore
6: .line 81
putstatic org.h2.util.DateTimeUtils.DAYS_OFFSET:[I
7: .line 87
bipush 9
newarray 10
dup
iconst_0
ldc 1000000000
iastore
dup
iconst_1
ldc 100000000
iastore
dup
iconst_2
8: .line 88
ldc 10000000
iastore
dup
iconst_3
ldc 1000000
iastore
dup
iconst_4
ldc 100000
iastore
dup
iconst_5
sipush 10000
iastore
dup
bipush 6
sipush 1000
iastore
dup
bipush 7
bipush 100
iastore
dup
bipush 8
bipush 10
iastore
9: .line 87
putstatic org.h2.util.DateTimeUtils.CONVERT_SCALE_TABLE:[I
10: .line 98
new java.lang.ThreadLocal
dup
invokespecial java.lang.ThreadLocal.<init>:()V
putstatic org.h2.util.DateTimeUtils.CACHED_CALENDAR:Ljava/lang/ThreadLocal;
11: .line 104
new java.lang.ThreadLocal
dup
invokespecial java.lang.ThreadLocal.<init>:()V
12: .line 103
putstatic org.h2.util.DateTimeUtils.CACHED_CALENDAR_NON_DEFAULT_TIMEZONE:Ljava/lang/ThreadLocal;
13: .line 119
invokestatic org.h2.util.DateTimeUtils.createGregorianCalendar:()Ljava/util/GregorianCalendar;
bipush 15
invokevirtual java.util.GregorianCalendar.get:(I)I
putstatic org.h2.util.DateTimeUtils.zoneOffsetMillis:I
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 // org.h2.util.DateTimeUtils this
0: .line 121
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 123
return
end local 0 // org.h2.util.DateTimeUtils this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/h2/util/DateTimeUtils;
public static int getTimeZoneOffset(long);
descriptor: (J)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=1
start local 0 // long ms
0: .line 132
getstatic org.h2.util.DateTimeUtils.timeZone:Ljava/util/TimeZone;
astore 2 /* tz */
start local 2 // java.util.TimeZone tz
1: .line 133
aload 2 /* tz */
ifnonnull 3
2: .line 134
invokestatic java.util.TimeZone.getDefault:()Ljava/util/TimeZone;
dup
astore 2 /* tz */
putstatic org.h2.util.DateTimeUtils.timeZone:Ljava/util/TimeZone;
3: .line 136
StackMap locals: java.util.TimeZone
StackMap stack:
aload 2 /* tz */
lload 0 /* ms */
invokevirtual java.util.TimeZone.getOffset:(J)I
ireturn
end local 2 // java.util.TimeZone tz
end local 0 // long ms
LocalVariableTable:
Start End Slot Name Signature
0 4 0 ms J
1 4 2 tz Ljava/util/TimeZone;
MethodParameters:
Name Flags
ms
public static void resetCalendar();
descriptor: ()V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: .line 144
getstatic org.h2.util.DateTimeUtils.CACHED_CALENDAR:Ljava/lang/ThreadLocal;
invokevirtual java.lang.ThreadLocal.remove:()V
1: .line 145
aconst_null
putstatic org.h2.util.DateTimeUtils.timeZone:Ljava/util/TimeZone;
2: .line 146
invokestatic org.h2.util.DateTimeUtils.createGregorianCalendar:()Ljava/util/GregorianCalendar;
bipush 15
invokevirtual java.util.GregorianCalendar.get:(I)I
putstatic org.h2.util.DateTimeUtils.zoneOffsetMillis:I
3: .line 147
return
LocalVariableTable:
Start End Slot Name Signature
public static java.util.GregorianCalendar getCalendar();
descriptor: ()Ljava/util/GregorianCalendar;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=0
0: .line 155
getstatic org.h2.util.DateTimeUtils.CACHED_CALENDAR:Ljava/lang/ThreadLocal;
invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
checkcast java.util.GregorianCalendar
astore 0 /* c */
start local 0 // java.util.GregorianCalendar c
1: .line 156
aload 0 /* c */
ifnonnull 4
2: .line 157
invokestatic org.h2.util.DateTimeUtils.createGregorianCalendar:()Ljava/util/GregorianCalendar;
astore 0 /* c */
3: .line 158
getstatic org.h2.util.DateTimeUtils.CACHED_CALENDAR:Ljava/lang/ThreadLocal;
aload 0 /* c */
invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
4: .line 160
StackMap locals: java.util.GregorianCalendar
StackMap stack:
aload 0 /* c */
invokevirtual java.util.GregorianCalendar.clear:()V
5: .line 161
aload 0 /* c */
areturn
end local 0 // java.util.GregorianCalendar c
LocalVariableTable:
Start End Slot Name Signature
1 6 0 c Ljava/util/GregorianCalendar;
private static java.util.GregorianCalendar getCalendar(java.util.TimeZone);
descriptor: (Ljava/util/TimeZone;)Ljava/util/GregorianCalendar;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 // java.util.TimeZone tz
0: .line 171
getstatic org.h2.util.DateTimeUtils.CACHED_CALENDAR_NON_DEFAULT_TIMEZONE:Ljava/lang/ThreadLocal;
invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
checkcast java.util.GregorianCalendar
astore 1 /* c */
start local 1 // java.util.GregorianCalendar c
1: .line 172
aload 1 /* c */
ifnull 2
aload 1 /* c */
invokevirtual java.util.GregorianCalendar.getTimeZone:()Ljava/util/TimeZone;
aload 0 /* tz */
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 4
2: .line 173
StackMap locals: java.util.GregorianCalendar
StackMap stack:
aload 0 /* tz */
invokestatic org.h2.util.DateTimeUtils.createGregorianCalendar:(Ljava/util/TimeZone;)Ljava/util/GregorianCalendar;
astore 1 /* c */
3: .line 174
getstatic org.h2.util.DateTimeUtils.CACHED_CALENDAR_NON_DEFAULT_TIMEZONE:Ljava/lang/ThreadLocal;
aload 1 /* c */
invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
4: .line 176
StackMap locals:
StackMap stack:
aload 1 /* c */
invokevirtual java.util.GregorianCalendar.clear:()V
5: .line 177
aload 1 /* c */
areturn
end local 1 // java.util.GregorianCalendar c
end local 0 // java.util.TimeZone tz
LocalVariableTable:
Start End Slot Name Signature
0 6 0 tz Ljava/util/TimeZone;
1 6 1 c Ljava/util/GregorianCalendar;
MethodParameters:
Name Flags
tz
public static java.util.GregorianCalendar createGregorianCalendar();
descriptor: ()Ljava/util/GregorianCalendar;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: .line 190
new java.util.GregorianCalendar
dup
invokespecial java.util.GregorianCalendar.<init>:()V
areturn
LocalVariableTable:
Start End Slot Name Signature
public static java.util.GregorianCalendar createGregorianCalendar(java.util.TimeZone);
descriptor: (Ljava/util/TimeZone;)Ljava/util/GregorianCalendar;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 // java.util.TimeZone tz
0: .line 204
new java.util.GregorianCalendar
dup
aload 0 /* tz */
invokespecial java.util.GregorianCalendar.<init>:(Ljava/util/TimeZone;)V
areturn
end local 0 // java.util.TimeZone tz
LocalVariableTable:
Start End Slot Name Signature
0 1 0 tz Ljava/util/TimeZone;
MethodParameters:
Name Flags
tz
public static java.sql.Date convertDate(org.h2.value.Value, java.util.Calendar);
descriptor: (Lorg/h2/value/Value;Ljava/util/Calendar;)Ljava/sql/Date;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=8, locals=8, args_size=2
start local 0 // org.h2.value.Value value
start local 1 // java.util.Calendar calendar
0: .line 215
aload 0 /* value */
getstatic org.h2.value.ValueNull.INSTANCE:Lorg/h2/value/ValueNull;
if_acmpne 2
1: .line 216
aconst_null
areturn
2: .line 218
StackMap locals:
StackMap stack:
aload 0 /* value */
bipush 10
invokevirtual org.h2.value.Value.convertTo:(I)Lorg/h2/value/Value;
checkcast org.h2.value.ValueDate
astore 2 /* d */
start local 2 // org.h2.value.ValueDate d
3: .line 219
aload 1 /* calendar */
invokevirtual java.util.Calendar.clone:()Ljava/lang/Object;
checkcast java.util.Calendar
astore 3 /* cal */
start local 3 // java.util.Calendar cal
4: .line 220
aload 3 /* cal */
invokevirtual java.util.Calendar.clear:()V
5: .line 221
aload 3 /* cal */
iconst_1
invokevirtual java.util.Calendar.setLenient:(Z)V
6: .line 222
aload 2 /* d */
invokevirtual org.h2.value.ValueDate.getDateValue:()J
lstore 4 /* dateValue */
start local 4 // long dateValue
7: .line 223
aload 3 /* cal */
lload 4 /* dateValue */
invokestatic org.h2.util.DateTimeUtils.yearFromDateValue:(J)I
8: .line 224
lload 4 /* dateValue */
invokestatic org.h2.util.DateTimeUtils.monthFromDateValue:(J)I
lload 4 /* dateValue */
invokestatic org.h2.util.DateTimeUtils.dayFromDateValue:(J)I
iconst_0
9: .line 225
iconst_0
iconst_0
iconst_0
10: .line 223
invokestatic org.h2.util.DateTimeUtils.convertToMillis:(Ljava/util/Calendar;IIIIIII)J
lstore 6 /* ms */
start local 6 // long ms
11: .line 226
new java.sql.Date
dup
lload 6 /* ms */
invokespecial java.sql.Date.<init>:(J)V
areturn
end local 6 // long ms
end local 4 // long dateValue
end local 3 // java.util.Calendar cal
end local 2 // org.h2.value.ValueDate d
end local 1 // java.util.Calendar calendar
end local 0 // org.h2.value.Value value
LocalVariableTable:
Start End Slot Name Signature
0 12 0 value Lorg/h2/value/Value;
0 12 1 calendar Ljava/util/Calendar;
3 12 2 d Lorg/h2/value/ValueDate;
4 12 3 cal Ljava/util/Calendar;
7 12 4 dateValue J
11 12 6 ms J
MethodParameters:
Name Flags
value
calendar
public static java.sql.Time convertTime(org.h2.value.Value, java.util.Calendar);
descriptor: (Lorg/h2/value/Value;Ljava/util/Calendar;)Ljava/sql/Time;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=11, locals=14, args_size=2
start local 0 // org.h2.value.Value value
start local 1 // java.util.Calendar calendar
0: .line 237
aload 0 /* value */
getstatic org.h2.value.ValueNull.INSTANCE:Lorg/h2/value/ValueNull;
if_acmpne 2
1: .line 238
aconst_null
areturn
2: .line 240
StackMap locals:
StackMap stack:
aload 0 /* value */
bipush 9
invokevirtual org.h2.value.Value.convertTo:(I)Lorg/h2/value/Value;
checkcast org.h2.value.ValueTime
astore 2 /* t */
start local 2 // org.h2.value.ValueTime t
3: .line 241
aload 1 /* calendar */
invokevirtual java.util.Calendar.clone:()Ljava/lang/Object;
checkcast java.util.Calendar
astore 3 /* cal */
start local 3 // java.util.Calendar cal
4: .line 242
aload 3 /* cal */
invokevirtual java.util.Calendar.clear:()V
5: .line 243
aload 3 /* cal */
iconst_1
invokevirtual java.util.Calendar.setLenient:(Z)V
6: .line 244
aload 2 /* t */
invokevirtual org.h2.value.ValueTime.getNanos:()J
lstore 4 /* nanos */
start local 4 // long nanos
7: .line 245
lload 4 /* nanos */
ldc 1000000
ldiv
lstore 6 /* millis */
start local 6 // long millis
8: .line 246
lload 4 /* nanos */
lload 6 /* millis */
ldc 1000000
lmul
lsub
lstore 4 /* nanos */
9: .line 247
lload 6 /* millis */
ldc 1000
ldiv
lstore 8 /* s */
start local 8 // long s
10: .line 248
lload 6 /* millis */
lload 8 /* s */
ldc 1000
lmul
lsub
lstore 6 /* millis */
11: .line 249
lload 8 /* s */
ldc 60
ldiv
lstore 10 /* m */
start local 10 // long m
12: .line 250
lload 8 /* s */
lload 10 /* m */
ldc 60
lmul
lsub
lstore 8 /* s */
13: .line 251
lload 10 /* m */
ldc 60
ldiv
lstore 12 /* h */
start local 12 // long h
14: .line 252
lload 10 /* m */
lload 12 /* h */
ldc 60
lmul
lsub
lstore 10 /* m */
15: .line 253
new java.sql.Time
dup
aload 3 /* cal */
sipush 1970
iconst_1
iconst_1
lload 12 /* h */
l2i
lload 10 /* m */
l2i
lload 8 /* s */
l2i
lload 6 /* millis */
l2i
invokestatic org.h2.util.DateTimeUtils.convertToMillis:(Ljava/util/Calendar;IIIIIII)J
invokespecial java.sql.Time.<init>:(J)V
areturn
end local 12 // long h
end local 10 // long m
end local 8 // long s
end local 6 // long millis
end local 4 // long nanos
end local 3 // java.util.Calendar cal
end local 2 // org.h2.value.ValueTime t
end local 1 // java.util.Calendar calendar
end local 0 // org.h2.value.Value value
LocalVariableTable:
Start End Slot Name Signature
0 16 0 value Lorg/h2/value/Value;
0 16 1 calendar Ljava/util/Calendar;
3 16 2 t Lorg/h2/value/ValueTime;
4 16 3 cal Ljava/util/Calendar;
7 16 4 nanos J
8 16 6 millis J
10 16 8 s J
12 16 10 m J
14 16 12 h J
MethodParameters:
Name Flags
value
calendar
public static java.sql.Timestamp convertTimestamp(org.h2.value.Value, java.util.Calendar);
descriptor: (Lorg/h2/value/Value;Ljava/util/Calendar;)Ljava/sql/Timestamp;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=9, locals=19, args_size=2
start local 0 // org.h2.value.Value value
start local 1 // java.util.Calendar calendar
0: .line 264
aload 0 /* value */
getstatic org.h2.value.ValueNull.INSTANCE:Lorg/h2/value/ValueNull;
if_acmpne 2
1: .line 265
aconst_null
areturn
2: .line 267
StackMap locals:
StackMap stack:
aload 0 /* value */
bipush 11
invokevirtual org.h2.value.Value.convertTo:(I)Lorg/h2/value/Value;
checkcast org.h2.value.ValueTimestamp
astore 2 /* ts */
start local 2 // org.h2.value.ValueTimestamp ts
3: .line 268
aload 1 /* calendar */
invokevirtual java.util.Calendar.clone:()Ljava/lang/Object;
checkcast java.util.Calendar
astore 3 /* cal */
start local 3 // java.util.Calendar cal
4: .line 269
aload 3 /* cal */
invokevirtual java.util.Calendar.clear:()V
5: .line 270
aload 3 /* cal */
iconst_1
invokevirtual java.util.Calendar.setLenient:(Z)V
6: .line 271
aload 2 /* ts */
invokevirtual org.h2.value.ValueTimestamp.getDateValue:()J
lstore 4 /* dateValue */
start local 4 // long dateValue
7: .line 272
aload 2 /* ts */
invokevirtual org.h2.value.ValueTimestamp.getTimeNanos:()J
lstore 6 /* nanos */
start local 6 // long nanos
8: .line 273
lload 6 /* nanos */
ldc 1000000
ldiv
lstore 8 /* millis */
start local 8 // long millis
9: .line 274
lload 6 /* nanos */
lload 8 /* millis */
ldc 1000000
lmul
lsub
lstore 6 /* nanos */
10: .line 275
lload 8 /* millis */
ldc 1000
ldiv
lstore 10 /* s */
start local 10 // long s
11: .line 276
lload 8 /* millis */
lload 10 /* s */
ldc 1000
lmul
lsub
lstore 8 /* millis */
12: .line 277
lload 10 /* s */
ldc 60
ldiv
lstore 12 /* m */
start local 12 // long m
13: .line 278
lload 10 /* s */
lload 12 /* m */
ldc 60
lmul
lsub
lstore 10 /* s */
14: .line 279
lload 12 /* m */
ldc 60
ldiv
lstore 14 /* h */
start local 14 // long h
15: .line 280
lload 12 /* m */
lload 14 /* h */
ldc 60
lmul
lsub
lstore 12 /* m */
16: .line 281
aload 3 /* cal */
lload 4 /* dateValue */
invokestatic org.h2.util.DateTimeUtils.yearFromDateValue:(J)I
17: .line 282
lload 4 /* dateValue */
invokestatic org.h2.util.DateTimeUtils.monthFromDateValue:(J)I
lload 4 /* dateValue */
invokestatic org.h2.util.DateTimeUtils.dayFromDateValue:(J)I
18: .line 283
lload 14 /* h */
l2i
lload 12 /* m */
l2i
lload 10 /* s */
l2i
lload 8 /* millis */
l2i
19: .line 281
invokestatic org.h2.util.DateTimeUtils.convertToMillis:(Ljava/util/Calendar;IIIIIII)J
lstore 16 /* ms */
start local 16 // long ms
20: .line 284
new java.sql.Timestamp
dup
lload 16 /* ms */
invokespecial java.sql.Timestamp.<init>:(J)V
astore 18 /* x */
start local 18 // java.sql.Timestamp x
21: .line 285
aload 18 /* x */
lload 6 /* nanos */
lload 8 /* millis */
ldc 1000000
lmul
ladd
l2i
invokevirtual java.sql.Timestamp.setNanos:(I)V
22: .line 286
aload 18 /* x */
areturn
end local 18 // java.sql.Timestamp x
end local 16 // long ms
end local 14 // long h
end local 12 // long m
end local 10 // long s
end local 8 // long millis
end local 6 // long nanos
end local 4 // long dateValue
end local 3 // java.util.Calendar cal
end local 2 // org.h2.value.ValueTimestamp ts
end local 1 // java.util.Calendar calendar
end local 0 // org.h2.value.Value value
LocalVariableTable:
Start End Slot Name Signature
0 23 0 value Lorg/h2/value/Value;
0 23 1 calendar Ljava/util/Calendar;
3 23 2 ts Lorg/h2/value/ValueTimestamp;
4 23 3 cal Ljava/util/Calendar;
7 23 4 dateValue J
8 23 6 nanos J
9 23 8 millis J
11 23 10 s J
13 23 12 m J
15 23 14 h J
20 23 16 ms J
21 23 18 x Ljava/sql/Timestamp;
MethodParameters:
Name Flags
value
calendar
public static org.h2.value.ValueDate convertDate(java.sql.Date, java.util.Calendar);
descriptor: (Ljava/sql/Date;Ljava/util/Calendar;)Lorg/h2/value/ValueDate;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=5, args_size=2
start local 0 // java.sql.Date x
start local 1 // java.util.Calendar calendar
0: .line 297
aload 1 /* calendar */
invokevirtual java.util.Calendar.clone:()Ljava/lang/Object;
checkcast java.util.Calendar
astore 2 /* cal */
start local 2 // java.util.Calendar cal
1: .line 298
aload 2 /* cal */
aload 0 /* x */
invokevirtual java.sql.Date.getTime:()J
invokevirtual java.util.Calendar.setTimeInMillis:(J)V
2: .line 299
aload 2 /* cal */
invokestatic org.h2.util.DateTimeUtils.dateValueFromCalendar:(Ljava/util/Calendar;)J
lstore 3 /* dateValue */
start local 3 // long dateValue
3: .line 300
lload 3 /* dateValue */
invokestatic org.h2.value.ValueDate.fromDateValue:(J)Lorg/h2/value/ValueDate;
areturn
end local 3 // long dateValue
end local 2 // java.util.Calendar cal
end local 1 // java.util.Calendar calendar
end local 0 // java.sql.Date x
LocalVariableTable:
Start End Slot Name Signature
0 4 0 x Ljava/sql/Date;
0 4 1 calendar Ljava/util/Calendar;
1 4 2 cal Ljava/util/Calendar;
3 4 3 dateValue J
MethodParameters:
Name Flags
x
calendar
public static org.h2.value.ValueTime convertTime(java.sql.Time, java.util.Calendar);
descriptor: (Ljava/sql/Time;Ljava/util/Calendar;)Lorg/h2/value/ValueTime;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=5, args_size=2
start local 0 // java.sql.Time x
start local 1 // java.util.Calendar calendar
0: .line 311
aload 1 /* calendar */
invokevirtual java.util.Calendar.clone:()Ljava/lang/Object;
checkcast java.util.Calendar
astore 2 /* cal */
start local 2 // java.util.Calendar cal
1: .line 312
aload 2 /* cal */
aload 0 /* x */
invokevirtual java.sql.Time.getTime:()J
invokevirtual java.util.Calendar.setTimeInMillis:(J)V
2: .line 313
aload 2 /* cal */
invokestatic org.h2.util.DateTimeUtils.nanosFromCalendar:(Ljava/util/Calendar;)J
lstore 3 /* nanos */
start local 3 // long nanos
3: .line 314
lload 3 /* nanos */
invokestatic org.h2.value.ValueTime.fromNanos:(J)Lorg/h2/value/ValueTime;
areturn
end local 3 // long nanos
end local 2 // java.util.Calendar cal
end local 1 // java.util.Calendar calendar
end local 0 // java.sql.Time x
LocalVariableTable:
Start End Slot Name Signature
0 4 0 x Ljava/sql/Time;
0 4 1 calendar Ljava/util/Calendar;
1 4 2 cal Ljava/util/Calendar;
3 4 3 nanos J
MethodParameters:
Name Flags
x
calendar
public static org.h2.value.ValueTimestamp convertTimestamp(java.sql.Timestamp, java.util.Calendar);
descriptor: (Ljava/sql/Timestamp;Ljava/util/Calendar;)Lorg/h2/value/ValueTimestamp;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=7, args_size=2
start local 0 // java.sql.Timestamp x
start local 1 // java.util.Calendar calendar
0: .line 326
aload 1 /* calendar */
invokevirtual java.util.Calendar.clone:()Ljava/lang/Object;
checkcast java.util.Calendar
astore 2 /* cal */
start local 2 // java.util.Calendar cal
1: .line 327
aload 2 /* cal */
aload 0 /* x */
invokevirtual java.sql.Timestamp.getTime:()J
invokevirtual java.util.Calendar.setTimeInMillis:(J)V
2: .line 328
aload 2 /* cal */
invokestatic org.h2.util.DateTimeUtils.dateValueFromCalendar:(Ljava/util/Calendar;)J
lstore 3 /* dateValue */
start local 3 // long dateValue
3: .line 329
aload 2 /* cal */
invokestatic org.h2.util.DateTimeUtils.nanosFromCalendar:(Ljava/util/Calendar;)J
lstore 5 /* nanos */
start local 5 // long nanos
4: .line 330
lload 5 /* nanos */
aload 0 /* x */
invokevirtual java.sql.Timestamp.getNanos:()I
ldc 1000000
irem
i2l
ladd
lstore 5 /* nanos */
5: .line 331
lload 3 /* dateValue */
lload 5 /* nanos */
invokestatic org.h2.value.ValueTimestamp.fromDateValueAndNanos:(JJ)Lorg/h2/value/ValueTimestamp;
areturn
end local 5 // long nanos
end local 3 // long dateValue
end local 2 // java.util.Calendar cal
end local 1 // java.util.Calendar calendar
end local 0 // java.sql.Timestamp x
LocalVariableTable:
Start End Slot Name Signature
0 6 0 x Ljava/sql/Timestamp;
0 6 1 calendar Ljava/util/Calendar;
1 6 2 cal Ljava/util/Calendar;
3 6 3 dateValue J
4 6 5 nanos J
MethodParameters:
Name Flags
x
calendar
public static long parseDateValue(java.lang.String, int, int);
descriptor: (Ljava/lang/String;II)J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=10, args_size=3
start local 0 // java.lang.String s
start local 1 // int start
start local 2 // int end
0: .line 345
aload 0 /* s */
iload 1 /* start */
invokevirtual java.lang.String.charAt:(I)C
bipush 43
if_icmpne 2
1: .line 347
iinc 1 /* start */ 1
2: .line 350
StackMap locals:
StackMap stack:
aload 0 /* s */
bipush 45
iload 1 /* start */
iconst_1
iadd
invokevirtual java.lang.String.indexOf:(II)I
istore 3 /* yEnd */
start local 3 // int yEnd
3: .line 352
iload 3 /* yEnd */
ifle 10
4: .line 354
iload 3 /* yEnd */
iconst_1
iadd
istore 4 /* mStart */
start local 4 // int mStart
5: .line 355
aload 0 /* s */
bipush 45
iload 4 /* mStart */
invokevirtual java.lang.String.indexOf:(II)I
istore 5 /* mEnd */
start local 5 // int mEnd
6: .line 356
iload 5 /* mEnd */
iload 4 /* mStart */
if_icmpgt 8
7: .line 357
new java.lang.IllegalArgumentException
dup
aload 0 /* s */
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
8: .line 359
StackMap locals: int int int
StackMap stack:
iload 5 /* mEnd */
iconst_1
iadd
istore 6 /* dStart */
start local 6 // int dStart
9: .line 360
goto 16
end local 6 // int dStart
end local 5 // int mEnd
end local 4 // int mStart
10: .line 362
StackMap locals:
StackMap stack:
iload 2 /* end */
iconst_2
isub
dup
istore 6 /* dStart */
start local 6 // int dStart
11: istore 5 /* mEnd */
start local 5 // int mEnd
12: .line 363
iload 5 /* mEnd */
iconst_2
isub
dup
istore 4 /* mStart */
start local 4 // int mStart
13: istore 3 /* yEnd */
14: .line 365
iload 3 /* yEnd */
iload 1 /* start */
iconst_3
iadd
if_icmpge 16
15: .line 366
new java.lang.IllegalArgumentException
dup
aload 0 /* s */
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
16: .line 369
StackMap locals: int int int
StackMap stack:
aload 0 /* s */
iload 1 /* start */
iload 3 /* yEnd */
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
istore 7 /* year */
start local 7 // int year
17: .line 370
aload 0 /* s */
iload 4 /* mStart */
iload 5 /* mEnd */
invokestatic org.h2.util.StringUtils.parseUInt31:(Ljava/lang/String;II)I
istore 8 /* month */
start local 8 // int month
18: .line 371
aload 0 /* s */
iload 6 /* dStart */
iload 2 /* end */
invokestatic org.h2.util.StringUtils.parseUInt31:(Ljava/lang/String;II)I
istore 9 /* day */
start local 9 // int day
19: .line 372
iload 7 /* year */
iload 8 /* month */
iload 9 /* day */
invokestatic org.h2.util.DateTimeUtils.isValidDate:(III)Z
ifne 21
20: .line 373
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
iload 7 /* year */
invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "-"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 8 /* month */
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "-"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 9 /* day */
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
21: .line 375
StackMap locals: int int int
StackMap stack:
iload 7 /* year */
i2l
iload 8 /* month */
iload 9 /* day */
invokestatic org.h2.util.DateTimeUtils.dateValue:(JII)J
lreturn
end local 9 // int day
end local 8 // int month
end local 7 // int year
end local 6 // int dStart
end local 5 // int mEnd
end local 4 // int mStart
end local 3 // int yEnd
end local 2 // int end
end local 1 // int start
end local 0 // java.lang.String s
LocalVariableTable:
Start End Slot Name Signature
0 22 0 s Ljava/lang/String;
0 22 1 start I
0 22 2 end I
3 22 3 yEnd I
5 10 4 mStart I
13 22 4 mStart I
6 10 5 mEnd I
12 22 5 mEnd I
9 10 6 dStart I
11 22 6 dStart I
17 22 7 year I
18 22 8 month I
19 22 9 day I
MethodParameters:
Name Flags
s
start
end
public static long parseTimeNanos(java.lang.String, int, int);
descriptor: (Ljava/lang/String;II)J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=14, args_size=3
start local 0 // java.lang.String s
start local 1 // int start
start local 2 // int end
0: .line 390
aload 0 /* s */
bipush 58
iload 1 /* start */
invokevirtual java.lang.String.indexOf:(II)I
istore 7 /* hEnd */
start local 7 // int hEnd
1: .line 392
iload 7 /* hEnd */
ifle 12
2: .line 393
iload 7 /* hEnd */
iconst_1
iadd
istore 8 /* mStart */
start local 8 // int mStart
3: .line 394
aload 0 /* s */
bipush 58
iload 8 /* mStart */
invokevirtual java.lang.String.indexOf:(II)I
istore 9 /* mEnd */
start local 9 // int mEnd
4: .line 395
iload 9 /* mEnd */
iload 8 /* mStart */
if_icmplt 8
5: .line 397
iload 9 /* mEnd */
iconst_1
iadd
istore 10 /* sStart */
start local 10 // int sStart
6: .line 398
aload 0 /* s */
bipush 46
iload 10 /* sStart */
invokevirtual java.lang.String.indexOf:(II)I
istore 11 /* sEnd */
start local 11 // int sEnd
7: .line 399
goto 43
end local 11 // int sEnd
end local 10 // int sStart
8: .line 401
StackMap locals: java.lang.String int int top top top top int int int
StackMap stack:
iload 2 /* end */
istore 9 /* mEnd */
9: .line 402
iconst_m1
dup
istore 11 /* sEnd */
start local 11 // int sEnd
10: istore 10 /* sStart */
start local 10 // int sStart
11: .line 404
goto 43
end local 11 // int sEnd
end local 10 // int sStart
end local 9 // int mEnd
end local 8 // int mStart
12: .line 405
StackMap locals:
StackMap stack:
aload 0 /* s */
bipush 46
iload 1 /* start */
invokevirtual java.lang.String.indexOf:(II)I
istore 12 /* t */
start local 12 // int t
13: .line 406
iload 12 /* t */
ifge 27
14: .line 408
iload 1 /* start */
iconst_2
iadd
dup
istore 8 /* mStart */
start local 8 // int mStart
15: istore 7 /* hEnd */
16: .line 409
iload 8 /* mStart */
iconst_2
iadd
istore 9 /* mEnd */
start local 9 // int mEnd
17: .line 410
iload 2 /* end */
iload 1 /* start */
isub
istore 13 /* len */
start local 13 // int len
18: .line 411
iload 13 /* len */
bipush 6
if_icmpne 22
19: .line 412
iload 9 /* mEnd */
istore 10 /* sStart */
start local 10 // int sStart
20: .line 413
iconst_m1
istore 11 /* sEnd */
start local 11 // int sEnd
21: .line 414
goto 43
end local 11 // int sEnd
end local 10 // int sStart
StackMap locals: java.lang.String int int top top top top int int int top top int int
StackMap stack:
22: iload 13 /* len */
iconst_4
if_icmpne 26
23: .line 415
iconst_m1
dup
istore 11 /* sEnd */
start local 11 // int sEnd
24: istore 10 /* sStart */
start local 10 // int sStart
25: .line 416
goto 43
end local 11 // int sEnd
end local 10 // int sStart
26: .line 417
StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
aload 0 /* s */
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 13 // int len
end local 9 // int mEnd
end local 8 // int mStart
27: .line 419
StackMap locals: java.lang.String int int top top top top int top top top top int
StackMap stack:
iload 12 /* t */
iload 1 /* start */
bipush 6
iadd
if_icmplt 36
28: .line 421
iload 12 /* t */
iload 1 /* start */
isub
bipush 6
if_icmpeq 30
29: .line 422
new java.lang.IllegalArgumentException
dup
aload 0 /* s */
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
30: .line 424
StackMap locals:
StackMap stack:
iload 1 /* start */
iconst_2
iadd
dup
istore 8 /* mStart */
start local 8 // int mStart
31: istore 7 /* hEnd */
32: .line 425
iload 8 /* mStart */
iconst_2
iadd
dup
istore 10 /* sStart */
start local 10 // int sStart
33: istore 9 /* mEnd */
start local 9 // int mEnd
34: .line 426
iload 12 /* t */
istore 11 /* sEnd */
start local 11 // int sEnd
35: .line 427
goto 43
end local 11 // int sEnd
end local 10 // int sStart
end local 9 // int mEnd
end local 8 // int mStart
36: .line 429
StackMap locals:
StackMap stack:
iload 12 /* t */
istore 7 /* hEnd */
37: .line 430
iload 7 /* hEnd */
iconst_1
iadd
istore 8 /* mStart */
start local 8 // int mStart
38: .line 431
aload 0 /* s */
bipush 46
iload 8 /* mStart */
invokevirtual java.lang.String.indexOf:(II)I
istore 9 /* mEnd */
start local 9 // int mEnd
39: .line 432
iload 9 /* mEnd */
iload 8 /* mStart */
if_icmpgt 41
40: .line 433
new java.lang.IllegalArgumentException
dup
aload 0 /* s */
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
41: .line 435
StackMap locals: java.lang.String int int top top top top int int int top top int
StackMap stack:
iload 9 /* mEnd */
iconst_1
iadd
istore 10 /* sStart */
start local 10 // int sStart
42: .line 436
aload 0 /* s */
bipush 46
iload 10 /* sStart */
invokevirtual java.lang.String.indexOf:(II)I
istore 11 /* sEnd */
end local 12 // int t
start local 11 // int sEnd
43: .line 439
StackMap locals: java.lang.String int int top top top top int int int int int
StackMap stack:
aload 0 /* s */
iload 1 /* start */
iload 7 /* hEnd */
invokestatic org.h2.util.StringUtils.parseUInt31:(Ljava/lang/String;II)I
istore 3 /* hour */
start local 3 // int hour
44: .line 440
iload 3 /* hour */
bipush 24
if_icmplt 46
45: .line 441
new java.lang.IllegalArgumentException
dup
aload 0 /* s */
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
46: .line 443
StackMap locals: java.lang.String int int int top top top int int int int int
StackMap stack:
aload 0 /* s */
iload 8 /* mStart */
iload 9 /* mEnd */
invokestatic org.h2.util.StringUtils.parseUInt31:(Ljava/lang/String;II)I
istore 4 /* minute */
start local 4 // int minute
47: .line 444
iload 10 /* sStart */
ifle 55
48: .line 445
iload 11 /* sEnd */
ifge 52
49: .line 446
aload 0 /* s */
iload 10 /* sStart */
iload 2 /* end */
invokestatic org.h2.util.StringUtils.parseUInt31:(Ljava/lang/String;II)I
istore 5 /* second */
start local 5 // int second
50: .line 447
iconst_0
istore 6 /* nanos */
start local 6 // int nanos
51: .line 448
goto 57
end local 6 // int nanos
end local 5 // int second
52: .line 449
StackMap locals: java.lang.String int int int int top top int int int int int
StackMap stack:
aload 0 /* s */
iload 10 /* sStart */
iload 11 /* sEnd */
invokestatic org.h2.util.StringUtils.parseUInt31:(Ljava/lang/String;II)I
istore 5 /* second */
start local 5 // int second
53: .line 450
aload 0 /* s */
iload 11 /* sEnd */
iconst_1
iadd
iload 2 /* end */
invokestatic org.h2.util.DateTimeUtils.parseNanos:(Ljava/lang/String;II)I
istore 6 /* nanos */
start local 6 // int nanos
54: .line 452
goto 57
end local 6 // int nanos
end local 5 // int second
55: .line 453
StackMap locals:
StackMap stack:
iconst_0
dup
istore 6 /* nanos */
start local 6 // int nanos
56: istore 5 /* second */
start local 5 // int second
57: .line 455
StackMap locals: java.lang.String int int int int int int int int int int int
StackMap stack:
iload 4 /* minute */
bipush 60
if_icmpge 58
iload 5 /* second */
bipush 60
if_icmplt 59
58: .line 456
StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
aload 0 /* s */
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
59: .line 458
StackMap locals:
StackMap stack:
iload 3 /* hour */
i2l
ldc 60
lmul
iload 4 /* minute */
i2l
ladd
ldc 60
lmul
iload 5 /* second */
i2l
ladd
ldc 1000000000
lmul
iload 6 /* nanos */
i2l
ladd
lreturn
end local 11 // int sEnd
end local 10 // int sStart
end local 9 // int mEnd
end local 8 // int mStart
end local 7 // int hEnd
end local 6 // int nanos
end local 5 // int second
end local 4 // int minute
end local 3 // int hour
end local 2 // int end
end local 1 // int start
end local 0 // java.lang.String s
LocalVariableTable:
Start End Slot Name Signature
0 60 0 s Ljava/lang/String;
0 60 1 start I
0 60 2 end I
44 60 3 hour I
47 60 4 minute I
50 52 5 second I
53 55 5 second I
57 60 5 second I
51 52 6 nanos I
54 55 6 nanos I
56 60 6 nanos I
1 60 7 hEnd I
3 12 8 mStart I
15 27 8 mStart I
31 36 8 mStart I
38 60 8 mStart I
4 12 9 mEnd I
17 27 9 mEnd I
34 36 9 mEnd I
39 60 9 mEnd I
6 8 10 sStart I
11 12 10 sStart I
20 22 10 sStart I
25 26 10 sStart I
33 36 10 sStart I
42 60 10 sStart I
7 8 11 sEnd I
10 12 11 sEnd I
21 22 11 sEnd I
24 26 11 sEnd I
35 36 11 sEnd I
43 60 11 sEnd I
13 43 12 t I
18 27 13 len I
MethodParameters:
Name Flags
s
start
end
static int parseNanos(java.lang.String, int, int);
descriptor: (Ljava/lang/String;II)I
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=6, args_size=3
start local 0 // java.lang.String s
start local 1 // int start
start local 2 // int end
0: .line 470
iload 1 /* start */
iload 2 /* end */
if_icmplt 2
1: .line 471
new java.lang.IllegalArgumentException
dup
aload 0 /* s */
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: .line 473
StackMap locals:
StackMap stack:
iconst_0
istore 3 /* nanos */
start local 3 // int nanos
3: ldc 100000000
istore 4 /* mul */
start local 4 // int mul
4: .line 475
StackMap locals: int int
StackMap stack:
aload 0 /* s */
iload 1 /* start */
invokevirtual java.lang.String.charAt:(I)C
istore 5 /* c */
start local 5 // char c
5: .line 476
iload 5 /* c */
bipush 48
if_icmplt 6
iload 5 /* c */
bipush 57
if_icmple 7
6: .line 477
StackMap locals: int
StackMap stack:
new java.lang.IllegalArgumentException
dup
aload 0 /* s */
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
7: .line 479
StackMap locals:
StackMap stack:
iload 3 /* nanos */
iload 4 /* mul */
iload 5 /* c */
bipush 48
isub
imul
iadd
istore 3 /* nanos */
8: .line 482
iload 4 /* mul */
bipush 10
idiv
istore 4 /* mul */
end local 5 // char c
9: .line 483
iinc 1 /* start */ 1
iload 1 /* start */
iload 2 /* end */
10: .line 474
if_icmplt 4
11: .line 484
iload 3 /* nanos */
ireturn
end local 4 // int mul
end local 3 // int nanos
end local 2 // int end
end local 1 // int start
end local 0 // java.lang.String s
LocalVariableTable:
Start End Slot Name Signature
0 12 0 s Ljava/lang/String;
0 12 1 start I
0 12 2 end I
3 12 3 nanos I
4 12 4 mul I
5 9 5 c C
MethodParameters:
Name Flags
s
start
end
private static int findNthIndexOf(java.lang.String, char, int);
descriptor: (Ljava/lang/String;CI)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=4, args_size=3
start local 0 // java.lang.String str
start local 1 // char chr
start local 2 // int n
0: .line 492
aload 0 /* str */
iload 1 /* chr */
invokevirtual java.lang.String.indexOf:(I)I
istore 3 /* pos */
start local 3 // int pos
1: .line 493
goto 3
2: .line 494
StackMap locals: int
StackMap stack:
aload 0 /* str */
iload 1 /* chr */
iload 3 /* pos */
iconst_1
iadd
invokevirtual java.lang.String.indexOf:(II)I
istore 3 /* pos */
3: .line 493
StackMap locals:
StackMap stack:
iinc 2 /* n */ -1
iload 2 /* n */
ifle 4
iload 3 /* pos */
iconst_m1
if_icmpne 2
4: .line 496
StackMap locals:
StackMap stack:
iload 3 /* pos */
ireturn
end local 3 // int pos
end local 2 // int n
end local 1 // char chr
end local 0 // java.lang.String str
LocalVariableTable:
Start End Slot Name Signature
0 5 0 str Ljava/lang/String;
0 5 1 chr C
0 5 2 n I
1 5 3 pos I
MethodParameters:
Name Flags
str
chr
n
public static org.h2.value.Value parseTimestamp(java.lang.String, org.h2.engine.Mode, boolean);
descriptor: (Ljava/lang/String;Lorg/h2/engine/Mode;Z)Lorg/h2/value/Value;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=15, args_size=3
start local 0 // java.lang.String s
start local 1 // org.h2.engine.Mode mode
start local 2 // boolean withTimeZone
0: .line 512
aload 0 /* s */
bipush 32
invokevirtual java.lang.String.indexOf:(I)I
istore 3 /* dateEnd */
start local 3 // int dateEnd
1: .line 513
iload 3 /* dateEnd */
ifge 5
2: .line 515
aload 0 /* s */
bipush 84
invokevirtual java.lang.String.indexOf:(I)I
istore 3 /* dateEnd */
3: .line 516
iload 3 /* dateEnd */
ifge 5
aload 1 /* mode */
ifnull 5
aload 1 /* mode */
getfield org.h2.engine.Mode.allowDB2TimestampFormat:Z
ifeq 5
4: .line 518
aload 0 /* s */
bipush 45
iconst_3
invokestatic org.h2.util.DateTimeUtils.findNthIndexOf:(Ljava/lang/String;CI)I
istore 3 /* dateEnd */
5: .line 522
StackMap locals: int
StackMap stack:
iload 3 /* dateEnd */
ifge 9
6: .line 523
aload 0 /* s */
invokevirtual java.lang.String.length:()I
istore 3 /* dateEnd */
7: .line 524
iconst_m1
istore 4 /* timeStart */
start local 4 // int timeStart
8: .line 525
goto 10
end local 4 // int timeStart
9: .line 526
StackMap locals:
StackMap stack:
iload 3 /* dateEnd */
iconst_1
iadd
istore 4 /* timeStart */
start local 4 // int timeStart
10: .line 528
StackMap locals: int
StackMap stack:
aload 0 /* s */
iconst_0
iload 3 /* dateEnd */
invokestatic org.h2.util.DateTimeUtils.parseDateValue:(Ljava/lang/String;II)J
lstore 5 /* dateValue */
start local 5 // long dateValue
11: .line 530
iconst_0
istore 9 /* tzMinutes */
start local 9 // short tzMinutes
12: .line 531
iload 4 /* timeStart */
ifge 15
13: .line 532
lconst_0
lstore 7 /* nanos */
start local 7 // long nanos
14: .line 533
goto 56
end local 7 // long nanos
15: .line 534
StackMap locals: java.lang.String org.h2.engine.Mode int int int long top top int
StackMap stack:
aload 0 /* s */
invokevirtual java.lang.String.length:()I
istore 10 /* timeEnd */
start local 10 // int timeEnd
16: .line 535
aconst_null
astore 11 /* tz */
start local 11 // java.util.TimeZone tz
17: .line 536
aload 0 /* s */
ldc "Z"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 21
18: .line 537
getstatic org.h2.util.DateTimeUtils.UTC:Ljava/util/TimeZone;
astore 11 /* tz */
19: .line 538
iinc 10 /* timeEnd */ -1
20: .line 539
goto 45
21: .line 540
StackMap locals: int java.util.TimeZone
StackMap stack:
aload 0 /* s */
bipush 43
iload 3 /* dateEnd */
iconst_1
iadd
invokevirtual java.lang.String.indexOf:(II)I
istore 12 /* timeZoneStart */
start local 12 // int timeZoneStart
22: .line 541
iload 12 /* timeZoneStart */
ifge 24
23: .line 542
aload 0 /* s */
bipush 45
iload 3 /* dateEnd */
iconst_1
iadd
invokevirtual java.lang.String.indexOf:(II)I
istore 12 /* timeZoneStart */
24: .line 544
StackMap locals: int
StackMap stack:
iload 12 /* timeZoneStart */
iflt 38
25: .line 546
aload 0 /* s */
bipush 91
iload 12 /* timeZoneStart */
iconst_1
iadd
invokevirtual java.lang.String.indexOf:(II)I
istore 13 /* offsetEnd */
start local 13 // int offsetEnd
26: .line 547
iload 13 /* offsetEnd */
ifge 28
27: .line 548
aload 0 /* s */
invokevirtual java.lang.String.length:()I
istore 13 /* offsetEnd */
28: .line 550
StackMap locals: int
StackMap stack:
new java.lang.StringBuilder
dup
ldc "GMT"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0 /* s */
iload 12 /* timeZoneStart */
iload 13 /* offsetEnd */
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 14 /* tzName */
start local 14 // java.lang.String tzName
29: .line 551
aload 14 /* tzName */
invokestatic java.util.TimeZone.getTimeZone:(Ljava/lang/String;)Ljava/util/TimeZone;
astore 11 /* tz */
30: .line 552
aload 11 /* tz */
invokevirtual java.util.TimeZone.getID:()Ljava/lang/String;
aload 14 /* tzName */
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 34
31: .line 553
new java.lang.IllegalArgumentException
dup
32: .line 554
new java.lang.StringBuilder
dup
aload 14 /* tzName */
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " ("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 11 /* tz */
invokevirtual java.util.TimeZone.getID:()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;
33: .line 553
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
34: .line 556
StackMap locals: java.lang.String
StackMap stack:
aload 0 /* s */
iload 12 /* timeZoneStart */
iconst_1
isub
invokevirtual java.lang.String.charAt:(I)C
bipush 32
if_icmpne 36
35: .line 557
iinc 12 /* timeZoneStart */ -1
36: .line 559
StackMap locals:
StackMap stack:
iload 12 /* timeZoneStart */
istore 10 /* timeEnd */
end local 14 // java.lang.String tzName
end local 13 // int offsetEnd
37: .line 560
goto 45
38: .line 561
StackMap locals:
StackMap stack:
aload 0 /* s */
bipush 32
iload 3 /* dateEnd */
iconst_1
iadd
invokevirtual java.lang.String.indexOf:(II)I
istore 12 /* timeZoneStart */
39: .line 562
iload 12 /* timeZoneStart */
ifle 45
40: .line 563
aload 0 /* s */
iload 12 /* timeZoneStart */
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 13 /* tzName */
start local 13 // java.lang.String tzName
41: .line 564
aload 13 /* tzName */
invokestatic java.util.TimeZone.getTimeZone:(Ljava/lang/String;)Ljava/util/TimeZone;
astore 11 /* tz */
42: .line 565
aload 11 /* tz */
invokevirtual java.util.TimeZone.getID:()Ljava/lang/String;
aload 13 /* tzName */
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 44
43: .line 566
new java.lang.IllegalArgumentException
dup
aload 13 /* tzName */
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
44: .line 568
StackMap locals: java.lang.String
StackMap stack:
iload 12 /* timeZoneStart */
istore 10 /* timeEnd */
end local 13 // java.lang.String tzName
end local 12 // int timeZoneStart
45: .line 572
StackMap locals:
StackMap stack:
aload 0 /* s */
iload 3 /* dateEnd */
iconst_1
iadd
iload 10 /* timeEnd */
invokestatic org.h2.util.DateTimeUtils.parseTimeNanos:(Ljava/lang/String;II)J
lstore 7 /* nanos */
start local 7 // long nanos
46: .line 573
aload 11 /* tz */
ifnull 56
47: .line 574
iload 2 /* withTimeZone */
ifeq 52
48: .line 575
aload 11 /* tz */
getstatic org.h2.util.DateTimeUtils.UTC:Ljava/util/TimeZone;
if_acmpeq 56
49: .line 576
aload 11 /* tz */
lload 5 /* dateValue */
lload 7 /* nanos */
ldc 1000000
ldiv
invokestatic org.h2.util.DateTimeUtils.convertDateTimeValueToMillis:(Ljava/util/TimeZone;JJ)J
lstore 12 /* millis */
start local 12 // long millis
50: .line 577
aload 11 /* tz */
lload 12 /* millis */
invokevirtual java.util.TimeZone.getOffset:(J)I
ldc 60000
idiv
i2s
istore 9 /* tzMinutes */
end local 12 // long millis
51: .line 579
goto 56
52: .line 580
StackMap locals: java.lang.String org.h2.engine.Mode int int int long long int int java.util.TimeZone
StackMap stack:
aload 11 /* tz */
lload 5 /* dateValue */
lload 7 /* nanos */
ldc 1000000
ldiv
invokestatic org.h2.util.DateTimeUtils.convertDateTimeValueToMillis:(Ljava/util/TimeZone;JJ)J
lstore 12 /* millis */
start local 12 // long millis
53: .line 581
lload 12 /* millis */
lload 12 /* millis */
invokestatic org.h2.util.DateTimeUtils.getTimeZoneOffset:(J)I
i2l
ladd
lstore 12 /* millis */
54: .line 582
lload 12 /* millis */
invokestatic org.h2.util.DateTimeUtils.dateValueFromLocalMillis:(J)J
lstore 5 /* dateValue */
55: .line 583
lload 7 /* nanos */
ldc 1000000
lrem
lload 12 /* millis */
invokestatic org.h2.util.DateTimeUtils.nanosFromLocalMillis:(J)J
ladd
lstore 7 /* nanos */
end local 12 // long millis
end local 11 // java.util.TimeZone tz
end local 10 // int timeEnd
56: .line 587
StackMap locals:
StackMap stack:
iload 2 /* withTimeZone */
ifeq 58
57: .line 588
lload 5 /* dateValue */
lload 7 /* nanos */
iload 9 /* tzMinutes */
invokestatic org.h2.value.ValueTimestampTimeZone.fromDateValueAndNanos:(JJS)Lorg/h2/value/ValueTimestampTimeZone;
areturn
58: .line 590
StackMap locals:
StackMap stack:
lload 5 /* dateValue */
lload 7 /* nanos */
invokestatic org.h2.value.ValueTimestamp.fromDateValueAndNanos:(JJ)Lorg/h2/value/ValueTimestamp;
areturn
end local 9 // short tzMinutes
end local 7 // long nanos
end local 5 // long dateValue
end local 4 // int timeStart
end local 3 // int dateEnd
end local 2 // boolean withTimeZone
end local 1 // org.h2.engine.Mode mode
end local 0 // java.lang.String s
LocalVariableTable:
Start End Slot Name Signature
0 59 0 s Ljava/lang/String;
0 59 1 mode Lorg/h2/engine/Mode;
0 59 2 withTimeZone Z
1 59 3 dateEnd I
8 9 4 timeStart I
10 59 4 timeStart I
11 59 5 dateValue J
14 15 7 nanos J
46 59 7 nanos J
12 59 9 tzMinutes S
16 56 10 timeEnd I
17 56 11 tz Ljava/util/TimeZone;
22 45 12 timeZoneStart I
26 37 13 offsetEnd I
29 37 14 tzName Ljava/lang/String;
41 45 13 tzName Ljava/lang/String;
50 51 12 millis J
53 56 12 millis J
MethodParameters:
Name Flags
s
mode
withTimeZone
public static int getTimeZoneOffsetMillis(java.util.TimeZone, long, long);
descriptor: (Ljava/util/TimeZone;JJ)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=11, args_size=3
start local 0 // java.util.TimeZone tz
start local 1 // long dateValue
start local 3 // long timeNanos
0: .line 606
lload 3 /* timeNanos */
ldc 1000000
ldiv
lstore 5 /* msec */
start local 5 // long msec
1: .line 607
aload 0 /* tz */
lload 1 /* dateValue */
lload 5 /* msec */
invokestatic org.h2.util.DateTimeUtils.convertDateTimeValueToMillis:(Ljava/util/TimeZone;JJ)J
lstore 7 /* utc */
start local 7 // long utc
2: .line 608
lload 1 /* dateValue */
invokestatic org.h2.util.DateTimeUtils.absoluteDayFromDateValue:(J)J
ldc 86400000
lmul
lload 5 /* msec */
ladd
lstore 9 /* local */
start local 9 // long local
3: .line 609
lload 9 /* local */
lload 7 /* utc */
lsub
l2i
ireturn
end local 9 // long local
end local 7 // long utc
end local 5 // long msec
end local 3 // long timeNanos
end local 1 // long dateValue
end local 0 // java.util.TimeZone tz
LocalVariableTable:
Start End Slot Name Signature
0 4 0 tz Ljava/util/TimeZone;
0 4 1 dateValue J
0 4 3 timeNanos J
1 4 5 msec J
2 4 7 utc J
3 4 9 local J
MethodParameters:
Name Flags
tz
dateValue
timeNanos
public static long getMillis(long, long, short);
descriptor: (JJS)J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=5, args_size=3
start local 0 // long dateValue
start local 2 // long timeNanos
start local 4 // short offsetMins
0: .line 624
lload 0 /* dateValue */
invokestatic org.h2.util.DateTimeUtils.absoluteDayFromDateValue:(J)J
ldc 86400000
lmul
1: .line 625
lload 2 /* timeNanos */
ldc 1000000
ldiv
2: .line 624
ladd
3: .line 625
iload 4 /* offsetMins */
ldc 60000
imul
i2l
4: .line 624
lsub
lreturn
end local 4 // short offsetMins
end local 2 // long timeNanos
end local 0 // long dateValue
LocalVariableTable:
Start End Slot Name Signature
0 5 0 dateValue J
0 5 2 timeNanos J
0 5 4 offsetMins S
MethodParameters:
Name Flags
dateValue
timeNanos
offsetMins
public static long getMillis(java.util.TimeZone, int, int, int, int, int, int, int);
descriptor: (Ljava/util/TimeZone;IIIIIII)J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=8, locals=12, args_size=8
start local 0 // java.util.TimeZone tz
start local 1 // int year
start local 2 // int month
start local 3 // int day
start local 4 // int hour
start local 5 // int minute
start local 6 // int second
start local 7 // int millis
0: .line 646
aload 0 /* tz */
ifnonnull 3
1: .line 647
invokestatic org.h2.util.DateTimeUtils.getCalendar:()Ljava/util/GregorianCalendar;
astore 8 /* c */
start local 8 // java.util.GregorianCalendar c
2: .line 648
goto 4
end local 8 // java.util.GregorianCalendar c
3: .line 649
StackMap locals:
StackMap stack:
aload 0 /* tz */
invokestatic org.h2.util.DateTimeUtils.getCalendar:(Ljava/util/TimeZone;)Ljava/util/GregorianCalendar;
astore 8 /* c */
start local 8 // java.util.GregorianCalendar c
4: .line 651
StackMap locals: java.util.GregorianCalendar
StackMap stack:
aload 8 /* c */
iconst_0
invokevirtual java.util.GregorianCalendar.setLenient:(Z)V
5: .line 653
aload 8 /* c */
iload 1 /* year */
iload 2 /* month */
iload 3 /* day */
iload 4 /* hour */
iload 5 /* minute */
iload 6 /* second */
iload 7 /* millis */
invokestatic org.h2.util.DateTimeUtils.convertToMillis:(Ljava/util/Calendar;IIIIIII)J
6: lreturn
7: .line 654
StackMap locals:
StackMap stack: java.lang.IllegalArgumentException
astore 9 /* e */
start local 9 // java.lang.IllegalArgumentException e
8: .line 657
aload 9 /* e */
invokevirtual java.lang.IllegalArgumentException.toString:()Ljava/lang/String;
astore 10 /* message */
start local 10 // java.lang.String message
9: .line 658
aload 10 /* message */
ldc "HOUR_OF_DAY"
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
ifle 12
10: .line 659
iload 4 /* hour */
iflt 11
iload 4 /* hour */
bipush 23
if_icmple 22
11: .line 660
StackMap locals: java.lang.IllegalArgumentException java.lang.String
StackMap stack:
aload 9 /* e */
athrow
12: .line 662
StackMap locals:
StackMap stack:
aload 10 /* message */
ldc "DAY_OF_MONTH"
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
ifle 22
13: .line 664
iload 2 /* month */
iconst_2
if_icmpne 18
14: .line 665
aload 8 /* c */
iload 1 /* year */
invokevirtual java.util.GregorianCalendar.isLeapYear:(I)Z
ifeq 15
bipush 29
goto 16
StackMap locals:
StackMap stack:
15: bipush 28
StackMap locals:
StackMap stack: int
16: istore 11 /* maxDay */
start local 11 // int maxDay
17: .line 666
goto 19
end local 11 // int maxDay
18: .line 667
StackMap locals:
StackMap stack:
getstatic org.h2.util.DateTimeUtils.NORMAL_DAYS_PER_MONTH:[I
iload 2 /* month */
iaload
istore 11 /* maxDay */
start local 11 // int maxDay
19: .line 669
StackMap locals: int
StackMap stack:
iload 3 /* day */
iconst_1
if_icmplt 20
iload 3 /* day */
iload 11 /* maxDay */
if_icmple 21
20: .line 670
StackMap locals:
StackMap stack:
aload 9 /* e */
athrow
21: .line 675
StackMap locals:
StackMap stack:
iinc 4 /* hour */ 6
end local 11 // int maxDay
22: .line 677
StackMap locals:
StackMap stack:
aload 8 /* c */
iconst_1
invokevirtual java.util.GregorianCalendar.setLenient:(Z)V
23: .line 678
aload 8 /* c */
iload 1 /* year */
iload 2 /* month */
iload 3 /* day */
iload 4 /* hour */
iload 5 /* minute */
iload 6 /* second */
iload 7 /* millis */
invokestatic org.h2.util.DateTimeUtils.convertToMillis:(Ljava/util/Calendar;IIIIIII)J
lreturn
end local 10 // java.lang.String message
end local 9 // java.lang.IllegalArgumentException e
end local 8 // java.util.GregorianCalendar c
end local 7 // int millis
end local 6 // int second
end local 5 // int minute
end local 4 // int hour
end local 3 // int day
end local 2 // int month
end local 1 // int year
end local 0 // java.util.TimeZone tz
LocalVariableTable:
Start End Slot Name Signature
0 24 0 tz Ljava/util/TimeZone;
0 24 1 year I
0 24 2 month I
0 24 3 day I
0 24 4 hour I
0 24 5 minute I
0 24 6 second I
0 24 7 millis I
2 3 8 c Ljava/util/GregorianCalendar;
4 24 8 c Ljava/util/GregorianCalendar;
8 24 9 e Ljava/lang/IllegalArgumentException;
9 24 10 message Ljava/lang/String;
17 18 11 maxDay I
19 22 11 maxDay I
Exception table:
from to target type
5 6 7 Class java.lang.IllegalArgumentException
MethodParameters:
Name Flags
tz
year
month
day
hour
minute
second
millis
private static long convertToMillis(java.util.Calendar, int, int, int, int, int, int, int);
descriptor: (Ljava/util/Calendar;IIIIIII)J
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=8, args_size=8
start local 0 // java.util.Calendar cal
start local 1 // int year
start local 2 // int month
start local 3 // int day
start local 4 // int hour
start local 5 // int minute
start local 6 // int second
start local 7 // int millis
0: .line 684
iload 1 /* year */
ifgt 4
1: .line 685
aload 0 /* cal */
iconst_0
iconst_0
invokevirtual java.util.Calendar.set:(II)V
2: .line 686
aload 0 /* cal */
iconst_1
iconst_1
iload 1 /* year */
isub
invokevirtual java.util.Calendar.set:(II)V
3: .line 687
goto 6
4: .line 688
StackMap locals:
StackMap stack:
aload 0 /* cal */
iconst_0
iconst_1
invokevirtual java.util.Calendar.set:(II)V
5: .line 689
aload 0 /* cal */
iconst_1
iload 1 /* year */
invokevirtual java.util.Calendar.set:(II)V
6: .line 692
StackMap locals:
StackMap stack:
aload 0 /* cal */
iconst_2
iload 2 /* month */
iconst_1
isub
invokevirtual java.util.Calendar.set:(II)V
7: .line 693
aload 0 /* cal */
iconst_5
iload 3 /* day */
invokevirtual java.util.Calendar.set:(II)V
8: .line 694
aload 0 /* cal */
bipush 11
iload 4 /* hour */
invokevirtual java.util.Calendar.set:(II)V
9: .line 695
aload 0 /* cal */
bipush 12
iload 5 /* minute */
invokevirtual java.util.Calendar.set:(II)V
10: .line 696
aload 0 /* cal */
bipush 13
iload 6 /* second */
invokevirtual java.util.Calendar.set:(II)V
11: .line 697
aload 0 /* cal */
bipush 14
iload 7 /* millis */
invokevirtual java.util.Calendar.set:(II)V
12: .line 698
aload 0 /* cal */
invokevirtual java.util.Calendar.getTimeInMillis:()J
lreturn
end local 7 // int millis
end local 6 // int second
end local 5 // int minute
end local 4 // int hour
end local 3 // int day
end local 2 // int month
end local 1 // int year
end local 0 // java.util.Calendar cal
LocalVariableTable:
Start End Slot Name Signature
0 13 0 cal Ljava/util/Calendar;
0 13 1 year I
0 13 2 month I
0 13 3 day I
0 13 4 hour I
0 13 5 minute I
0 13 6 second I
0 13 7 millis I
MethodParameters:
Name Flags
cal
year
month
day
hour
minute
second
millis
public static long[] dateAndTimeFromValue(org.h2.value.Value);
descriptor: (Lorg/h2/value/Value;)[J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=6, args_size=1
start local 0 // org.h2.value.Value value
0: .line 709
ldc 1008673
lstore 1 /* dateValue */
start local 1 // long dateValue
1: .line 710
lconst_0
lstore 3 /* timeNanos */
start local 3 // long timeNanos
2: .line 711
aload 0 /* value */
instanceof org.h2.value.ValueTimestamp
ifeq 7
3: .line 712
aload 0 /* value */
checkcast org.h2.value.ValueTimestamp
astore 5 /* v */
start local 5 // org.h2.value.ValueTimestamp v
4: .line 713
aload 5 /* v */
invokevirtual org.h2.value.ValueTimestamp.getDateValue:()J
lstore 1 /* dateValue */
5: .line 714
aload 5 /* v */
invokevirtual org.h2.value.ValueTimestamp.getTimeNanos:()J
lstore 3 /* timeNanos */
end local 5 // org.h2.value.ValueTimestamp v
6: .line 715
goto 21
StackMap locals: long long
StackMap stack:
7: aload 0 /* value */
instanceof org.h2.value.ValueDate
ifeq 10
8: .line 716
aload 0 /* value */
checkcast org.h2.value.ValueDate
invokevirtual org.h2.value.ValueDate.getDateValue:()J
lstore 1 /* dateValue */
9: .line 717
goto 21
StackMap locals:
StackMap stack:
10: aload 0 /* value */
instanceof org.h2.value.ValueTime
ifeq 13
11: .line 718
aload 0 /* value */
checkcast org.h2.value.ValueTime
invokevirtual org.h2.value.ValueTime.getNanos:()J
lstore 3 /* timeNanos */
12: .line 719
goto 21
StackMap locals:
StackMap stack:
13: aload 0 /* value */
instanceof org.h2.value.ValueTimestampTimeZone
ifeq 18
14: .line 720
aload 0 /* value */
checkcast org.h2.value.ValueTimestampTimeZone
astore 5 /* v */
start local 5 // org.h2.value.ValueTimestampTimeZone v
15: .line 721
aload 5 /* v */
invokevirtual org.h2.value.ValueTimestampTimeZone.getDateValue:()J
lstore 1 /* dateValue */
16: .line 722
aload 5 /* v */
invokevirtual org.h2.value.ValueTimestampTimeZone.getTimeNanos:()J
lstore 3 /* timeNanos */
end local 5 // org.h2.value.ValueTimestampTimeZone v
17: .line 723
goto 21
18: .line 724
StackMap locals:
StackMap stack:
aload 0 /* value */
bipush 11
invokevirtual org.h2.value.Value.convertTo:(I)Lorg/h2/value/Value;
checkcast org.h2.value.ValueTimestamp
astore 5 /* v */
start local 5 // org.h2.value.ValueTimestamp v
19: .line 725
aload 5 /* v */
invokevirtual org.h2.value.ValueTimestamp.getDateValue:()J
lstore 1 /* dateValue */
20: .line 726
aload 5 /* v */
invokevirtual org.h2.value.ValueTimestamp.getTimeNanos:()J
lstore 3 /* timeNanos */
end local 5 // org.h2.value.ValueTimestamp v
21: .line 728
StackMap locals:
StackMap stack:
iconst_2
newarray 11
dup
iconst_0
lload 1 /* dateValue */
lastore
dup
iconst_1
lload 3 /* timeNanos */
lastore
areturn
end local 3 // long timeNanos
end local 1 // long dateValue
end local 0 // org.h2.value.Value value
LocalVariableTable:
Start End Slot Name Signature
0 22 0 value Lorg/h2/value/Value;
1 22 1 dateValue J
2 22 3 timeNanos J
4 6 5 v Lorg/h2/value/ValueTimestamp;
15 17 5 v Lorg/h2/value/ValueTimestampTimeZone;
19 21 5 v Lorg/h2/value/ValueTimestamp;
MethodParameters:
Name Flags
value
public static org.h2.value.Value dateTimeToValue(org.h2.value.Value, long, long, boolean);
descriptor: (Lorg/h2/value/Value;JJZ)Lorg/h2/value/Value;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=6, args_size=4
start local 0 // org.h2.value.Value original
start local 1 // long dateValue
start local 3 // long timeNanos
start local 5 // boolean forceTimestamp
0: .line 748
aload 0 /* original */
instanceof org.h2.value.ValueTimestamp
ifne 10
1: .line 749
iload 5 /* forceTimestamp */
ifne 6
2: .line 750
aload 0 /* original */
instanceof org.h2.value.ValueDate
ifeq 4
3: .line 751
lload 1 /* dateValue */
invokestatic org.h2.value.ValueDate.fromDateValue:(J)Lorg/h2/value/ValueDate;
areturn
4: .line 753
StackMap locals:
StackMap stack:
aload 0 /* original */
instanceof org.h2.value.ValueTime
ifeq 6
5: .line 754
lload 3 /* timeNanos */
invokestatic org.h2.value.ValueTime.fromNanos:(J)Lorg/h2/value/ValueTime;
areturn
6: .line 757
StackMap locals:
StackMap stack:
aload 0 /* original */
instanceof org.h2.value.ValueTimestampTimeZone
ifeq 10
7: .line 758
lload 1 /* dateValue */
lload 3 /* timeNanos */
8: .line 759
aload 0 /* original */
checkcast org.h2.value.ValueTimestampTimeZone
invokevirtual org.h2.value.ValueTimestampTimeZone.getTimeZoneOffsetMins:()S
9: .line 758
invokestatic org.h2.value.ValueTimestampTimeZone.fromDateValueAndNanos:(JJS)Lorg/h2/value/ValueTimestampTimeZone;
areturn
10: .line 762
StackMap locals:
StackMap stack:
lload 1 /* dateValue */
lload 3 /* timeNanos */
invokestatic org.h2.value.ValueTimestamp.fromDateValueAndNanos:(JJ)Lorg/h2/value/ValueTimestamp;
areturn
end local 5 // boolean forceTimestamp
end local 3 // long timeNanos
end local 1 // long dateValue
end local 0 // org.h2.value.Value original
LocalVariableTable:
Start End Slot Name Signature
0 11 0 original Lorg/h2/value/Value;
0 11 1 dateValue J
0 11 3 timeNanos J
0 11 5 forceTimestamp Z
MethodParameters:
Name Flags
original
dateValue
timeNanos
forceTimestamp
public static long getTimeLocalWithoutDst(java.util.Date);
descriptor: (Ljava/util/Date;)J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 // java.util.Date d
0: .line 773
aload 0 /* d */
invokevirtual java.util.Date.getTime:()J
getstatic org.h2.util.DateTimeUtils.zoneOffsetMillis:I
i2l
ladd
lreturn
end local 0 // java.util.Date d
LocalVariableTable:
Start End Slot Name Signature
0 1 0 d Ljava/util/Date;
MethodParameters:
Name Flags
d
public static long getTimeUTCWithoutDst(long);
descriptor: (J)J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 // long millis
0: .line 784
lload 0 /* millis */
getstatic org.h2.util.DateTimeUtils.zoneOffsetMillis:I
i2l
lsub
lreturn
end local 0 // long millis
LocalVariableTable:
Start End Slot Name Signature
0 1 0 millis J
MethodParameters:
Name Flags
millis
public static int getDayOfWeek(long, int);
descriptor: (JI)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 // long dateValue
start local 2 // int firstDayOfWeek
0: .line 798
lload 0 /* dateValue */
invokestatic org.h2.util.DateTimeUtils.absoluteDayFromDateValue:(J)J
iload 2 /* firstDayOfWeek */
invokestatic org.h2.util.DateTimeUtils.getDayOfWeekFromAbsolute:(JI)I
ireturn
end local 2 // int firstDayOfWeek
end local 0 // long dateValue
LocalVariableTable:
Start End Slot Name Signature
0 1 0 dateValue J
0 1 2 firstDayOfWeek I
MethodParameters:
Name Flags
dateValue
firstDayOfWeek
public static int getDayOfWeekFromAbsolute(long, int);
descriptor: (JI)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=2
start local 0 // long absoluteValue
start local 2 // int firstDayOfWeek
0: .line 809
lload 0 /* absoluteValue */
lconst_0
lcmp
iflt 1
lload 0 /* absoluteValue */
iload 2 /* firstDayOfWeek */
i2l
lsub
ldc 11
ladd
ldc 7
lrem
l2i
iconst_1
iadd
goto 2
1: .line 810
StackMap locals:
StackMap stack:
lload 0 /* absoluteValue */
iload 2 /* firstDayOfWeek */
i2l
lsub
ldc 2
lsub
ldc 7
lrem
l2i
bipush 7
iadd
2: .line 809
StackMap locals:
StackMap stack: int
ireturn
end local 2 // int firstDayOfWeek
end local 0 // long absoluteValue
LocalVariableTable:
Start End Slot Name Signature
0 3 0 absoluteValue J
0 3 2 firstDayOfWeek I
MethodParameters:
Name Flags
absoluteValue
firstDayOfWeek
public static int getDayOfYear(long);
descriptor: (J)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 // long dateValue
0: .line 821
lload 0 /* dateValue */
invokestatic org.h2.util.DateTimeUtils.absoluteDayFromDateValue:(J)J
lload 0 /* dateValue */
invokestatic org.h2.util.DateTimeUtils.yearFromDateValue:(J)I
i2l
invokestatic org.h2.util.DateTimeUtils.absoluteDayFromYear:(J)J
lsub
l2i
iconst_1
iadd
ireturn
end local 0 // long dateValue
LocalVariableTable:
Start End Slot Name Signature
0 1 0 dateValue J
MethodParameters:
Name Flags
dateValue
public static int getIsoDayOfWeek(long);
descriptor: (J)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 // long dateValue
0: .line 833
lload 0 /* dateValue */
iconst_1
invokestatic org.h2.util.DateTimeUtils.getDayOfWeek:(JI)I
ireturn
end local 0 // long dateValue
LocalVariableTable:
Start End Slot Name Signature
0 1 0 dateValue J
MethodParameters:
Name Flags
dateValue
public static int getIsoWeekOfYear(long);
descriptor: (J)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 // long dateValue
0: .line 846
lload 0 /* dateValue */
iconst_1
iconst_4
invokestatic org.h2.util.DateTimeUtils.getWeekOfYear:(JII)I
ireturn
end local 0 // long dateValue
LocalVariableTable:
Start End Slot Name Signature
0 1 0 dateValue J
MethodParameters:
Name Flags
dateValue
public static int getIsoWeekYear(long);
descriptor: (J)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 // long dateValue
0: .line 859
lload 0 /* dateValue */
iconst_1
iconst_4
invokestatic org.h2.util.DateTimeUtils.getWeekYear:(JII)I
ireturn
end local 0 // long dateValue
LocalVariableTable:
Start End Slot Name Signature
0 1 0 dateValue J
MethodParameters:
Name Flags
dateValue
public static int getSundayDayOfWeek(long);
descriptor: (J)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 // long dateValue
0: .line 871
lload 0 /* dateValue */
iconst_0
invokestatic org.h2.util.DateTimeUtils.getDayOfWeek:(JI)I
ireturn
end local 0 // long dateValue
LocalVariableTable:
Start End Slot Name Signature
0 1 0 dateValue J
MethodParameters:
Name Flags
dateValue
public static int getWeekOfYear(long, int, int);
descriptor: (JII)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=9, args_size=3
start local 0 // long dateValue
start local 2 // int firstDayOfWeek
start local 3 // int minimalDaysInFirstWeek
0: .line 887
lload 0 /* dateValue */
invokestatic org.h2.util.DateTimeUtils.absoluteDayFromDateValue:(J)J
lstore 4 /* abs */
start local 4 // long abs
1: .line 888
lload 0 /* dateValue */
invokestatic org.h2.util.DateTimeUtils.yearFromDateValue:(J)I
istore 6 /* year */
start local 6 // int year
2: .line 889
iload 6 /* year */
iload 2 /* firstDayOfWeek */
iload 3 /* minimalDaysInFirstWeek */
invokestatic org.h2.util.DateTimeUtils.getWeekOfYearBase:(III)J
lstore 7 /* base */
start local 7 // long base
3: .line 890
lload 4 /* abs */
lload 7 /* base */
lsub
lconst_0
lcmp
ifge 6
4: .line 891
iload 6 /* year */
iconst_1
isub
iload 2 /* firstDayOfWeek */
iload 3 /* minimalDaysInFirstWeek */
invokestatic org.h2.util.DateTimeUtils.getWeekOfYearBase:(III)J
lstore 7 /* base */
5: .line 892
goto 9
StackMap locals: long int long
StackMap stack:
6: lload 0 /* dateValue */
invokestatic org.h2.util.DateTimeUtils.monthFromDateValue:(J)I
bipush 12
if_icmpne 9
bipush 24
iload 3 /* minimalDaysInFirstWeek */
iadd
lload 0 /* dateValue */
invokestatic org.h2.util.DateTimeUtils.dayFromDateValue:(J)I
if_icmpge 9
7: .line 893
lload 4 /* abs */
iload 6 /* year */
iconst_1
iadd
iload 2 /* firstDayOfWeek */
iload 3 /* minimalDaysInFirstWeek */
invokestatic org.h2.util.DateTimeUtils.getWeekOfYearBase:(III)J
lcmp
iflt 9
8: .line 894
iconst_1
ireturn
9: .line 897
StackMap locals:
StackMap stack:
lload 4 /* abs */
lload 7 /* base */
lsub
ldc 7
ldiv
l2i
iconst_1
iadd
ireturn
end local 7 // long base
end local 6 // int year
end local 4 // long abs
end local 3 // int minimalDaysInFirstWeek
end local 2 // int firstDayOfWeek
end local 0 // long dateValue
LocalVariableTable:
Start End Slot Name Signature
0 10 0 dateValue J
0 10 2 firstDayOfWeek I
0 10 3 minimalDaysInFirstWeek I
1 10 4 abs J
2 10 6 year I
3 10 7 base J
MethodParameters:
Name Flags
dateValue
firstDayOfWeek
minimalDaysInFirstWeek
private static long getWeekOfYearBase(int, int, int);
descriptor: (III)J
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=8, args_size=3
start local 0 // int year
start local 1 // int firstDayOfWeek
start local 2 // int minimalDaysInFirstWeek
0: .line 901
iload 0 /* year */
i2l
invokestatic org.h2.util.DateTimeUtils.absoluteDayFromYear:(J)J
lstore 3 /* first */
start local 3 // long first
1: .line 902
bipush 8
lload 3 /* first */
iload 1 /* firstDayOfWeek */
invokestatic org.h2.util.DateTimeUtils.getDayOfWeekFromAbsolute:(JI)I
isub
istore 5 /* daysInFirstWeek */
start local 5 // int daysInFirstWeek
2: .line 903
lload 3 /* first */
iload 5 /* daysInFirstWeek */
i2l
ladd
lstore 6 /* base */
start local 6 // long base
3: .line 904
iload 5 /* daysInFirstWeek */
iload 2 /* minimalDaysInFirstWeek */
if_icmplt 5
4: .line 905
lload 6 /* base */
ldc 7
lsub
lstore 6 /* base */
5: .line 907
StackMap locals: long int long
StackMap stack:
lload 6 /* base */
lreturn
end local 6 // long base
end local 5 // int daysInFirstWeek
end local 3 // long first
end local 2 // int minimalDaysInFirstWeek
end local 1 // int firstDayOfWeek
end local 0 // int year
LocalVariableTable:
Start End Slot Name Signature
0 6 0 year I
0 6 1 firstDayOfWeek I
0 6 2 minimalDaysInFirstWeek I
1 6 3 first J
2 6 5 daysInFirstWeek I
3 6 6 base J
MethodParameters:
Name Flags
year
firstDayOfWeek
minimalDaysInFirstWeek
public static int getWeekYear(long, int, int);
descriptor: (JII)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=9, args_size=3
start local 0 // long dateValue
start local 2 // int firstDayOfWeek
start local 3 // int minimalDaysInFirstWeek
0: .line 923
lload 0 /* dateValue */
invokestatic org.h2.util.DateTimeUtils.absoluteDayFromDateValue:(J)J
lstore 4 /* abs */
start local 4 // long abs
1: .line 924
lload 0 /* dateValue */
invokestatic org.h2.util.DateTimeUtils.yearFromDateValue:(J)I
istore 6 /* year */
start local 6 // int year
2: .line 925
iload 6 /* year */
iload 2 /* firstDayOfWeek */
iload 3 /* minimalDaysInFirstWeek */
invokestatic org.h2.util.DateTimeUtils.getWeekOfYearBase:(III)J
lstore 7 /* base */
start local 7 // long base
3: .line 926
lload 4 /* abs */
lload 7 /* base */
lsub
lconst_0
lcmp
ifge 5
4: .line 927
iload 6 /* year */
iconst_1
isub
ireturn
5: .line 928
StackMap locals: long int long
StackMap stack:
lload 0 /* dateValue */
invokestatic org.h2.util.DateTimeUtils.monthFromDateValue:(J)I
bipush 12
if_icmpne 8
bipush 24
iload 3 /* minimalDaysInFirstWeek */
iadd
lload 0 /* dateValue */
invokestatic org.h2.util.DateTimeUtils.dayFromDateValue:(J)I
if_icmpge 8
6: .line 929
lload 4 /* abs */
iload 6 /* year */
iconst_1
iadd
iload 2 /* firstDayOfWeek */
iload 3 /* minimalDaysInFirstWeek */
invokestatic org.h2.util.DateTimeUtils.getWeekOfYearBase:(III)J
lcmp
iflt 8
7: .line 930
iload 6 /* year */
iconst_1
iadd
ireturn
8: .line 933
StackMap locals:
StackMap stack:
iload 6 /* year */
ireturn
end local 7 // long base
end local 6 // int year
end local 4 // long abs
end local 3 // int minimalDaysInFirstWeek
end local 2 // int firstDayOfWeek
end local 0 // long dateValue
LocalVariableTable:
Start End Slot Name Signature
0 9 0 dateValue J
0 9 2 firstDayOfWeek I
0 9 3 minimalDaysInFirstWeek I
1 9 4 abs J
2 9 6 year I
3 9 7 base J
MethodParameters:
Name Flags
dateValue
firstDayOfWeek
minimalDaysInFirstWeek
public static int getDaysInMonth(int, int);
descriptor: (II)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 // int year
start local 1 // int month
0: .line 944
iload 1 /* month */
iconst_2
if_icmpeq 2
1: .line 945
getstatic org.h2.util.DateTimeUtils.NORMAL_DAYS_PER_MONTH:[I
iload 1 /* month */
iaload
ireturn
2: .line 948
StackMap locals:
StackMap stack:
iload 0 /* year */
iconst_3
iand
ifne 6
3: .line 950
iload 0 /* year */
sipush 1582
if_icmplt 5
4: .line 952
iload 0 /* year */
bipush 100
irem
ifne 5
iload 0 /* year */
sipush 400
irem
ifne 6
5: .line 953
StackMap locals:
StackMap stack:
bipush 29
goto 7
StackMap locals:
StackMap stack:
6: bipush 28
7: .line 948
StackMap locals:
StackMap stack: int
ireturn
end local 1 // int month
end local 0 // int year
LocalVariableTable:
Start End Slot Name Signature
0 8 0 year I
0 8 1 month I
MethodParameters:
Name Flags
year
month
public static boolean isValidDate(int, int, int);
descriptor: (III)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=3
start local 0 // int year
start local 1 // int month
start local 2 // int day
0: .line 965
iload 1 /* month */
iconst_1
if_icmplt 1
iload 1 /* month */
bipush 12
if_icmpgt 1
iload 2 /* day */
iconst_1
if_icmpge 2
1: .line 966
StackMap locals:
StackMap stack:
iconst_0
ireturn
2: .line 968
StackMap locals:
StackMap stack:
iload 0 /* year */
sipush 1582
if_icmpne 6
iload 1 /* month */
bipush 10
if_icmpne 6
3: .line 970
iload 2 /* day */
iconst_5
if_icmplt 5
iload 2 /* day */
bipush 14
if_icmple 4
iload 2 /* day */
bipush 31
if_icmple 5
StackMap locals:
StackMap stack:
4: iconst_0
ireturn
StackMap locals:
StackMap stack:
5: iconst_1
ireturn
6: .line 972
StackMap locals:
StackMap stack:
iload 2 /* day */
iload 0 /* year */
iload 1 /* month */
invokestatic org.h2.util.DateTimeUtils.getDaysInMonth:(II)I
if_icmpgt 7
iconst_1
ireturn
StackMap locals:
StackMap stack:
7: iconst_0
ireturn
end local 2 // int day
end local 1 // int month
end local 0 // int year
LocalVariableTable:
Start End Slot Name Signature
0 8 0 year I
0 8 1 month I
0 8 2 day I
MethodParameters:
Name Flags
year
month
day
public static java.sql.Date convertDateValueToDate(long);
descriptor: (J)Ljava/sql/Date;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=8, locals=4, args_size=1
start local 0 // long dateValue
0: .line 983
aconst_null
lload 0 /* dateValue */
invokestatic org.h2.util.DateTimeUtils.yearFromDateValue:(J)I
1: .line 984
lload 0 /* dateValue */
invokestatic org.h2.util.DateTimeUtils.monthFromDateValue:(J)I
lload 0 /* dateValue */
invokestatic org.h2.util.DateTimeUtils.dayFromDateValue:(J)I
iconst_0
2: .line 985
iconst_0
iconst_0
iconst_0
3: .line 983
invokestatic org.h2.util.DateTimeUtils.getMillis:(Ljava/util/TimeZone;IIIIIII)J
lstore 2 /* millis */
start local 2 // long millis
4: .line 986
new java.sql.Date
dup
lload 2 /* millis */
invokespecial java.sql.Date.<init>:(J)V
areturn
end local 2 // long millis
end local 0 // long dateValue
LocalVariableTable:
Start End Slot Name Signature
0 5 0 dateValue J
4 5 2 millis J
MethodParameters:
Name Flags
dateValue
public static long convertDateTimeValueToMillis(java.util.TimeZone, long, long);
descriptor: (Ljava/util/TimeZone;JJ)J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=9, locals=9, args_size=3
start local 0 // java.util.TimeZone tz
start local 1 // long dateValue
start local 3 // long ms
0: .line 998
lload 3 /* ms */
ldc 1000
ldiv
lstore 5 /* second */
start local 5 // long second
1: .line 999
lload 3 /* ms */
lload 5 /* second */
ldc 1000
lmul
lsub
lstore 3 /* ms */
2: .line 1000
lload 5 /* second */
ldc 60
ldiv
l2i
istore 7 /* minute */
start local 7 // int minute
3: .line 1001
lload 5 /* second */
iload 7 /* minute */
bipush 60
imul
i2l
lsub
lstore 5 /* second */
4: .line 1002
iload 7 /* minute */
bipush 60
idiv
istore 8 /* hour */
start local 8 // int hour
5: .line 1003
iload 7 /* minute */
iload 8 /* hour */
bipush 60
imul
isub
istore 7 /* minute */
6: .line 1004
aload 0 /* tz */
lload 1 /* dateValue */
invokestatic org.h2.util.DateTimeUtils.yearFromDateValue:(J)I
lload 1 /* dateValue */
invokestatic org.h2.util.DateTimeUtils.monthFromDateValue:(J)I
lload 1 /* dateValue */
invokestatic org.h2.util.DateTimeUtils.dayFromDateValue:(J)I
7: .line 1005
iload 8 /* hour */
iload 7 /* minute */
lload 5 /* second */
l2i
lload 3 /* ms */
l2i
8: .line 1004
invokestatic org.h2.util.DateTimeUtils.getMillis:(Ljava/util/TimeZone;IIIIIII)J
lreturn
end local 8 // int hour
end local 7 // int minute
end local 5 // long second
end local 3 // long ms
end local 1 // long dateValue
end local 0 // java.util.TimeZone tz
LocalVariableTable:
Start End Slot Name Signature
0 9 0 tz Ljava/util/TimeZone;
0 9 1 dateValue J
0 9 3 ms J
1 9 5 second J
3 9 7 minute I
5 9 8 hour I
MethodParameters:
Name Flags
tz
dateValue
ms
public static java.sql.Timestamp convertDateValueToTimestamp(long, long);
descriptor: (JJ)Ljava/sql/Timestamp;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=9, locals=5, args_size=2
start local 0 // long dateValue
start local 2 // long timeNanos
0: .line 1018
new java.sql.Timestamp
dup
aconst_null
lload 0 /* dateValue */
lload 2 /* timeNanos */
ldc 1000000
ldiv
invokestatic org.h2.util.DateTimeUtils.convertDateTimeValueToMillis:(Ljava/util/TimeZone;JJ)J
invokespecial java.sql.Timestamp.<init>:(J)V
astore 4 /* ts */
start local 4 // java.sql.Timestamp ts
1: .line 1020
aload 4 /* ts */
lload 2 /* timeNanos */
ldc 1000000000
lrem
l2i
invokevirtual java.sql.Timestamp.setNanos:(I)V
2: .line 1021
aload 4 /* ts */
areturn
end local 4 // java.sql.Timestamp ts
end local 2 // long timeNanos
end local 0 // long dateValue
LocalVariableTable:
Start End Slot Name Signature
0 3 0 dateValue J
0 3 2 timeNanos J
1 3 4 ts Ljava/sql/Timestamp;
MethodParameters:
Name Flags
dateValue
timeNanos
public static java.sql.Timestamp convertTimestampTimeZoneToTimestamp(long, long, short);
descriptor: (JJS)Ljava/sql/Timestamp;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=6, args_size=3
start local 0 // long dateValue
start local 2 // long timeNanos
start local 4 // short offsetMins
0: .line 1034
new java.sql.Timestamp
dup
lload 0 /* dateValue */
lload 2 /* timeNanos */
iload 4 /* offsetMins */
invokestatic org.h2.util.DateTimeUtils.getMillis:(JJS)J
invokespecial java.sql.Timestamp.<init>:(J)V
astore 5 /* ts */
start local 5 // java.sql.Timestamp ts
1: .line 1035
aload 5 /* ts */
lload 2 /* timeNanos */
ldc 1000000000
lrem
l2i
invokevirtual java.sql.Timestamp.setNanos:(I)V
2: .line 1036
aload 5 /* ts */
areturn
end local 5 // java.sql.Timestamp ts
end local 4 // short offsetMins
end local 2 // long timeNanos
end local 0 // long dateValue
LocalVariableTable:
Start End Slot Name Signature
0 3 0 dateValue J
0 3 2 timeNanos J
0 3 4 offsetMins S
1 3 5 ts Ljava/sql/Timestamp;
MethodParameters:
Name Flags
dateValue
timeNanos
offsetMins
public static java.sql.Time convertNanoToTime(long);
descriptor: (J)Ljava/sql/Time;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=9, locals=12, args_size=1
start local 0 // long nanosSinceMidnight
0: .line 1046
lload 0 /* nanosSinceMidnight */
ldc 1000000
ldiv
lstore 2 /* millis */
start local 2 // long millis
1: .line 1047
lload 2 /* millis */
ldc 1000
ldiv
lstore 4 /* s */
start local 4 // long s
2: .line 1048
lload 2 /* millis */
lload 4 /* s */
ldc 1000
lmul
lsub
lstore 2 /* millis */
3: .line 1049
lload 4 /* s */
ldc 60
ldiv
lstore 6 /* m */
start local 6 // long m
4: .line 1050
lload 4 /* s */
lload 6 /* m */
ldc 60
lmul
lsub
lstore 4 /* s */
5: .line 1051
lload 6 /* m */
ldc 60
ldiv
lstore 8 /* h */
start local 8 // long h
6: .line 1052
lload 6 /* m */
lload 8 /* h */
ldc 60
lmul
lsub
lstore 6 /* m */
7: .line 1053
aconst_null
sipush 1970
iconst_1
iconst_1
lload 8 /* h */
ldc 24
lrem
l2i
lload 6 /* m */
l2i
lload 4 /* s */
l2i
8: .line 1054
lload 2 /* millis */
l2i
9: .line 1053
invokestatic org.h2.util.DateTimeUtils.getMillis:(Ljava/util/TimeZone;IIIIIII)J
lstore 10 /* ms */
start local 10 // long ms
10: .line 1055
new java.sql.Time
dup
lload 10 /* ms */
invokespecial java.sql.Time.<init>:(J)V
areturn
end local 10 // long ms
end local 8 // long h
end local 6 // long m
end local 4 // long s
end local 2 // long millis
end local 0 // long nanosSinceMidnight
LocalVariableTable:
Start End Slot Name Signature
0 11 0 nanosSinceMidnight J
1 11 2 millis J
2 11 4 s J
4 11 6 m J
6 11 8 h J
10 11 10 ms J
MethodParameters:
Name Flags
nanosSinceMidnight
public static int yearFromDateValue(long);
descriptor: (J)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 // long x
0: .line 1065
lload 0 /* x */
bipush 9
lushr
l2i
ireturn
end local 0 // long x
LocalVariableTable:
Start End Slot Name Signature
0 1 0 x J
MethodParameters:
Name Flags
x
public static int monthFromDateValue(long);
descriptor: (J)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 // long x
0: .line 1075
lload 0 /* x */
iconst_5
lushr
l2i
bipush 15
iand
ireturn
end local 0 // long x
LocalVariableTable:
Start End Slot Name Signature
0 1 0 x J
MethodParameters:
Name Flags
x
public static int dayFromDateValue(long);
descriptor: (J)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 // long x
0: .line 1085
lload 0 /* x */
ldc 31
land
l2i
ireturn
end local 0 // long x
LocalVariableTable:
Start End Slot Name Signature
0 1 0 x J
MethodParameters:
Name Flags
x
public static long dateValue(long, int, int);
descriptor: (JII)J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=4, args_size=3
start local 0 // long year
start local 2 // int month
start local 3 // int day
0: .line 1097
lload 0 /* year */
bipush 9
lshl
iload 2 /* month */
iconst_5
ishl
i2l
lor
iload 3 /* day */
i2l
lor
lreturn
end local 3 // int day
end local 2 // int month
end local 0 // long year
LocalVariableTable:
Start End Slot Name Signature
0 1 0 year J
0 1 2 month I
0 1 3 day I
MethodParameters:
Name Flags
year
month
day
public static long dateValueFromDenormalizedDate(long, long, int);
descriptor: (JJI)J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=12, args_size=3
start local 0 // long year
start local 2 // long month
start local 4 // int day
0: .line 1114
lload 2 /* month */
lconst_1
lsub
lstore 5 /* mm1 */
start local 5 // long mm1
1: .line 1115
lload 5 /* mm1 */
ldc 12
ldiv
lstore 7 /* yd */
start local 7 // long yd
2: .line 1116
lload 5 /* mm1 */
lconst_0
lcmp
ifge 4
lload 7 /* yd */
ldc 12
lmul
lload 5 /* mm1 */
lcmp
ifeq 4
3: .line 1117
lload 7 /* yd */
lconst_1
lsub
lstore 7 /* yd */
4: .line 1119
StackMap locals: long long
StackMap stack:
lload 0 /* year */
lload 7 /* yd */
ladd
l2i
istore 9 /* y */
start local 9 // int y
5: .line 1120
lload 2 /* month */
lload 7 /* yd */
ldc 12
lmul
lsub
l2i
istore 10 /* m */
start local 10 // int m
6: .line 1121
iload 4 /* day */
iconst_1
if_icmpge 9
7: .line 1122
iconst_1
istore 4 /* day */
8: .line 1123
goto 12
9: .line 1124
StackMap locals: int int
StackMap stack:
iload 9 /* y */
iload 10 /* m */
invokestatic org.h2.util.DateTimeUtils.getDaysInMonth:(II)I
istore 11 /* max */
start local 11 // int max
10: .line 1125
iload 4 /* day */
iload 11 /* max */
if_icmple 12
11: .line 1126
iload 11 /* max */
istore 4 /* day */
end local 11 // int max
12: .line 1129
StackMap locals:
StackMap stack:
iload 9 /* y */
i2l
iload 10 /* m */
iload 4 /* day */
invokestatic org.h2.util.DateTimeUtils.dateValue:(JII)J
lreturn
end local 10 // int m
end local 9 // int y
end local 7 // long yd
end local 5 // long mm1
end local 4 // int day
end local 2 // long month
end local 0 // long year
LocalVariableTable:
Start End Slot Name Signature
0 13 0 year J
0 13 2 month J
0 13 4 day I
1 13 5 mm1 J
2 13 7 yd J
5 13 9 y I
6 13 10 m I
10 12 11 max I
MethodParameters:
Name Flags
year
month
day
public static long dateValueFromLocalMillis(long);
descriptor: (J)J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=4, args_size=1
start local 0 // long ms
0: .line 1139
lload 0 /* ms */
ldc 86400000
ldiv
lstore 2 /* absoluteDay */
start local 2 // long absoluteDay
1: .line 1141
lload 0 /* ms */
lconst_0
lcmp
ifge 3
lload 2 /* absoluteDay */
ldc 86400000
lmul
lload 0 /* ms */
lcmp
ifeq 3
2: .line 1142
lload 2 /* absoluteDay */
lconst_1
lsub
lstore 2 /* absoluteDay */
3: .line 1144
StackMap locals: long
StackMap stack:
lload 2 /* absoluteDay */
invokestatic org.h2.util.DateTimeUtils.dateValueFromAbsoluteDay:(J)J
lreturn
end local 2 // long absoluteDay
end local 0 // long ms
LocalVariableTable:
Start End Slot Name Signature
0 4 0 ms J
1 4 2 absoluteDay J
MethodParameters:
Name Flags
ms
private static long dateValueFromCalendar(java.util.Calendar);
descriptor: (Ljava/util/Calendar;)J
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=4, args_size=1
start local 0 // java.util.Calendar cal
0: .line 1154
aload 0 /* cal */
iconst_1
invokevirtual java.util.Calendar.get:(I)I
istore 1 /* year */
start local 1 // int year
1: .line 1155
aload 0 /* cal */
iconst_0
invokevirtual java.util.Calendar.get:(I)I
ifne 3
2: .line 1156
iconst_1
iload 1 /* year */
isub
istore 1 /* year */
3: .line 1158
StackMap locals: int
StackMap stack:
aload 0 /* cal */
iconst_2
invokevirtual java.util.Calendar.get:(I)I
iconst_1
iadd
istore 2 /* month */
start local 2 // int month
4: .line 1159
aload 0 /* cal */
iconst_5
invokevirtual java.util.Calendar.get:(I)I
istore 3 /* day */
start local 3 // int day
5: .line 1160
iload 1 /* year */
i2l
bipush 9
lshl
iload 2 /* month */
iconst_5
ishl
i2l
lor
iload 3 /* day */
i2l
lor
lreturn
end local 3 // int day
end local 2 // int month
end local 1 // int year
end local 0 // java.util.Calendar cal
LocalVariableTable:
Start End Slot Name Signature
0 6 0 cal Ljava/util/Calendar;
1 6 1 year I
4 6 2 month I
5 6 3 day I
MethodParameters:
Name Flags
cal
public static long nanosFromLocalMillis(long);
descriptor: (J)J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=4, args_size=1
start local 0 // long ms
0: .line 1170
lload 0 /* ms */
ldc 86400000
ldiv
lstore 2 /* absoluteDay */
start local 2 // long absoluteDay
1: .line 1172
lload 0 /* ms */
lconst_0
lcmp
ifge 3
lload 2 /* absoluteDay */
ldc 86400000
lmul
lload 0 /* ms */
lcmp
ifeq 3
2: .line 1173
lload 2 /* absoluteDay */
lconst_1
lsub
lstore 2 /* absoluteDay */
3: .line 1175
StackMap locals: long
StackMap stack:
lload 0 /* ms */
lload 2 /* absoluteDay */
ldc 86400000
lmul
lsub
ldc 1000000
lmul
lreturn
end local 2 // long absoluteDay
end local 0 // long ms
LocalVariableTable:
Start End Slot Name Signature
0 4 0 ms J
1 4 2 absoluteDay J
MethodParameters:
Name Flags
ms
private static long nanosFromCalendar(java.util.Calendar);
descriptor: (Ljava/util/Calendar;)J
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=5, args_size=1
start local 0 // java.util.Calendar cal
0: .line 1185
aload 0 /* cal */
bipush 11
invokevirtual java.util.Calendar.get:(I)I
istore 1 /* h */
start local 1 // int h
1: .line 1186
aload 0 /* cal */
bipush 12
invokevirtual java.util.Calendar.get:(I)I
istore 2 /* m */
start local 2 // int m
2: .line 1187
aload 0 /* cal */
bipush 13
invokevirtual java.util.Calendar.get:(I)I
istore 3 /* s */
start local 3 // int s
3: .line 1188
aload 0 /* cal */
bipush 14
invokevirtual java.util.Calendar.get:(I)I
istore 4 /* millis */
start local 4 // int millis
4: .line 1189
iload 1 /* h */
i2l
ldc 60
lmul
iload 2 /* m */
i2l
ladd
ldc 60
lmul
iload 3 /* s */
i2l
ladd
ldc 1000
lmul
iload 4 /* millis */
i2l
ladd
ldc 1000000
lmul
lreturn
end local 4 // int millis
end local 3 // int s
end local 2 // int m
end local 1 // int h
end local 0 // java.util.Calendar cal
LocalVariableTable:
Start End Slot Name Signature
0 5 0 cal Ljava/util/Calendar;
1 5 1 h I
2 5 2 m I
3 5 3 s I
4 5 4 millis I
MethodParameters:
Name Flags
cal
public static org.h2.value.ValueTimestamp normalizeTimestamp(long, long);
descriptor: (JJ)Lorg/h2/value/ValueTimestamp;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=6, args_size=2
start local 0 // long absoluteDay
start local 2 // long nanos
0: .line 1201
lload 2 /* nanos */
ldc 86400000000000
lcmp
ifgt 1
lload 2 /* nanos */
lconst_0
lcmp
ifge 7
1: .line 1203
StackMap locals:
StackMap stack:
lload 2 /* nanos */
ldc 86400000000000
lcmp
ifle 4
2: .line 1204
lload 2 /* nanos */
ldc 86400000000000
ldiv
lstore 4 /* d */
start local 4 // long d
3: .line 1205
goto 5
end local 4 // long d
4: .line 1206
StackMap locals:
StackMap stack:
lload 2 /* nanos */
ldc 86400000000000
lsub
lconst_1
ladd
ldc 86400000000000
ldiv
lstore 4 /* d */
start local 4 // long d
5: .line 1208
StackMap locals: long
StackMap stack:
lload 2 /* nanos */
lload 4 /* d */
ldc 86400000000000
lmul
lsub
lstore 2 /* nanos */
6: .line 1209
lload 0 /* absoluteDay */
lload 4 /* d */
ladd
lstore 0 /* absoluteDay */
end local 4 // long d
7: .line 1212
StackMap locals:
StackMap stack:
lload 0 /* absoluteDay */
invokestatic org.h2.util.DateTimeUtils.dateValueFromAbsoluteDay:(J)J
lload 2 /* nanos */
8: .line 1211
invokestatic org.h2.value.ValueTimestamp.fromDateValueAndNanos:(JJ)Lorg/h2/value/ValueTimestamp;
areturn
end local 2 // long nanos
end local 0 // long absoluteDay
LocalVariableTable:
Start End Slot Name Signature
0 9 0 absoluteDay J
0 9 2 nanos J
3 4 4 d J
5 7 4 d J
MethodParameters:
Name Flags
absoluteDay
nanos
public static org.h2.value.ValueTimestampTimeZone timestampTimeZoneFromLocalDateValueAndNanos(long, long);
descriptor: (JJ)Lorg/h2/value/ValueTimestampTimeZone;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=7, args_size=2
start local 0 // long dateValue
start local 2 // long timeNanos
0: .line 1225
aconst_null
lload 0 /* dateValue */
lload 2 /* timeNanos */
invokestatic org.h2.util.DateTimeUtils.getTimeZoneOffsetMillis:(Ljava/util/TimeZone;JJ)I
istore 4 /* timeZoneOffset */
start local 4 // int timeZoneOffset
1: .line 1226
iload 4 /* timeZoneOffset */
ldc 60000
idiv
istore 5 /* offsetMins */
start local 5 // int offsetMins
2: .line 1227
iload 4 /* timeZoneOffset */
ldc 60000
irem
istore 6 /* correction */
start local 6 // int correction
3: .line 1228
iload 6 /* correction */
ifeq 12
4: .line 1229
lload 2 /* timeNanos */
iload 6 /* correction */
i2l
lsub
lstore 2 /* timeNanos */
5: .line 1230
lload 2 /* timeNanos */
lconst_0
lcmp
ifge 9
6: .line 1231
lload 2 /* timeNanos */
ldc 86400000000000
ladd
lstore 2 /* timeNanos */
7: .line 1232
lload 0 /* dateValue */
invokestatic org.h2.util.DateTimeUtils.decrementDateValue:(J)J
lstore 0 /* dateValue */
8: .line 1233
goto 12
StackMap locals: int int int
StackMap stack:
9: lload 2 /* timeNanos */
ldc 86400000000000
lcmp
iflt 12
10: .line 1234
lload 2 /* timeNanos */
ldc 86400000000000
lsub
lstore 2 /* timeNanos */
11: .line 1235
lload 0 /* dateValue */
invokestatic org.h2.util.DateTimeUtils.incrementDateValue:(J)J
lstore 0 /* dateValue */
12: .line 1238
StackMap locals:
StackMap stack:
lload 0 /* dateValue */
lload 2 /* timeNanos */
iload 5 /* offsetMins */
i2s
invokestatic org.h2.value.ValueTimestampTimeZone.fromDateValueAndNanos:(JJS)Lorg/h2/value/ValueTimestampTimeZone;
areturn
end local 6 // int correction
end local 5 // int offsetMins
end local 4 // int timeZoneOffset
end local 2 // long timeNanos
end local 0 // long dateValue
LocalVariableTable:
Start End Slot Name Signature
0 13 0 dateValue J
0 13 2 timeNanos J
1 13 4 timeZoneOffset I
2 13 5 offsetMins I
3 13 6 correction I
MethodParameters:
Name Flags
dateValue
timeNanos
public static org.h2.value.ValueTimestampTimeZone timestampTimeZoneFromMillis(long);
descriptor: (J)Lorg/h2/value/ValueTimestampTimeZone;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=8, locals=5, args_size=1
start local 0 // long ms
0: .line 1248
lload 0 /* ms */
invokestatic org.h2.util.DateTimeUtils.getTimeZoneOffset:(J)I
istore 2 /* offset */
start local 2 // int offset
1: .line 1249
lload 0 /* ms */
iload 2 /* offset */
i2l
ladd
lstore 0 /* ms */
2: .line 1250
lload 0 /* ms */
ldc 86400000
ldiv
lstore 3 /* absoluteDay */
start local 3 // long absoluteDay
3: .line 1252
lload 0 /* ms */
lconst_0
lcmp
ifge 5
lload 3 /* absoluteDay */
ldc 86400000
lmul
lload 0 /* ms */
lcmp
ifeq 5
4: .line 1253
lload 3 /* absoluteDay */
lconst_1
lsub
lstore 3 /* absoluteDay */
5: .line 1256
StackMap locals: int long
StackMap stack:
lload 3 /* absoluteDay */
invokestatic org.h2.util.DateTimeUtils.dateValueFromAbsoluteDay:(J)J
6: .line 1257
lload 0 /* ms */
lload 3 /* absoluteDay */
ldc 86400000
lmul
lsub
ldc 1000000
lmul
7: .line 1258
iload 2 /* offset */
ldc 60000
idiv
i2s
8: .line 1255
invokestatic org.h2.value.ValueTimestampTimeZone.fromDateValueAndNanos:(JJS)Lorg/h2/value/ValueTimestampTimeZone;
areturn
end local 3 // long absoluteDay
end local 2 // int offset
end local 0 // long ms
LocalVariableTable:
Start End Slot Name Signature
0 9 0 ms J
1 9 2 offset I
3 9 3 absoluteDay J
MethodParameters:
Name Flags
ms
public static long absoluteDayFromYear(long);
descriptor: (J)J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=8, locals=4, args_size=1
start local 0 // long year
0: .line 1269
lload 0 /* year */
lconst_1
lsub
lstore 0 /* year */
1: .line 1270
lload 0 /* year */
ldc 1461
lmul
iconst_2
lshr
ldc 719177
lsub
lstore 2 /* a */
start local 2 // long a
2: .line 1271
lload 0 /* year */
ldc 1582
lcmp
ifge 5
3: .line 1273
lload 2 /* a */
ldc 13
ladd
lstore 2 /* a */
4: .line 1274
goto 7
StackMap locals: long
StackMap stack:
5: lload 0 /* year */
ldc 1900
lcmp
iflt 6
lload 0 /* year */
ldc 2099
lcmp
ifle 7
6: .line 1276
StackMap locals:
StackMap stack:
lload 2 /* a */
lload 0 /* year */
ldc 400
ldiv
lload 0 /* year */
ldc 100
ldiv
lsub
ldc 15
ladd
ladd
lstore 2 /* a */
7: .line 1278
StackMap locals:
StackMap stack:
lload 2 /* a */
lreturn
end local 2 // long a
end local 0 // long year
LocalVariableTable:
Start End Slot Name Signature
0 8 0 year J
2 8 2 a J
MethodParameters:
Name Flags
year
public static long absoluteDayFromDateValue(long);
descriptor: (J)J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=8, locals=8, args_size=1
start local 0 // long dateValue
0: .line 1288
lload 0 /* dateValue */
invokestatic org.h2.util.DateTimeUtils.yearFromDateValue:(J)I
i2l
lstore 2 /* y */
start local 2 // long y
1: .line 1289
lload 0 /* dateValue */
invokestatic org.h2.util.DateTimeUtils.monthFromDateValue:(J)I
istore 4 /* m */
start local 4 // int m
2: .line 1290
lload 0 /* dateValue */
invokestatic org.h2.util.DateTimeUtils.dayFromDateValue:(J)I
istore 5 /* d */
start local 5 // int d
3: .line 1291
iload 4 /* m */
iconst_2
if_icmpgt 6
4: .line 1292
lload 2 /* y */
lconst_1
lsub
lstore 2 /* y */
5: .line 1293
iinc 4 /* m */ 12
6: .line 1295
StackMap locals: long int int
StackMap stack:
lload 2 /* y */
ldc 1461
lmul
iconst_2
lshr
getstatic org.h2.util.DateTimeUtils.DAYS_OFFSET:[I
iload 4 /* m */
iconst_3
isub
iaload
i2l
ladd
iload 5 /* d */
i2l
ladd
ldc 719484
lsub
lstore 6 /* a */
start local 6 // long a
7: .line 1296
lload 2 /* y */
ldc 1582
lcmp
ifgt 10
lload 2 /* y */
ldc 1582
lcmp
iflt 8
iload 4 /* m */
bipush 100
imul
iload 5 /* d */
iadd
sipush 1015
if_icmpge 10
8: .line 1298
StackMap locals: long
StackMap stack:
lload 6 /* a */
ldc 13
ladd
lstore 6 /* a */
9: .line 1299
goto 12
StackMap locals:
StackMap stack:
10: lload 2 /* y */
ldc 1900
lcmp
iflt 11
lload 2 /* y */
ldc 2099
lcmp
ifle 12
11: .line 1301
StackMap locals:
StackMap stack:
lload 6 /* a */
lload 2 /* y */
ldc 400
ldiv
lload 2 /* y */
ldc 100
ldiv
lsub
ldc 15
ladd
ladd
lstore 6 /* a */
12: .line 1303
StackMap locals:
StackMap stack:
lload 6 /* a */
lreturn
end local 6 // long a
end local 5 // int d
end local 4 // int m
end local 2 // long y
end local 0 // long dateValue
LocalVariableTable:
Start End Slot Name Signature
0 13 0 dateValue J
1 13 2 y J
2 13 4 m I
3 13 5 d I
7 13 6 a J
MethodParameters:
Name Flags
dateValue
public static long prolepticGregorianAbsoluteDayFromDateValue(long);
descriptor: (J)J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=8, locals=8, args_size=1
start local 0 // long dateValue
0: .line 1314
lload 0 /* dateValue */
invokestatic org.h2.util.DateTimeUtils.yearFromDateValue:(J)I
i2l
lstore 2 /* y */
start local 2 // long y
1: .line 1315
lload 0 /* dateValue */
invokestatic org.h2.util.DateTimeUtils.monthFromDateValue:(J)I
istore 4 /* m */
start local 4 // int m
2: .line 1316
lload 0 /* dateValue */
invokestatic org.h2.util.DateTimeUtils.dayFromDateValue:(J)I
istore 5 /* d */
start local 5 // int d
3: .line 1317
iload 4 /* m */
iconst_2
if_icmpgt 6
4: .line 1318
lload 2 /* y */
lconst_1
lsub
lstore 2 /* y */
5: .line 1319
iinc 4 /* m */ 12
6: .line 1321
StackMap locals: long int int
StackMap stack:
lload 2 /* y */
ldc 1461
lmul
iconst_2
lshr
getstatic org.h2.util.DateTimeUtils.DAYS_OFFSET:[I
iload 4 /* m */
iconst_3
isub
iaload
i2l
ladd
iload 5 /* d */
i2l
ladd
ldc 719484
lsub
lstore 6 /* a */
start local 6 // long a
7: .line 1322
lload 2 /* y */
ldc 1900
lcmp
iflt 8
lload 2 /* y */
ldc 2099
lcmp
ifle 9
8: .line 1324
StackMap locals: long
StackMap stack:
lload 6 /* a */
lload 2 /* y */
ldc 400
ldiv
lload 2 /* y */
ldc 100
ldiv
lsub
ldc 15
ladd
ladd
lstore 6 /* a */
9: .line 1326
StackMap locals:
StackMap stack:
lload 6 /* a */
lreturn
end local 6 // long a
end local 5 // int d
end local 4 // int m
end local 2 // long y
end local 0 // long dateValue
LocalVariableTable:
Start End Slot Name Signature
0 10 0 dateValue J
1 10 2 y J
2 10 4 m I
3 10 5 d I
7 10 6 a J
MethodParameters:
Name Flags
dateValue
public static long dateValueFromAbsoluteDay(long);
descriptor: (J)J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=8, locals=13, args_size=1
start local 0 // long absoluteDay
0: .line 1336
lload 0 /* absoluteDay */
ldc 719468
ladd
lstore 2 /* d */
start local 2 // long d
1: .line 1338
lload 2 /* d */
ldc 578040
lcmp
ifle 8
2: .line 1340
lload 2 /* d */
ldc 146097
ldiv
lstore 8 /* y400 */
start local 8 // long y400
3: .line 1341
lload 2 /* d */
lload 8 /* y400 */
ldc 146097
lmul
lsub
lstore 2 /* d */
4: .line 1342
lload 2 /* d */
ldc 36524
ldiv
lstore 4 /* y100 */
start local 4 // long y100
5: .line 1343
lload 2 /* d */
lload 4 /* y100 */
ldc 36524
lmul
lsub
lstore 2 /* d */
6: .line 1344
lload 8 /* y400 */
ldc 400
lmul
lload 4 /* y100 */
ldc 100
lmul
ladd
lstore 6 /* offset */
end local 8 // long y400
start local 6 // long offset
7: .line 1345
goto 11
end local 6 // long offset
end local 4 // long y100
8: .line 1347
StackMap locals: long
StackMap stack:
lconst_0
lstore 4 /* y100 */
start local 4 // long y100
9: .line 1348
lload 2 /* d */
ldc 292200000002
ladd
lstore 2 /* d */
10: .line 1349
ldc -800000000
lstore 6 /* offset */
start local 6 // long offset
11: .line 1351
StackMap locals: long long
StackMap stack:
lload 2 /* d */
ldc 1461
ldiv
lstore 8 /* y4 */
start local 8 // long y4
12: .line 1352
lload 2 /* d */
lload 8 /* y4 */
ldc 1461
lmul
lsub
lstore 2 /* d */
13: .line 1353
lload 2 /* d */
ldc 365
ldiv
lstore 10 /* y */
start local 10 // long y
14: .line 1354
lload 2 /* d */
lload 10 /* y */
ldc 365
lmul
lsub
lstore 2 /* d */
15: .line 1355
lload 2 /* d */
lconst_0
lcmp
ifne 18
lload 10 /* y */
ldc 4
lcmp
ifeq 16
lload 4 /* y100 */
ldc 4
lcmp
ifne 18
16: .line 1356
StackMap locals: long long
StackMap stack:
lload 10 /* y */
lconst_1
lsub
lstore 10 /* y */
17: .line 1357
lload 2 /* d */
ldc 365
ladd
lstore 2 /* d */
18: .line 1359
StackMap locals:
StackMap stack:
lload 10 /* y */
lload 6 /* offset */
lload 8 /* y4 */
ldc 4
lmul
ladd
ladd
lstore 10 /* y */
19: .line 1361
lload 2 /* d */
l2i
iconst_2
imul
iconst_1
iadd
iconst_5
imul
sipush 306
idiv
istore 12 /* m */
start local 12 // int m
20: .line 1362
lload 2 /* d */
getstatic org.h2.util.DateTimeUtils.DAYS_OFFSET:[I
iload 12 /* m */
iaload
iconst_1
isub
i2l
lsub
lstore 2 /* d */
21: .line 1363
iload 12 /* m */
bipush 10
if_icmplt 24
22: .line 1364
lload 10 /* y */
lconst_1
ladd
lstore 10 /* y */
23: .line 1365
iinc 12 /* m */ -12
24: .line 1367
StackMap locals: int
StackMap stack:
lload 10 /* y */
iload 12 /* m */
iconst_3
iadd
lload 2 /* d */
l2i
invokestatic org.h2.util.DateTimeUtils.dateValue:(JII)J
lreturn
end local 12 // int m
end local 10 // long y
end local 8 // long y4
end local 6 // long offset
end local 4 // long y100
end local 2 // long d
end local 0 // long absoluteDay
LocalVariableTable:
Start End Slot Name Signature
0 25 0 absoluteDay J
1 25 2 d J
5 8 4 y100 J
9 25 4 y100 J
7 8 6 offset J
11 25 6 offset J
3 7 8 y400 J
12 25 8 y4 J
14 25 10 y J
20 25 12 m I
MethodParameters:
Name Flags
absoluteDay
public static long incrementDateValue(long);
descriptor: (J)J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=5, args_size=1
start local 0 // long dateValue
0: .line 1378
lload 0 /* dateValue */
invokestatic org.h2.util.DateTimeUtils.yearFromDateValue:(J)I
istore 2 /* year */
start local 2 // int year
1: .line 1379
iload 2 /* year */
sipush 1582
if_icmpne 3
2: .line 1381
lload 0 /* dateValue */
invokestatic org.h2.util.DateTimeUtils.absoluteDayFromDateValue:(J)J
lconst_1
ladd
invokestatic org.h2.util.DateTimeUtils.dateValueFromAbsoluteDay:(J)J
lreturn
3: .line 1383
StackMap locals: int
StackMap stack:
lload 0 /* dateValue */
invokestatic org.h2.util.DateTimeUtils.dayFromDateValue:(J)I
istore 3 /* day */
start local 3 // int day
4: .line 1384
iload 3 /* day */
bipush 28
if_icmpge 6
5: .line 1385
lload 0 /* dateValue */
lconst_1
ladd
lreturn
6: .line 1387
StackMap locals: int
StackMap stack:
lload 0 /* dateValue */
invokestatic org.h2.util.DateTimeUtils.monthFromDateValue:(J)I
istore 4 /* month */
start local 4 // int month
7: .line 1388
iload 3 /* day */
iload 2 /* year */
iload 4 /* month */
invokestatic org.h2.util.DateTimeUtils.getDaysInMonth:(II)I
if_icmpge 9
8: .line 1389
lload 0 /* dateValue */
lconst_1
ladd
lreturn
9: .line 1391
StackMap locals: int
StackMap stack:
iload 4 /* month */
bipush 12
if_icmpge 12
10: .line 1392
iinc 4 /* month */ 1
11: .line 1393
goto 14
12: .line 1394
StackMap locals:
StackMap stack:
iconst_1
istore 4 /* month */
13: .line 1395
iinc 2 /* year */ 1
14: .line 1397
StackMap locals:
StackMap stack:
iload 2 /* year */
i2l
iload 4 /* month */
iconst_1
invokestatic org.h2.util.DateTimeUtils.dateValue:(JII)J
lreturn
end local 4 // int month
end local 3 // int day
end local 2 // int year
end local 0 // long dateValue
LocalVariableTable:
Start End Slot Name Signature
0 15 0 dateValue J
1 15 2 year I
4 15 3 day I
7 15 4 month I
MethodParameters:
Name Flags
dateValue
public static long decrementDateValue(long);
descriptor: (J)J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=4, args_size=1
start local 0 // long dateValue
0: .line 1408
lload 0 /* dateValue */
invokestatic org.h2.util.DateTimeUtils.yearFromDateValue:(J)I
istore 2 /* year */
start local 2 // int year
1: .line 1409
iload 2 /* year */
sipush 1582
if_icmpne 3
2: .line 1411
lload 0 /* dateValue */
invokestatic org.h2.util.DateTimeUtils.absoluteDayFromDateValue:(J)J
lconst_1
lsub
invokestatic org.h2.util.DateTimeUtils.dateValueFromAbsoluteDay:(J)J
lreturn
3: .line 1413
StackMap locals: int
StackMap stack:
lload 0 /* dateValue */
invokestatic org.h2.util.DateTimeUtils.dayFromDateValue:(J)I
iconst_1
if_icmple 5
4: .line 1414
lload 0 /* dateValue */
lconst_1
lsub
lreturn
5: .line 1416
StackMap locals:
StackMap stack:
lload 0 /* dateValue */
invokestatic org.h2.util.DateTimeUtils.monthFromDateValue:(J)I
istore 3 /* month */
start local 3 // int month
6: .line 1417
iload 3 /* month */
iconst_1
if_icmple 9
7: .line 1418
iinc 3 /* month */ -1
8: .line 1419
goto 11
9: .line 1420
StackMap locals: int
StackMap stack:
bipush 12
istore 3 /* month */
10: .line 1421
iinc 2 /* year */ -1
11: .line 1423
StackMap locals:
StackMap stack:
iload 2 /* year */
i2l
iload 3 /* month */
iload 2 /* year */
iload 3 /* month */
invokestatic org.h2.util.DateTimeUtils.getDaysInMonth:(II)I
invokestatic org.h2.util.DateTimeUtils.dateValue:(JII)J
lreturn
end local 3 // int month
end local 2 // int year
end local 0 // long dateValue
LocalVariableTable:
Start End Slot Name Signature
0 12 0 dateValue J
1 12 2 year I
6 12 3 month I
MethodParameters:
Name Flags
dateValue
public static void appendDate(java.lang.StringBuilder, long);
descriptor: (Ljava/lang/StringBuilder;J)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=6, args_size=2
start local 0 // java.lang.StringBuilder buff
start local 1 // long dateValue
0: .line 1433
lload 1 /* dateValue */
invokestatic org.h2.util.DateTimeUtils.yearFromDateValue:(J)I
istore 3 /* y */
start local 3 // int y
1: .line 1434
lload 1 /* dateValue */
invokestatic org.h2.util.DateTimeUtils.monthFromDateValue:(J)I
istore 4 /* m */
start local 4 // int m
2: .line 1435
lload 1 /* dateValue */
invokestatic org.h2.util.DateTimeUtils.dayFromDateValue:(J)I
istore 5 /* d */
start local 5 // int d
3: .line 1436
iload 3 /* y */
ifle 6
iload 3 /* y */
sipush 10000
if_icmpge 6
4: .line 1437
aload 0 /* buff */
iconst_4
iload 3 /* y */
i2l
invokestatic org.h2.util.StringUtils.appendZeroPadded:(Ljava/lang/StringBuilder;IJ)V
5: .line 1438
goto 7
6: .line 1439
StackMap locals: int int int
StackMap stack:
aload 0 /* buff */
iload 3 /* y */
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
pop
7: .line 1441
StackMap locals:
StackMap stack:
aload 0 /* buff */
bipush 45
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
8: .line 1442
aload 0 /* buff */
iconst_2
iload 4 /* m */
i2l
invokestatic org.h2.util.StringUtils.appendZeroPadded:(Ljava/lang/StringBuilder;IJ)V
9: .line 1443
aload 0 /* buff */
bipush 45
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
10: .line 1444
aload 0 /* buff */
iconst_2
iload 5 /* d */
i2l
invokestatic org.h2.util.StringUtils.appendZeroPadded:(Ljava/lang/StringBuilder;IJ)V
11: .line 1445
return
end local 5 // int d
end local 4 // int m
end local 3 // int y
end local 1 // long dateValue
end local 0 // java.lang.StringBuilder buff
LocalVariableTable:
Start End Slot Name Signature
0 12 0 buff Ljava/lang/StringBuilder;
0 12 1 dateValue J
1 12 3 y I
2 12 4 m I
3 12 5 d I
MethodParameters:
Name Flags
buff
dateValue
public static void appendTime(java.lang.StringBuilder, long);
descriptor: (Ljava/lang/StringBuilder;J)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=11, args_size=2
start local 0 // java.lang.StringBuilder buff
start local 1 // long nanos
0: .line 1454
lload 1 /* nanos */
lconst_0
lcmp
ifge 3
1: .line 1455
aload 0 /* buff */
bipush 45
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
2: .line 1456
lload 1 /* nanos */
lneg
lstore 1 /* nanos */
3: .line 1464
StackMap locals:
StackMap stack:
lload 1 /* nanos */
lneg
ldc -1000000
ldiv
lstore 3 /* ms */
start local 3 // long ms
4: .line 1465
lload 1 /* nanos */
lload 3 /* ms */
ldc 1000000
lmul
lsub
lstore 1 /* nanos */
5: .line 1466
lload 3 /* ms */
ldc 1000
ldiv
lstore 5 /* s */
start local 5 // long s
6: .line 1467
lload 3 /* ms */
lload 5 /* s */
ldc 1000
lmul
lsub
lstore 3 /* ms */
7: .line 1468
lload 5 /* s */
ldc 60
ldiv
lstore 7 /* m */
start local 7 // long m
8: .line 1469
lload 5 /* s */
lload 7 /* m */
ldc 60
lmul
lsub
lstore 5 /* s */
9: .line 1470
lload 7 /* m */
ldc 60
ldiv
lstore 9 /* h */
start local 9 // long h
10: .line 1471
lload 7 /* m */
lload 9 /* h */
ldc 60
lmul
lsub
lstore 7 /* m */
11: .line 1472
aload 0 /* buff */
iconst_2
lload 9 /* h */
invokestatic org.h2.util.StringUtils.appendZeroPadded:(Ljava/lang/StringBuilder;IJ)V
12: .line 1473
aload 0 /* buff */
bipush 58
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
13: .line 1474
aload 0 /* buff */
iconst_2
lload 7 /* m */
invokestatic org.h2.util.StringUtils.appendZeroPadded:(Ljava/lang/StringBuilder;IJ)V
14: .line 1475
aload 0 /* buff */
bipush 58
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
15: .line 1476
aload 0 /* buff */
iconst_2
lload 5 /* s */
invokestatic org.h2.util.StringUtils.appendZeroPadded:(Ljava/lang/StringBuilder;IJ)V
16: .line 1477
lload 3 /* ms */
lconst_0
lcmp
ifgt 17
lload 1 /* nanos */
lconst_0
lcmp
ifle 22
17: .line 1478
StackMap locals: java.lang.StringBuilder long long long long long
StackMap stack:
aload 0 /* buff */
bipush 46
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
18: .line 1479
aload 0 /* buff */
iconst_3
lload 3 /* ms */
invokestatic org.h2.util.StringUtils.appendZeroPadded:(Ljava/lang/StringBuilder;IJ)V
19: .line 1480
lload 1 /* nanos */
lconst_0
lcmp
ifle 21
20: .line 1481
aload 0 /* buff */
bipush 6
lload 1 /* nanos */
invokestatic org.h2.util.StringUtils.appendZeroPadded:(Ljava/lang/StringBuilder;IJ)V
21: .line 1483
StackMap locals:
StackMap stack:
aload 0 /* buff */
invokestatic org.h2.util.DateTimeUtils.stripTrailingZeroes:(Ljava/lang/StringBuilder;)V
22: .line 1485
StackMap locals:
StackMap stack:
return
end local 9 // long h
end local 7 // long m
end local 5 // long s
end local 3 // long ms
end local 1 // long nanos
end local 0 // java.lang.StringBuilder buff
LocalVariableTable:
Start End Slot Name Signature
0 23 0 buff Ljava/lang/StringBuilder;
0 23 1 nanos J
4 23 3 ms J
6 23 5 s J
8 23 7 m J
10 23 9 h J
MethodParameters:
Name Flags
buff
nanos
static void stripTrailingZeroes(java.lang.StringBuilder);
descriptor: (Ljava/lang/StringBuilder;)V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 // java.lang.StringBuilder buff
0: .line 1493
aload 0 /* buff */
invokevirtual java.lang.StringBuilder.length:()I
iconst_1
isub
istore 1 /* i */
start local 1 // int i
1: .line 1494
aload 0 /* buff */
iload 1 /* i */
invokevirtual java.lang.StringBuilder.charAt:(I)C
bipush 48
if_icmpne 4
2: .line 1495
StackMap locals: int
StackMap stack:
aload 0 /* buff */
iinc 1 /* i */ -1
iload 1 /* i */
invokevirtual java.lang.StringBuilder.charAt:(I)C
bipush 48
if_icmpeq 2
3: .line 1498
aload 0 /* buff */
iload 1 /* i */
iconst_1
iadd
invokevirtual java.lang.StringBuilder.setLength:(I)V
4: .line 1500
StackMap locals:
StackMap stack:
return
end local 1 // int i
end local 0 // java.lang.StringBuilder buff
LocalVariableTable:
Start End Slot Name Signature
0 5 0 buff Ljava/lang/StringBuilder;
1 5 1 i I
MethodParameters:
Name Flags
buff
public static void appendTimeZone(java.lang.StringBuilder, short);
descriptor: (Ljava/lang/StringBuilder;S)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=4, args_size=2
start local 0 // java.lang.StringBuilder buff
start local 1 // short tz
0: .line 1509
iload 1 /* tz */
ifge 4
1: .line 1510
aload 0 /* buff */
bipush 45
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
2: .line 1511
iload 1 /* tz */
ineg
i2s
istore 1 /* tz */
3: .line 1512
goto 5
4: .line 1513
StackMap locals:
StackMap stack:
aload 0 /* buff */
bipush 43
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
5: .line 1515
StackMap locals:
StackMap stack:
iload 1 /* tz */
bipush 60
idiv
istore 2 /* hours */
start local 2 // int hours
6: .line 1516
iload 1 /* tz */
iload 2 /* hours */
bipush 60
imul
isub
i2s
istore 1 /* tz */
7: .line 1517
iload 1 /* tz */
istore 3 /* mins */
start local 3 // int mins
8: .line 1518
aload 0 /* buff */
iconst_2
iload 2 /* hours */
i2l
invokestatic org.h2.util.StringUtils.appendZeroPadded:(Ljava/lang/StringBuilder;IJ)V
9: .line 1519
iload 3 /* mins */
ifeq 12
10: .line 1520
aload 0 /* buff */
bipush 58
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
11: .line 1521
aload 0 /* buff */
iconst_2
iload 3 /* mins */
i2l
invokestatic org.h2.util.StringUtils.appendZeroPadded:(Ljava/lang/StringBuilder;IJ)V
12: .line 1523
StackMap locals: int int
StackMap stack:
return
end local 3 // int mins
end local 2 // int hours
end local 1 // short tz
end local 0 // java.lang.StringBuilder buff
LocalVariableTable:
Start End Slot Name Signature
0 13 0 buff Ljava/lang/StringBuilder;
0 13 1 tz S
6 13 2 hours I
8 13 3 mins I
MethodParameters:
Name Flags
buff
tz
public static void appendTimestampTimeZone(java.lang.StringBuilder, long, long, short);
descriptor: (Ljava/lang/StringBuilder;JJS)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=6, args_size=4
start local 0 // java.lang.StringBuilder buff
start local 1 // long dateValue
start local 3 // long timeNanos
start local 5 // short timeZoneOffsetMins
0: .line 1535
aload 0 /* buff */
lload 1 /* dateValue */
invokestatic org.h2.util.DateTimeUtils.appendDate:(Ljava/lang/StringBuilder;J)V
1: .line 1536
aload 0 /* buff */
bipush 32
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
2: .line 1537
aload 0 /* buff */
lload 3 /* timeNanos */
invokestatic org.h2.util.DateTimeUtils.appendTime:(Ljava/lang/StringBuilder;J)V
3: .line 1538
aload 0 /* buff */
iload 5 /* timeZoneOffsetMins */
invokestatic org.h2.util.DateTimeUtils.appendTimeZone:(Ljava/lang/StringBuilder;S)V
4: .line 1539
return
end local 5 // short timeZoneOffsetMins
end local 3 // long timeNanos
end local 1 // long dateValue
end local 0 // java.lang.StringBuilder buff
LocalVariableTable:
Start End Slot Name Signature
0 5 0 buff Ljava/lang/StringBuilder;
0 5 1 dateValue J
0 5 3 timeNanos J
0 5 5 timeZoneOffsetMins S
MethodParameters:
Name Flags
buff
dateValue
timeNanos
timeZoneOffsetMins
public static java.lang.String timeZoneNameFromOffsetMins(int);
descriptor: (I)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 // int offsetMins
0: .line 1549
iload 0 /* offsetMins */
ifne 2
1: .line 1550
ldc "UTC"
areturn
2: .line 1552
StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
bipush 9
invokespecial java.lang.StringBuilder.<init>:(I)V
astore 1 /* b */
start local 1 // java.lang.StringBuilder b
3: .line 1553
aload 1 /* b */
ldc "GMT"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
4: .line 1554
iload 0 /* offsetMins */
ifge 8
5: .line 1555
aload 1 /* b */
bipush 45
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
6: .line 1556
iload 0 /* offsetMins */
ineg
istore 0 /* offsetMins */
7: .line 1557
goto 9
8: .line 1558
StackMap locals: java.lang.StringBuilder
StackMap stack:
aload 1 /* b */
bipush 43
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
9: .line 1560
StackMap locals:
StackMap stack:
aload 1 /* b */
iconst_2
iload 0 /* offsetMins */
bipush 60
idiv
i2l
invokestatic org.h2.util.StringUtils.appendZeroPadded:(Ljava/lang/StringBuilder;IJ)V
10: .line 1561
aload 1 /* b */
bipush 58
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
11: .line 1562
aload 1 /* b */
iconst_2
iload 0 /* offsetMins */
bipush 60
irem
i2l
invokestatic org.h2.util.StringUtils.appendZeroPadded:(Ljava/lang/StringBuilder;IJ)V
12: .line 1563
aload 1 /* b */
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 1 // java.lang.StringBuilder b
end local 0 // int offsetMins
LocalVariableTable:
Start End Slot Name Signature
0 13 0 offsetMins I
3 13 1 b Ljava/lang/StringBuilder;
MethodParameters:
Name Flags
offsetMins
public static long convertScale(long, int);
descriptor: (JI)J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=6, args_size=2
start local 0 // long nanosOfDay
start local 2 // int scale
0: .line 1574
iload 2 /* scale */
bipush 9
if_icmplt 2
1: .line 1575
lload 0 /* nanosOfDay */
lreturn
2: .line 1577
StackMap locals:
StackMap stack:
getstatic org.h2.util.DateTimeUtils.CONVERT_SCALE_TABLE:[I
iload 2 /* scale */
iaload
istore 3 /* m */
start local 3 // int m
3: .line 1578
lload 0 /* nanosOfDay */
iload 3 /* m */
i2l
lrem
lstore 4 /* mod */
start local 4 // long mod
4: .line 1579
lload 4 /* mod */
iload 3 /* m */
iconst_1
iushr
i2l
lcmp
iflt 6
5: .line 1580
lload 0 /* nanosOfDay */
iload 3 /* m */
i2l
ladd
lstore 0 /* nanosOfDay */
6: .line 1582
StackMap locals: int long
StackMap stack:
lload 0 /* nanosOfDay */
lload 4 /* mod */
lsub
lreturn
end local 4 // long mod
end local 3 // int m
end local 2 // int scale
end local 0 // long nanosOfDay
LocalVariableTable:
Start End Slot Name Signature
0 7 0 nanosOfDay J
0 7 2 scale I
3 7 3 m I
4 7 4 mod J
MethodParameters:
Name Flags
nanosOfDay
scale
}
SourceFile: "DateTimeUtils.java"