public class org.postgresql.jdbc.TimestampUtils
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.postgresql.jdbc.TimestampUtils
super_class: java.lang.Object
{
private static final int ONEDAY;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 86400000
private static final char[] ZEROS;
descriptor: [C
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final char[][] NUMBERS;
descriptor: [[C
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.util.HashMap<java.lang.String, java.util.TimeZone> GMT_ZONES;
descriptor: Ljava/util/HashMap;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/HashMap<Ljava/lang/String;Ljava/util/TimeZone;>;
private static final int MAX_NANOS_BEFORE_WRAP_ON_ROUND;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 999999500
private static final java.time.Duration ONE_MICROSECOND;
descriptor: Ljava/time/Duration;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.time.LocalTime MAX_TIME;
descriptor: Ljava/time/LocalTime;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.time.OffsetDateTime MAX_OFFSET_DATETIME;
descriptor: Ljava/time/OffsetDateTime;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.time.LocalDateTime MAX_LOCAL_DATETIME;
descriptor: Ljava/time/LocalDateTime;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.reflect.Field DEFAULT_TIME_ZONE_FIELD;
descriptor: Ljava/lang/reflect/Field;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private java.util.TimeZone prevDefaultZoneFieldValue;
descriptor: Ljava/util/TimeZone;
flags: (0x0002) ACC_PRIVATE
private java.util.TimeZone defaultTimeZoneCache;
descriptor: Ljava/util/TimeZone;
flags: (0x0002) ACC_PRIVATE
private final java.lang.StringBuilder sbuf;
descriptor: Ljava/lang/StringBuilder;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.Calendar calendarWithUserTz;
descriptor: Ljava/util/Calendar;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.TimeZone utcTz;
descriptor: Ljava/util/TimeZone;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private java.util.Calendar calCache;
descriptor: Ljava/util/Calendar;
flags: (0x0002) ACC_PRIVATE
private int calCacheZone;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private final boolean usesDouble;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.postgresql.core.Provider<java.util.TimeZone> timeZoneProvider;
descriptor: Lorg/postgresql/core/Provider;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lorg/postgresql/core/Provider<Ljava/util/TimeZone;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=3, args_size=0
0: bipush 9
newarray 5
dup
iconst_0
bipush 48
castore
dup
iconst_1
bipush 48
castore
dup
iconst_2
bipush 48
castore
dup
iconst_3
bipush 48
castore
dup
iconst_4
bipush 48
castore
dup
iconst_5
bipush 48
castore
dup
bipush 6
bipush 48
castore
dup
bipush 7
bipush 48
castore
dup
bipush 8
bipush 48
castore
putstatic org.postgresql.jdbc.TimestampUtils.ZEROS:[C
1: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putstatic org.postgresql.jdbc.TimestampUtils.GMT_ZONES:Ljava/util/HashMap;
2: ldc 1000
invokestatic java.time.Duration.ofNanos:(J)Ljava/time/Duration;
putstatic org.postgresql.jdbc.TimestampUtils.ONE_MICROSECOND:Ljava/time/Duration;
3: getstatic java.time.LocalTime.MAX:Ljava/time/LocalTime;
ldc 500
invokestatic java.time.Duration.ofMillis:(J)Ljava/time/Duration;
invokevirtual java.time.LocalTime.minus:(Ljava/time/temporal/TemporalAmount;)Ljava/time/LocalTime;
putstatic org.postgresql.jdbc.TimestampUtils.MAX_TIME:Ljava/time/LocalTime;
4: getstatic java.time.OffsetDateTime.MAX:Ljava/time/OffsetDateTime;
ldc 500
invokestatic java.time.Duration.ofMillis:(J)Ljava/time/Duration;
invokevirtual java.time.OffsetDateTime.minus:(Ljava/time/temporal/TemporalAmount;)Ljava/time/OffsetDateTime;
putstatic org.postgresql.jdbc.TimestampUtils.MAX_OFFSET_DATETIME:Ljava/time/OffsetDateTime;
5: getstatic java.time.LocalDateTime.MAX:Ljava/time/LocalDateTime;
ldc 500
invokestatic java.time.Duration.ofMillis:(J)Ljava/time/Duration;
invokevirtual java.time.LocalDateTime.minus:(Ljava/time/temporal/TemporalAmount;)Ljava/time/LocalDateTime;
putstatic org.postgresql.jdbc.TimestampUtils.MAX_LOCAL_DATETIME:Ljava/time/LocalDateTime;
6: bipush 64
anewarray char[]
putstatic org.postgresql.jdbc.TimestampUtils.NUMBERS:[[C
7: iconst_0
istore 0
start local 0 8: goto 14
9: StackMap locals: int
StackMap stack:
getstatic org.postgresql.jdbc.TimestampUtils.NUMBERS:[[C
iload 0
10: new java.lang.StringBuilder
dup
iload 0
bipush 10
if_icmpge 11
ldc "0"
goto 12
StackMap locals: int
StackMap stack: char[][] int new 10 new 10
11: ldc ""
StackMap locals: int
StackMap stack: char[][] int new 10 new 10 java.lang.String
12: invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 0
invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.lang.String.toCharArray:()[C
aastore
13: iinc 0 1
StackMap locals:
StackMap stack:
14: iload 0
getstatic org.postgresql.jdbc.TimestampUtils.NUMBERS:[[C
arraylength
if_icmplt 9
end local 0 15: bipush -12
istore 0
start local 0 16: goto 33
17: StackMap locals:
StackMap stack:
iload 0
ifne 21
18: ldc "GMT"
invokestatic java.util.TimeZone.getTimeZone:(Ljava/lang/String;)Ljava/util/TimeZone;
astore 1
start local 1 19: ldc "GMT"
astore 2
start local 2 20: goto 27
end local 2 end local 1 21: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "GMT"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 0
ifgt 22
ldc "+"
goto 23
StackMap locals:
StackMap stack: java.lang.StringBuilder
22: ldc "-"
StackMap locals: int
StackMap stack: java.lang.StringBuilder java.lang.String
23: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 0
invokestatic java.lang.Math.abs:(I)I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic java.util.TimeZone.getTimeZone:(Ljava/lang/String;)Ljava/util/TimeZone;
astore 1
start local 1 24: new java.lang.StringBuilder
dup
ldc "GMT"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 0
iflt 25
ldc "+"
goto 26
StackMap locals: int java.util.TimeZone
StackMap stack: java.lang.StringBuilder
25: ldc "-"
StackMap locals: int java.util.TimeZone
StackMap stack: java.lang.StringBuilder java.lang.String
26: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
start local 2 27: StackMap locals: java.lang.String
StackMap stack:
iload 0
ifne 30
28: getstatic org.postgresql.jdbc.TimestampUtils.GMT_ZONES:Ljava/util/HashMap;
aload 2
aload 1
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
29: goto 32
30: StackMap locals:
StackMap stack:
getstatic org.postgresql.jdbc.TimestampUtils.GMT_ZONES:Ljava/util/HashMap;
new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 0
invokestatic java.lang.Math.abs:(I)I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 1
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
31: getstatic org.postgresql.jdbc.TimestampUtils.GMT_ZONES:Ljava/util/HashMap;
new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
new java.lang.String
dup
getstatic org.postgresql.jdbc.TimestampUtils.NUMBERS:[[C
iload 0
invokestatic java.lang.Math.abs:(I)I
aaload
invokespecial java.lang.String.<init>:([C)V
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 1
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 2 end local 1 32: StackMap locals:
StackMap stack:
iinc 0 1
StackMap locals:
StackMap stack:
33: iload 0
bipush 14
if_icmple 17
end local 0 34: aconst_null
astore 0
start local 0 35: invokestatic org.postgresql.core.JavaVersion.getRuntimeVersion:()Lorg/postgresql/core/JavaVersion;
getstatic org.postgresql.core.JavaVersion.v1_8:Lorg/postgresql/core/JavaVersion;
invokevirtual org.postgresql.core.JavaVersion.compareTo:(Ljava/lang/Enum;)I
ifgt 45
36: ldc Ljava/util/TimeZone;
ldc "defaultTimeZone"
invokevirtual java.lang.Class.getDeclaredField:(Ljava/lang/String;)Ljava/lang/reflect/Field;
astore 0
37: aload 0
iconst_1
invokevirtual java.lang.reflect.Field.setAccessible:(Z)V
38: invokestatic java.util.TimeZone.getDefault:()Ljava/util/TimeZone;
astore 1
start local 1 39: aload 0
aconst_null
invokevirtual java.lang.reflect.Field.get:(Ljava/lang/Object;)Ljava/lang/Object;
astore 2
start local 2 40: aload 1
ifnull 41
aload 1
aload 2
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 45
41: StackMap locals: java.lang.reflect.Field java.util.TimeZone java.lang.Object
StackMap stack:
aconst_null
astore 0
end local 2 end local 1 42: goto 45
end local 0 StackMap locals:
StackMap stack: java.lang.Exception
43: pop
44: aconst_null
astore 0
start local 0 45: StackMap locals: java.lang.reflect.Field
StackMap stack:
aload 0
putstatic org.postgresql.jdbc.TimestampUtils.DEFAULT_TIME_ZONE_FIELD:Ljava/lang/reflect/Field;
end local 0 46: return
LocalVariableTable:
Start End Slot Name Signature
8 15 0 i I
16 34 0 i I
19 21 1 timeZone Ljava/util/TimeZone;
24 32 1 timeZone Ljava/util/TimeZone;
20 21 2 pgZoneName Ljava/lang/String;
27 32 2 pgZoneName Ljava/lang/String;
35 43 0 tzField Ljava/lang/reflect/Field;
45 46 0 tzField Ljava/lang/reflect/Field;
39 42 1 defaultTz Ljava/util/TimeZone;
40 42 2 tzFromField Ljava/lang/Object;
Exception table:
from to target type
34 42 43 Class java.lang.Exception
void <init>(boolean, org.postgresql.core.Provider<java.util.TimeZone>);
descriptor: (ZLorg/postgresql/core/Provider;)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
putfield org.postgresql.jdbc.TimestampUtils.sbuf:Ljava/lang/StringBuilder;
2: aload 0
new java.util.GregorianCalendar
dup
invokespecial java.util.GregorianCalendar.<init>:()V
putfield org.postgresql.jdbc.TimestampUtils.calendarWithUserTz:Ljava/util/Calendar;
3: aload 0
ldc "UTC"
invokestatic java.util.TimeZone.getTimeZone:(Ljava/lang/String;)Ljava/util/TimeZone;
putfield org.postgresql.jdbc.TimestampUtils.utcTz:Ljava/util/TimeZone;
4: aload 0
iload 1
putfield org.postgresql.jdbc.TimestampUtils.usesDouble:Z
5: aload 0
aload 2
putfield org.postgresql.jdbc.TimestampUtils.timeZoneProvider:Lorg/postgresql/core/Provider;
6: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/postgresql/jdbc/TimestampUtils;
0 7 1 usesDouble Z
0 7 2 timeZoneProvider Lorg/postgresql/core/Provider<Ljava/util/TimeZone;>;
Signature: (ZLorg/postgresql/core/Provider<Ljava/util/TimeZone;>;)V
MethodParameters:
Name Flags
usesDouble
timeZoneProvider
private java.util.Calendar getCalendar(int, int, int, int);
descriptor: (IIII)Ljava/util/Calendar;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iload 1
iload 2
bipush 60
imul
iload 3
iadd
bipush 60
imul
iload 4
iadd
sipush 1000
imul
imul
istore 5
start local 5 1: aload 0
getfield org.postgresql.jdbc.TimestampUtils.calCache:Ljava/util/Calendar;
ifnull 3
aload 0
getfield org.postgresql.jdbc.TimestampUtils.calCacheZone:I
iload 5
if_icmpne 3
2: aload 0
getfield org.postgresql.jdbc.TimestampUtils.calCache:Ljava/util/Calendar;
areturn
3: StackMap locals: int
StackMap stack:
new java.lang.StringBuilder
dup
ldc "GMT"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
astore 6
start local 6 4: aload 6
iload 1
ifge 5
bipush 45
goto 6
StackMap locals: org.postgresql.jdbc.TimestampUtils int int int int int java.lang.StringBuilder
StackMap stack: java.lang.StringBuilder
5: bipush 43
StackMap locals: org.postgresql.jdbc.TimestampUtils int int int int int java.lang.StringBuilder
StackMap stack: java.lang.StringBuilder int
6: invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
7: iload 2
bipush 10
if_icmpge 9
8: aload 6
bipush 48
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
9: StackMap locals:
StackMap stack:
aload 6
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
pop
10: iload 3
bipush 10
if_icmpge 12
11: aload 6
bipush 48
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
12: StackMap locals:
StackMap stack:
aload 6
iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
pop
13: iload 4
bipush 10
if_icmpge 15
14: aload 6
bipush 48
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
15: StackMap locals:
StackMap stack:
aload 6
iload 4
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
pop
16: new java.util.SimpleTimeZone
dup
iload 5
aload 6
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.util.SimpleTimeZone.<init>:(ILjava/lang/String;)V
astore 7
start local 7 17: aload 0
new java.util.GregorianCalendar
dup
aload 7
invokespecial java.util.GregorianCalendar.<init>:(Ljava/util/TimeZone;)V
putfield org.postgresql.jdbc.TimestampUtils.calCache:Ljava/util/Calendar;
18: aload 0
iload 5
putfield org.postgresql.jdbc.TimestampUtils.calCacheZone:I
19: aload 0
getfield org.postgresql.jdbc.TimestampUtils.calCache:Ljava/util/Calendar;
areturn
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lorg/postgresql/jdbc/TimestampUtils;
0 20 1 sign I
0 20 2 hr I
0 20 3 min I
0 20 4 sec I
1 20 5 rawOffset I
4 20 6 zoneID Ljava/lang/StringBuilder;
17 20 7 syntheticTZ Ljava/util/TimeZone;
MethodParameters:
Name Flags
sign
hr
min
sec
private org.postgresql.jdbc.TimestampUtils$ParsedTimestamp parseBackendTimestamp(java.lang.String);
descriptor: (Ljava/lang/String;)Lorg/postgresql/jdbc/TimestampUtils$ParsedTimestamp;
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=13, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.lang.String.toCharArray:()[C
astore 2
start local 2 1: aload 2
arraylength
istore 3
start local 3 2: new org.postgresql.jdbc.TimestampUtils$ParsedTimestamp
dup
invokespecial org.postgresql.jdbc.TimestampUtils$ParsedTimestamp.<init>:()V
astore 4
start local 4 3: aload 2
iconst_0
invokestatic org.postgresql.jdbc.TimestampUtils.skipWhitespace:([CI)I
istore 5
start local 5 4: aload 2
iload 5
invokestatic org.postgresql.jdbc.TimestampUtils.firstNonDigit:([CI)I
istore 6
start local 6 5: aload 2
iload 6
invokestatic org.postgresql.jdbc.TimestampUtils.charAt:([CI)C
bipush 45
if_icmpne 18
6: aload 4
iconst_1
putfield org.postgresql.jdbc.TimestampUtils$ParsedTimestamp.hasDate:Z
7: aload 4
aload 2
iload 5
iload 6
invokestatic org.postgresql.jdbc.TimestampUtils.number:([CII)I
putfield org.postgresql.jdbc.TimestampUtils$ParsedTimestamp.year:I
8: iload 6
iconst_1
iadd
istore 5
9: aload 2
iload 5
invokestatic org.postgresql.jdbc.TimestampUtils.firstNonDigit:([CI)I
istore 6
10: aload 4
aload 2
iload 5
iload 6
invokestatic org.postgresql.jdbc.TimestampUtils.number:([CII)I
putfield org.postgresql.jdbc.TimestampUtils$ParsedTimestamp.month:I
11: aload 2
iload 6
invokestatic org.postgresql.jdbc.TimestampUtils.charAt:([CI)C
istore 8
start local 8 12: iload 8
bipush 45
if_icmpeq 14
13: new java.lang.NumberFormatException
dup
new java.lang.StringBuilder
dup
ldc "Expected date to be dash-separated, got '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 8
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
ldc "'"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
athrow
14: StackMap locals: org.postgresql.jdbc.TimestampUtils java.lang.String char[] int org.postgresql.jdbc.TimestampUtils$ParsedTimestamp int int top int
StackMap stack:
iload 6
iconst_1
iadd
istore 5
15: aload 2
iload 5
invokestatic org.postgresql.jdbc.TimestampUtils.firstNonDigit:([CI)I
istore 6
16: aload 4
aload 2
iload 5
iload 6
invokestatic org.postgresql.jdbc.TimestampUtils.number:([CII)I
putfield org.postgresql.jdbc.TimestampUtils$ParsedTimestamp.day:I
17: aload 2
iload 6
invokestatic org.postgresql.jdbc.TimestampUtils.skipWhitespace:([CI)I
istore 5
end local 8 18: StackMap locals: org.postgresql.jdbc.TimestampUtils java.lang.String char[] int org.postgresql.jdbc.TimestampUtils$ParsedTimestamp int int
StackMap stack:
aload 2
iload 5
invokestatic org.postgresql.jdbc.TimestampUtils.charAt:([CI)C
invokestatic java.lang.Character.isDigit:(C)Z
ifeq 46
19: aload 4
iconst_1
putfield org.postgresql.jdbc.TimestampUtils$ParsedTimestamp.hasTime:Z
20: aload 2
iload 5
invokestatic org.postgresql.jdbc.TimestampUtils.firstNonDigit:([CI)I
istore 6
21: aload 4
aload 2
iload 5
iload 6
invokestatic org.postgresql.jdbc.TimestampUtils.number:([CII)I
putfield org.postgresql.jdbc.TimestampUtils$ParsedTimestamp.hour:I
22: aload 2
iload 6
invokestatic org.postgresql.jdbc.TimestampUtils.charAt:([CI)C
istore 8
start local 8 23: iload 8
bipush 58
if_icmpeq 25
24: new java.lang.NumberFormatException
dup
new java.lang.StringBuilder
dup
ldc "Expected time to be colon-separated, got '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 8
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
ldc "'"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
athrow
25: StackMap locals: org.postgresql.jdbc.TimestampUtils java.lang.String char[] int org.postgresql.jdbc.TimestampUtils$ParsedTimestamp int int top int
StackMap stack:
iload 6
iconst_1
iadd
istore 5
26: aload 2
iload 5
invokestatic org.postgresql.jdbc.TimestampUtils.firstNonDigit:([CI)I
istore 6
27: aload 4
aload 2
iload 5
iload 6
invokestatic org.postgresql.jdbc.TimestampUtils.number:([CII)I
putfield org.postgresql.jdbc.TimestampUtils$ParsedTimestamp.minute:I
28: aload 2
iload 6
invokestatic org.postgresql.jdbc.TimestampUtils.charAt:([CI)C
istore 8
29: iload 8
bipush 58
if_icmpeq 31
30: new java.lang.NumberFormatException
dup
new java.lang.StringBuilder
dup
ldc "Expected time to be colon-separated, got '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 8
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
ldc "'"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
athrow
31: StackMap locals:
StackMap stack:
iload 6
iconst_1
iadd
istore 5
32: aload 2
iload 5
invokestatic org.postgresql.jdbc.TimestampUtils.firstNonDigit:([CI)I
istore 6
33: aload 4
aload 2
iload 5
iload 6
invokestatic org.postgresql.jdbc.TimestampUtils.number:([CII)I
putfield org.postgresql.jdbc.TimestampUtils$ParsedTimestamp.second:I
34: iload 6
istore 5
35: aload 2
iload 5
invokestatic org.postgresql.jdbc.TimestampUtils.charAt:([CI)C
bipush 46
if_icmpne 45
36: aload 2
iload 5
iconst_1
iadd
invokestatic org.postgresql.jdbc.TimestampUtils.firstNonDigit:([CI)I
istore 6
37: aload 2
iload 5
iconst_1
iadd
iload 6
invokestatic org.postgresql.jdbc.TimestampUtils.number:([CII)I
istore 7
start local 7 38: iload 6
iload 5
iconst_1
iadd
isub
istore 9
start local 9 39: goto 42
40: StackMap locals: org.postgresql.jdbc.TimestampUtils java.lang.String char[] int org.postgresql.jdbc.TimestampUtils$ParsedTimestamp int int int int int
StackMap stack:
iload 7
bipush 10
imul
istore 7
41: iinc 9 1
StackMap locals:
StackMap stack:
42: iload 9
bipush 9
if_icmplt 40
end local 9 43: aload 4
iload 7
putfield org.postgresql.jdbc.TimestampUtils$ParsedTimestamp.nanos:I
44: iload 6
istore 5
end local 7 45: StackMap locals: org.postgresql.jdbc.TimestampUtils java.lang.String char[] int org.postgresql.jdbc.TimestampUtils$ParsedTimestamp int int top int
StackMap stack:
aload 2
iload 5
invokestatic org.postgresql.jdbc.TimestampUtils.skipWhitespace:([CI)I
istore 5
end local 8 46: StackMap locals: org.postgresql.jdbc.TimestampUtils java.lang.String char[] int org.postgresql.jdbc.TimestampUtils$ParsedTimestamp int int
StackMap stack:
aload 2
iload 5
invokestatic org.postgresql.jdbc.TimestampUtils.charAt:([CI)C
istore 8
start local 8 47: iload 8
bipush 45
if_icmpeq 48
iload 8
bipush 43
if_icmpne 69
48: StackMap locals: org.postgresql.jdbc.TimestampUtils java.lang.String char[] int org.postgresql.jdbc.TimestampUtils$ParsedTimestamp int int top int
StackMap stack:
iload 8
bipush 45
if_icmpne 49
iconst_m1
goto 50
StackMap locals:
StackMap stack:
49: iconst_1
StackMap locals:
StackMap stack: int
50: istore 9
start local 9 51: aload 2
iload 5
iconst_1
iadd
invokestatic org.postgresql.jdbc.TimestampUtils.firstNonDigit:([CI)I
istore 6
52: aload 2
iload 5
iconst_1
iadd
iload 6
invokestatic org.postgresql.jdbc.TimestampUtils.number:([CII)I
istore 10
start local 10 53: iload 6
istore 5
54: aload 2
iload 5
invokestatic org.postgresql.jdbc.TimestampUtils.charAt:([CI)C
istore 8
55: iload 8
bipush 58
if_icmpne 60
56: aload 2
iload 5
iconst_1
iadd
invokestatic org.postgresql.jdbc.TimestampUtils.firstNonDigit:([CI)I
istore 6
57: aload 2
iload 5
iconst_1
iadd
iload 6
invokestatic org.postgresql.jdbc.TimestampUtils.number:([CII)I
istore 11
start local 11 58: iload 6
istore 5
59: goto 61
end local 11 60: StackMap locals: int int
StackMap stack:
iconst_0
istore 11
start local 11 61: StackMap locals: int
StackMap stack:
iconst_0
istore 12
start local 12 62: aload 2
iload 5
invokestatic org.postgresql.jdbc.TimestampUtils.charAt:([CI)C
istore 8
63: iload 8
bipush 58
if_icmpne 67
64: aload 2
iload 5
iconst_1
iadd
invokestatic org.postgresql.jdbc.TimestampUtils.firstNonDigit:([CI)I
istore 6
65: aload 2
iload 5
iconst_1
iadd
iload 6
invokestatic org.postgresql.jdbc.TimestampUtils.number:([CII)I
istore 12
66: iload 6
istore 5
67: StackMap locals: int
StackMap stack:
aload 4
aload 0
iload 9
iload 10
iload 11
iload 12
invokevirtual org.postgresql.jdbc.TimestampUtils.getCalendar:(IIII)Ljava/util/Calendar;
putfield org.postgresql.jdbc.TimestampUtils$ParsedTimestamp.tz:Ljava/util/Calendar;
68: aload 2
iload 5
invokestatic org.postgresql.jdbc.TimestampUtils.skipWhitespace:([CI)I
istore 5
end local 12 end local 11 end local 10 end local 9 69: StackMap locals: org.postgresql.jdbc.TimestampUtils java.lang.String char[] int org.postgresql.jdbc.TimestampUtils$ParsedTimestamp int int top int
StackMap stack:
aload 4
getfield org.postgresql.jdbc.TimestampUtils$ParsedTimestamp.hasDate:Z
ifeq 78
iload 5
iload 3
if_icmpge 78
70: new java.lang.String
dup
aload 2
iload 5
iload 3
iload 5
isub
invokespecial java.lang.String.<init>:([CII)V
astore 9
start local 9 71: aload 9
ldc "AD"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 75
72: aload 4
iconst_1
putfield org.postgresql.jdbc.TimestampUtils$ParsedTimestamp.era:I
73: iinc 5 2
74: goto 78
StackMap locals: java.lang.String
StackMap stack:
75: aload 9
ldc "BC"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 78
76: aload 4
iconst_0
putfield org.postgresql.jdbc.TimestampUtils$ParsedTimestamp.era:I
77: iinc 5 2
end local 9 78: StackMap locals:
StackMap stack:
iload 5
iload 3
if_icmpge 82
79: new java.lang.NumberFormatException
dup
80: new java.lang.StringBuilder
dup
ldc "Trailing junk on timestamp: '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
new java.lang.String
dup
aload 2
iload 5
iload 3
iload 5
isub
invokespecial java.lang.String.<init>:([CII)V
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;
81: invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
athrow
82: StackMap locals:
StackMap stack:
aload 4
getfield org.postgresql.jdbc.TimestampUtils$ParsedTimestamp.hasTime:Z
ifne 89
aload 4
getfield org.postgresql.jdbc.TimestampUtils$ParsedTimestamp.hasDate:Z
ifne 89
83: new java.lang.NumberFormatException
dup
ldc "Timestamp has neither date nor time"
invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
athrow
end local 8 end local 6 end local 5 84: StackMap locals: org.postgresql.jdbc.TimestampUtils java.lang.String char[] int org.postgresql.jdbc.TimestampUtils$ParsedTimestamp
StackMap stack: java.lang.NumberFormatException
astore 5
start local 5 85: new org.postgresql.util.PSQLException
dup
86: ldc "Bad value for type timestamp/date/time: {1}"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
invokestatic org.postgresql.util.GT.tr:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
87: getstatic org.postgresql.util.PSQLState.BAD_DATETIME_FORMAT:Lorg/postgresql/util/PSQLState;
aload 5
88: invokespecial org.postgresql.util.PSQLException.<init>:(Ljava/lang/String;Lorg/postgresql/util/PSQLState;Ljava/lang/Throwable;)V
athrow
end local 5 89: StackMap locals:
StackMap stack:
aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 90 0 this Lorg/postgresql/jdbc/TimestampUtils;
0 90 1 str Ljava/lang/String;
1 90 2 s [C
2 90 3 slen I
3 90 4 result Lorg/postgresql/jdbc/TimestampUtils$ParsedTimestamp;
4 84 5 start I
5 84 6 end I
38 45 7 num I
12 18 8 sep C
23 46 8 sep C
47 84 8 sep C
39 43 9 numlength I
51 69 9 tzsign I
53 69 10 tzhr I
58 60 11 tzmin I
61 69 11 tzmin I
62 69 12 tzsec I
71 78 9 eraString Ljava/lang/String;
85 89 5 nfe Ljava/lang/NumberFormatException;
Exception table:
from to target type
3 84 84 Class java.lang.NumberFormatException
Exceptions:
throws java.sql.SQLException
MethodParameters:
Name Flags
str
public synchronized java.sql.Timestamp toTimestamp(java.util.Calendar, java.lang.String);
descriptor: (Ljava/util/Calendar;Ljava/lang/String;)Ljava/sql/Timestamp;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=4, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.lang.String.length:()I
istore 3
start local 3 3: iload 3
bipush 8
if_icmpne 5
aload 2
ldc "infinity"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 5
4: new java.sql.Timestamp
dup
ldc 9223372036825200000
invokespecial java.sql.Timestamp.<init>:(J)V
areturn
5: StackMap locals: int
StackMap stack:
iload 3
bipush 9
if_icmpne 7
aload 2
ldc "-infinity"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 7
6: new java.sql.Timestamp
dup
ldc -9223372036832400000
invokespecial java.sql.Timestamp.<init>:(J)V
areturn
7: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual org.postgresql.jdbc.TimestampUtils.parseBackendTimestamp:(Ljava/lang/String;)Lorg/postgresql/jdbc/TimestampUtils$ParsedTimestamp;
astore 4
start local 4 8: aload 4
getfield org.postgresql.jdbc.TimestampUtils$ParsedTimestamp.tz:Ljava/util/Calendar;
ifnull 9
aload 4
getfield org.postgresql.jdbc.TimestampUtils$ParsedTimestamp.tz:Ljava/util/Calendar;
goto 10
StackMap locals: org.postgresql.jdbc.TimestampUtils$ParsedTimestamp
StackMap stack:
9: aload 0
aload 1
invokevirtual org.postgresql.jdbc.TimestampUtils.setupCalendar:(Ljava/util/Calendar;)Ljava/util/Calendar;
StackMap locals:
StackMap stack: java.util.Calendar
10: astore 5
start local 5 11: aload 5
iconst_0
aload 4
getfield org.postgresql.jdbc.TimestampUtils$ParsedTimestamp.era:I
invokevirtual java.util.Calendar.set:(II)V
12: aload 5
iconst_1
aload 4
getfield org.postgresql.jdbc.TimestampUtils$ParsedTimestamp.year:I
invokevirtual java.util.Calendar.set:(II)V
13: aload 5
iconst_2
aload 4
getfield org.postgresql.jdbc.TimestampUtils$ParsedTimestamp.month:I
iconst_1
isub
invokevirtual java.util.Calendar.set:(II)V
14: aload 5
iconst_5
aload 4
getfield org.postgresql.jdbc.TimestampUtils$ParsedTimestamp.day:I
invokevirtual java.util.Calendar.set:(II)V
15: aload 5
bipush 11
aload 4
getfield org.postgresql.jdbc.TimestampUtils$ParsedTimestamp.hour:I
invokevirtual java.util.Calendar.set:(II)V
16: aload 5
bipush 12
aload 4
getfield org.postgresql.jdbc.TimestampUtils$ParsedTimestamp.minute:I
invokevirtual java.util.Calendar.set:(II)V
17: aload 5
bipush 13
aload 4
getfield org.postgresql.jdbc.TimestampUtils$ParsedTimestamp.second:I
invokevirtual java.util.Calendar.set:(II)V
18: aload 5
bipush 14
iconst_0
invokevirtual java.util.Calendar.set:(II)V
19: new java.sql.Timestamp
dup
aload 5
invokevirtual java.util.Calendar.getTimeInMillis:()J
invokespecial java.sql.Timestamp.<init>:(J)V
astore 6
start local 6 20: aload 6
aload 4
getfield org.postgresql.jdbc.TimestampUtils$ParsedTimestamp.nanos:I
invokevirtual java.sql.Timestamp.setNanos:(I)V
21: aload 6
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lorg/postgresql/jdbc/TimestampUtils;
0 22 1 cal Ljava/util/Calendar;
0 22 2 s Ljava/lang/String;
3 22 3 slen I
8 22 4 ts Lorg/postgresql/jdbc/TimestampUtils$ParsedTimestamp;
11 22 5 useCal Ljava/util/Calendar;
20 22 6 result Ljava/sql/Timestamp;
Exceptions:
throws java.sql.SQLException
MethodParameters:
Name Flags
cal
s
public java.time.LocalTime toLocalTime(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/time/LocalTime;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=3, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 1
ldc "24:00:00"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 4
3: getstatic java.time.LocalTime.MAX:Ljava/time/LocalTime;
areturn
4: StackMap locals:
StackMap stack:
aload 1
invokestatic java.time.LocalTime.parse:(Ljava/lang/CharSequence;)Ljava/time/LocalTime;
5: areturn
6: StackMap locals:
StackMap stack: java.time.format.DateTimeParseException
astore 2
start local 2 7: new org.postgresql.util.PSQLException
dup
8: ldc "Bad value for type timestamp/date/time: {1}"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
invokestatic org.postgresql.util.GT.tr:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
9: getstatic org.postgresql.util.PSQLState.BAD_DATETIME_FORMAT:Lorg/postgresql/util/PSQLState;
aload 2
10: invokespecial org.postgresql.util.PSQLException.<init>:(Ljava/lang/String;Lorg/postgresql/util/PSQLState;Ljava/lang/Throwable;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/postgresql/jdbc/TimestampUtils;
0 11 1 s Ljava/lang/String;
7 11 2 nfe Ljava/time/format/DateTimeParseException;
Exception table:
from to target type
4 5 6 Class java.time.format.DateTimeParseException
Exceptions:
throws java.sql.SQLException
MethodParameters:
Name Flags
s
public java.time.LocalDateTime toLocalDateTime(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/time/LocalDateTime;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=5, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.String.length:()I
istore 2
start local 2 3: iload 2
bipush 8
if_icmpne 5
aload 1
ldc "infinity"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 5
4: getstatic java.time.LocalDateTime.MAX:Ljava/time/LocalDateTime;
areturn
5: StackMap locals: int
StackMap stack:
iload 2
bipush 9
if_icmpne 7
aload 1
ldc "-infinity"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 7
6: getstatic java.time.LocalDateTime.MIN:Ljava/time/LocalDateTime;
areturn
7: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.postgresql.jdbc.TimestampUtils.parseBackendTimestamp:(Ljava/lang/String;)Lorg/postgresql/jdbc/TimestampUtils$ParsedTimestamp;
astore 3
start local 3 8: aload 3
getfield org.postgresql.jdbc.TimestampUtils$ParsedTimestamp.year:I
aload 3
getfield org.postgresql.jdbc.TimestampUtils$ParsedTimestamp.month:I
aload 3
getfield org.postgresql.jdbc.TimestampUtils$ParsedTimestamp.day:I
aload 3
getfield org.postgresql.jdbc.TimestampUtils$ParsedTimestamp.hour:I
aload 3
getfield org.postgresql.jdbc.TimestampUtils$ParsedTimestamp.minute:I
aload 3
getfield org.postgresql.jdbc.TimestampUtils$ParsedTimestamp.second:I
aload 3
getfield org.postgresql.jdbc.TimestampUtils$ParsedTimestamp.nanos:I
invokestatic java.time.LocalDateTime.of:(IIIIIII)Ljava/time/LocalDateTime;
astore 4
start local 4 9: aload 3
getfield org.postgresql.jdbc.TimestampUtils$ParsedTimestamp.era:I
ifne 11
10: aload 4
getstatic java.time.temporal.ChronoField.ERA:Ljava/time/temporal/ChronoField;
getstatic java.time.chrono.IsoEra.BCE:Ljava/time/chrono/IsoEra;
invokevirtual java.time.chrono.IsoEra.getValue:()I
i2l
invokevirtual java.time.LocalDateTime.with:(Ljava/time/temporal/TemporalField;J)Ljava/time/LocalDateTime;
areturn
11: StackMap locals: org.postgresql.jdbc.TimestampUtils$ParsedTimestamp java.time.LocalDateTime
StackMap stack:
aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/postgresql/jdbc/TimestampUtils;
0 12 1 s Ljava/lang/String;
3 12 2 slen I
8 12 3 ts Lorg/postgresql/jdbc/TimestampUtils$ParsedTimestamp;
9 12 4 result Ljava/time/LocalDateTime;
Exceptions:
throws java.sql.SQLException
MethodParameters:
Name Flags
s
public synchronized java.sql.Time toTime(java.util.Calendar, java.lang.String);
descriptor: (Ljava/util/Calendar;Ljava/lang/String;)Ljava/sql/Time;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=4, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual org.postgresql.jdbc.TimestampUtils.parseBackendTimestamp:(Ljava/lang/String;)Lorg/postgresql/jdbc/TimestampUtils$ParsedTimestamp;
astore 3
start local 3 3: aload 3
getfield org.postgresql.jdbc.TimestampUtils$ParsedTimestamp.tz:Ljava/util/Calendar;
ifnull 4
aload 3
getfield org.postgresql.jdbc.TimestampUtils$ParsedTimestamp.tz:Ljava/util/Calendar;
goto 5
StackMap locals: org.postgresql.jdbc.TimestampUtils$ParsedTimestamp
StackMap stack:
4: aload 0
aload 1
invokevirtual org.postgresql.jdbc.TimestampUtils.setupCalendar:(Ljava/util/Calendar;)Ljava/util/Calendar;
StackMap locals:
StackMap stack: java.util.Calendar
5: astore 4
start local 4 6: aload 3
getfield org.postgresql.jdbc.TimestampUtils$ParsedTimestamp.tz:Ljava/util/Calendar;
ifnonnull 12
7: aload 4
iconst_0
aload 3
getfield org.postgresql.jdbc.TimestampUtils$ParsedTimestamp.era:I
invokevirtual java.util.Calendar.set:(II)V
8: aload 4
iconst_1
aload 3
getfield org.postgresql.jdbc.TimestampUtils$ParsedTimestamp.year:I
invokevirtual java.util.Calendar.set:(II)V
9: aload 4
iconst_2
aload 3
getfield org.postgresql.jdbc.TimestampUtils$ParsedTimestamp.month:I
iconst_1
isub
invokevirtual java.util.Calendar.set:(II)V
10: aload 4
iconst_5
aload 3
getfield org.postgresql.jdbc.TimestampUtils$ParsedTimestamp.day:I
invokevirtual java.util.Calendar.set:(II)V
11: goto 16
12: StackMap locals: java.util.Calendar
StackMap stack:
aload 4
iconst_0
iconst_1
invokevirtual java.util.Calendar.set:(II)V
13: aload 4
iconst_1
sipush 1970
invokevirtual java.util.Calendar.set:(II)V
14: aload 4
iconst_2
iconst_0
invokevirtual java.util.Calendar.set:(II)V
15: aload 4
iconst_5
iconst_1
invokevirtual java.util.Calendar.set:(II)V
16: StackMap locals:
StackMap stack:
aload 4
bipush 11
aload 3
getfield org.postgresql.jdbc.TimestampUtils$ParsedTimestamp.hour:I
invokevirtual java.util.Calendar.set:(II)V
17: aload 4
bipush 12
aload 3
getfield org.postgresql.jdbc.TimestampUtils$ParsedTimestamp.minute:I
invokevirtual java.util.Calendar.set:(II)V
18: aload 4
bipush 13
aload 3
getfield org.postgresql.jdbc.TimestampUtils$ParsedTimestamp.second:I
invokevirtual java.util.Calendar.set:(II)V
19: aload 4
bipush 14
iconst_0
invokevirtual java.util.Calendar.set:(II)V
20: aload 4
invokevirtual java.util.Calendar.getTimeInMillis:()J
aload 3
getfield org.postgresql.jdbc.TimestampUtils$ParsedTimestamp.nanos:I
ldc 1000000
idiv
i2l
ladd
lstore 5
start local 5 21: aload 3
getfield org.postgresql.jdbc.TimestampUtils$ParsedTimestamp.tz:Ljava/util/Calendar;
ifnonnull 22
aload 3
getfield org.postgresql.jdbc.TimestampUtils$ParsedTimestamp.year:I
sipush 1970
if_icmpne 23
aload 3
getfield org.postgresql.jdbc.TimestampUtils$ParsedTimestamp.era:I
iconst_1
if_icmpne 23
22: StackMap locals: long
StackMap stack:
new java.sql.Time
dup
lload 5
invokespecial java.sql.Time.<init>:(J)V
areturn
23: StackMap locals:
StackMap stack:
aload 0
lload 5
aload 4
invokevirtual java.util.Calendar.getTimeZone:()Ljava/util/TimeZone;
invokevirtual org.postgresql.jdbc.TimestampUtils.convertToTime:(JLjava/util/TimeZone;)Ljava/sql/Time;
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lorg/postgresql/jdbc/TimestampUtils;
0 24 1 cal Ljava/util/Calendar;
0 24 2 s Ljava/lang/String;
3 24 3 ts Lorg/postgresql/jdbc/TimestampUtils$ParsedTimestamp;
6 24 4 useCal Ljava/util/Calendar;
21 24 5 timeMillis J
Exceptions:
throws java.sql.SQLException
MethodParameters:
Name Flags
cal
s
public synchronized java.sql.Date toDate(java.util.Calendar, java.lang.String);
descriptor: (Ljava/util/Calendar;Ljava/lang/String;)Ljava/sql/Date;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokevirtual org.postgresql.jdbc.TimestampUtils.toTimestamp:(Ljava/util/Calendar;Ljava/lang/String;)Ljava/sql/Timestamp;
astore 3
start local 3 1: aload 3
ifnonnull 3
2: aconst_null
areturn
3: StackMap locals: java.sql.Timestamp
StackMap stack:
aload 0
aload 3
invokevirtual java.sql.Timestamp.getTime:()J
aload 1
ifnonnull 4
aconst_null
goto 5
StackMap locals: org.postgresql.jdbc.TimestampUtils java.util.Calendar java.lang.String java.sql.Timestamp
StackMap stack: org.postgresql.jdbc.TimestampUtils long
4: aload 1
invokevirtual java.util.Calendar.getTimeZone:()Ljava/util/TimeZone;
StackMap locals: org.postgresql.jdbc.TimestampUtils java.util.Calendar java.lang.String java.sql.Timestamp
StackMap stack: org.postgresql.jdbc.TimestampUtils long java.util.TimeZone
5: invokevirtual org.postgresql.jdbc.TimestampUtils.convertToDate:(JLjava/util/TimeZone;)Ljava/sql/Date;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/postgresql/jdbc/TimestampUtils;
0 6 1 cal Ljava/util/Calendar;
0 6 2 s Ljava/lang/String;
1 6 3 timestamp Ljava/sql/Timestamp;
Exceptions:
throws java.sql.SQLException
MethodParameters:
Name Flags
cal
s
private java.util.Calendar setupCalendar(java.util.Calendar);
descriptor: (Ljava/util/Calendar;)Ljava/util/Calendar;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 1
aconst_null
goto 2
StackMap locals:
StackMap stack:
1: aload 1
invokevirtual java.util.Calendar.getTimeZone:()Ljava/util/TimeZone;
StackMap locals:
StackMap stack: java.util.TimeZone
2: astore 2
start local 2 3: aload 0
aload 2
invokevirtual org.postgresql.jdbc.TimestampUtils.getSharedCalendar:(Ljava/util/TimeZone;)Ljava/util/Calendar;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/postgresql/jdbc/TimestampUtils;
0 4 1 cal Ljava/util/Calendar;
3 4 2 timeZone Ljava/util/TimeZone;
MethodParameters:
Name Flags
cal
public java.util.Calendar getSharedCalendar(java.util.TimeZone);
descriptor: (Ljava/util/TimeZone;)Ljava/util/Calendar;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: aload 0
invokevirtual org.postgresql.jdbc.TimestampUtils.getDefaultTz:()Ljava/util/TimeZone;
astore 1
2: StackMap locals:
StackMap stack:
aload 0
getfield org.postgresql.jdbc.TimestampUtils.calendarWithUserTz:Ljava/util/Calendar;
astore 2
start local 2 3: aload 2
aload 1
invokevirtual java.util.Calendar.setTimeZone:(Ljava/util/TimeZone;)V
4: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/postgresql/jdbc/TimestampUtils;
0 5 1 timeZone Ljava/util/TimeZone;
3 5 2 tmp Ljava/util/Calendar;
MethodParameters:
Name Flags
timeZone
private static boolean nanosExceed499(int);
descriptor: (I)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
sipush 1000
irem
sipush 499
if_icmple 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 nanos I
MethodParameters:
Name Flags
nanos
public synchronized java.lang.String toString(java.util.Calendar, java.sql.Timestamp);
descriptor: (Ljava/util/Calendar;Ljava/sql/Timestamp;)Ljava/lang/String;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
iconst_1
invokevirtual org.postgresql.jdbc.TimestampUtils.toString:(Ljava/util/Calendar;Ljava/sql/Timestamp;Z)Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/postgresql/jdbc/TimestampUtils;
0 1 1 cal Ljava/util/Calendar;
0 1 2 x Ljava/sql/Timestamp;
MethodParameters:
Name Flags
cal
x
public synchronized java.lang.String toString(java.util.Calendar, java.sql.Timestamp, boolean);
descriptor: (Ljava/util/Calendar;Ljava/sql/Timestamp;Z)Ljava/lang/String;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=4, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
invokevirtual java.sql.Timestamp.getTime:()J
ldc 9223372036825200000
lcmp
ifne 2
1: ldc "infinity"
areturn
2: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.sql.Timestamp.getTime:()J
ldc -9223372036832400000
lcmp
ifne 4
3: ldc "-infinity"
areturn
4: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.postgresql.jdbc.TimestampUtils.setupCalendar:(Ljava/util/Calendar;)Ljava/util/Calendar;
astore 1
5: aload 2
invokevirtual java.sql.Timestamp.getTime:()J
lstore 4
start local 4 6: aload 2
invokevirtual java.sql.Timestamp.getNanos:()I
istore 6
start local 6 7: iload 6
ldc 999999500
if_icmplt 11
8: iconst_0
istore 6
9: lload 4
lconst_1
ladd
lstore 4
10: goto 13
StackMap locals: long int
StackMap stack:
11: iload 6
invokestatic org.postgresql.jdbc.TimestampUtils.nanosExceed499:(I)Z
ifeq 13
12: iload 6
sipush 1000
iload 6
sipush 1000
irem
isub
iadd
istore 6
13: StackMap locals:
StackMap stack:
aload 1
lload 4
invokevirtual java.util.Calendar.setTimeInMillis:(J)V
14: aload 0
getfield org.postgresql.jdbc.TimestampUtils.sbuf:Ljava/lang/StringBuilder;
iconst_0
invokevirtual java.lang.StringBuilder.setLength:(I)V
15: aload 0
getfield org.postgresql.jdbc.TimestampUtils.sbuf:Ljava/lang/StringBuilder;
aload 1
invokestatic org.postgresql.jdbc.TimestampUtils.appendDate:(Ljava/lang/StringBuilder;Ljava/util/Calendar;)V
16: aload 0
getfield org.postgresql.jdbc.TimestampUtils.sbuf:Ljava/lang/StringBuilder;
bipush 32
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
17: aload 0
getfield org.postgresql.jdbc.TimestampUtils.sbuf:Ljava/lang/StringBuilder;
aload 1
iload 6
invokestatic org.postgresql.jdbc.TimestampUtils.appendTime:(Ljava/lang/StringBuilder;Ljava/util/Calendar;I)V
18: iload 3
ifeq 20
19: aload 0
aload 0
getfield org.postgresql.jdbc.TimestampUtils.sbuf:Ljava/lang/StringBuilder;
aload 1
invokevirtual org.postgresql.jdbc.TimestampUtils.appendTimeZone:(Ljava/lang/StringBuilder;Ljava/util/Calendar;)V
20: StackMap locals:
StackMap stack:
aload 0
getfield org.postgresql.jdbc.TimestampUtils.sbuf:Ljava/lang/StringBuilder;
aload 1
invokestatic org.postgresql.jdbc.TimestampUtils.appendEra:(Ljava/lang/StringBuilder;Ljava/util/Calendar;)V
21: aload 0
getfield org.postgresql.jdbc.TimestampUtils.sbuf:Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 6 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lorg/postgresql/jdbc/TimestampUtils;
0 22 1 cal Ljava/util/Calendar;
0 22 2 x Ljava/sql/Timestamp;
0 22 3 withTimeZone Z
6 22 4 timeMillis J
7 22 6 nanos I
MethodParameters:
Name Flags
cal
x
withTimeZone
public synchronized java.lang.String toString(java.util.Calendar, java.sql.Date);
descriptor: (Ljava/util/Calendar;Ljava/sql/Date;)Ljava/lang/String;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
iconst_1
invokevirtual org.postgresql.jdbc.TimestampUtils.toString:(Ljava/util/Calendar;Ljava/sql/Date;Z)Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/postgresql/jdbc/TimestampUtils;
0 1 1 cal Ljava/util/Calendar;
0 1 2 x Ljava/sql/Date;
MethodParameters:
Name Flags
cal
x
public synchronized java.lang.String toString(java.util.Calendar, java.sql.Date, boolean);
descriptor: (Ljava/util/Calendar;Ljava/sql/Date;Z)Ljava/lang/String;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
invokevirtual java.sql.Date.getTime:()J
ldc 9223372036825200000
lcmp
ifne 2
1: ldc "infinity"
areturn
2: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.sql.Date.getTime:()J
ldc -9223372036832400000
lcmp
ifne 4
3: ldc "-infinity"
areturn
4: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.postgresql.jdbc.TimestampUtils.setupCalendar:(Ljava/util/Calendar;)Ljava/util/Calendar;
astore 1
5: aload 1
aload 2
invokevirtual java.util.Calendar.setTime:(Ljava/util/Date;)V
6: aload 0
getfield org.postgresql.jdbc.TimestampUtils.sbuf:Ljava/lang/StringBuilder;
iconst_0
invokevirtual java.lang.StringBuilder.setLength:(I)V
7: aload 0
getfield org.postgresql.jdbc.TimestampUtils.sbuf:Ljava/lang/StringBuilder;
aload 1
invokestatic org.postgresql.jdbc.TimestampUtils.appendDate:(Ljava/lang/StringBuilder;Ljava/util/Calendar;)V
8: aload 0
getfield org.postgresql.jdbc.TimestampUtils.sbuf:Ljava/lang/StringBuilder;
aload 1
invokestatic org.postgresql.jdbc.TimestampUtils.appendEra:(Ljava/lang/StringBuilder;Ljava/util/Calendar;)V
9: iload 3
ifeq 12
10: aload 0
getfield org.postgresql.jdbc.TimestampUtils.sbuf:Ljava/lang/StringBuilder;
bipush 32
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
11: aload 0
aload 0
getfield org.postgresql.jdbc.TimestampUtils.sbuf:Ljava/lang/StringBuilder;
aload 1
invokevirtual org.postgresql.jdbc.TimestampUtils.appendTimeZone:(Ljava/lang/StringBuilder;Ljava/util/Calendar;)V
12: StackMap locals:
StackMap stack:
aload 0
getfield org.postgresql.jdbc.TimestampUtils.sbuf:Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/postgresql/jdbc/TimestampUtils;
0 13 1 cal Ljava/util/Calendar;
0 13 2 x Ljava/sql/Date;
0 13 3 withTimeZone Z
MethodParameters:
Name Flags
cal
x
withTimeZone
public synchronized java.lang.String toString(java.util.Calendar, java.sql.Time);
descriptor: (Ljava/util/Calendar;Ljava/sql/Time;)Ljava/lang/String;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
iconst_1
invokevirtual org.postgresql.jdbc.TimestampUtils.toString:(Ljava/util/Calendar;Ljava/sql/Time;Z)Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/postgresql/jdbc/TimestampUtils;
0 1 1 cal Ljava/util/Calendar;
0 1 2 x Ljava/sql/Time;
MethodParameters:
Name Flags
cal
x
public synchronized java.lang.String toString(java.util.Calendar, java.sql.Time, boolean);
descriptor: (Ljava/util/Calendar;Ljava/sql/Time;Z)Ljava/lang/String;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
invokevirtual org.postgresql.jdbc.TimestampUtils.setupCalendar:(Ljava/util/Calendar;)Ljava/util/Calendar;
astore 1
1: aload 1
aload 2
invokevirtual java.util.Calendar.setTime:(Ljava/util/Date;)V
2: aload 0
getfield org.postgresql.jdbc.TimestampUtils.sbuf:Ljava/lang/StringBuilder;
iconst_0
invokevirtual java.lang.StringBuilder.setLength:(I)V
3: aload 0
getfield org.postgresql.jdbc.TimestampUtils.sbuf:Ljava/lang/StringBuilder;
aload 1
aload 1
bipush 14
invokevirtual java.util.Calendar.get:(I)I
ldc 1000000
imul
invokestatic org.postgresql.jdbc.TimestampUtils.appendTime:(Ljava/lang/StringBuilder;Ljava/util/Calendar;I)V
4: iload 3
ifeq 6
5: aload 0
aload 0
getfield org.postgresql.jdbc.TimestampUtils.sbuf:Ljava/lang/StringBuilder;
aload 1
invokevirtual org.postgresql.jdbc.TimestampUtils.appendTimeZone:(Ljava/lang/StringBuilder;Ljava/util/Calendar;)V
6: StackMap locals:
StackMap stack:
aload 0
getfield org.postgresql.jdbc.TimestampUtils.sbuf:Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/postgresql/jdbc/TimestampUtils;
0 7 1 cal Ljava/util/Calendar;
0 7 2 x Ljava/sql/Time;
0 7 3 withTimeZone Z
MethodParameters:
Name Flags
cal
x
withTimeZone
private static void appendDate(java.lang.StringBuilder, java.util.Calendar);
descriptor: (Ljava/lang/StringBuilder;Ljava/util/Calendar;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 1
iconst_1
invokevirtual java.util.Calendar.get:(I)I
istore 2
start local 2 1: aload 1
iconst_2
invokevirtual java.util.Calendar.get:(I)I
iconst_1
iadd
istore 3
start local 3 2: aload 1
iconst_5
invokevirtual java.util.Calendar.get:(I)I
istore 4
start local 4 3: aload 0
iload 2
iload 3
iload 4
invokestatic org.postgresql.jdbc.TimestampUtils.appendDate:(Ljava/lang/StringBuilder;III)V
4: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 sb Ljava/lang/StringBuilder;
0 5 1 cal Ljava/util/Calendar;
1 5 2 year I
2 5 3 month I
3 5 4 day I
MethodParameters:
Name Flags
sb
cal
private static void appendDate(java.lang.StringBuilder, int, int, int);
descriptor: (Ljava/lang/StringBuilder;III)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual java.lang.StringBuilder.length:()I
istore 4
start local 4 1: aload 0
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
pop
2: iconst_4
aload 0
invokevirtual java.lang.StringBuilder.length:()I
iload 4
isub
isub
istore 5
start local 5 3: iload 5
ifle 5
4: aload 0
iload 4
getstatic org.postgresql.jdbc.TimestampUtils.ZEROS:[C
iconst_0
iload 5
invokevirtual java.lang.StringBuilder.insert:(I[CII)Ljava/lang/StringBuilder;
pop
5: StackMap locals: int int
StackMap stack:
aload 0
bipush 45
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
6: aload 0
getstatic org.postgresql.jdbc.TimestampUtils.NUMBERS:[[C
iload 2
aaload
invokevirtual java.lang.StringBuilder.append:([C)Ljava/lang/StringBuilder;
pop
7: aload 0
bipush 45
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
8: aload 0
getstatic org.postgresql.jdbc.TimestampUtils.NUMBERS:[[C
iload 3
aaload
invokevirtual java.lang.StringBuilder.append:([C)Ljava/lang/StringBuilder;
pop
9: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 sb Ljava/lang/StringBuilder;
0 10 1 year I
0 10 2 month I
0 10 3 day I
1 10 4 prevLength I
3 10 5 leadingZerosForYear I
MethodParameters:
Name Flags
sb
year
month
day
private static void appendTime(java.lang.StringBuilder, java.util.Calendar, int);
descriptor: (Ljava/lang/StringBuilder;Ljava/util/Calendar;I)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 1
bipush 11
invokevirtual java.util.Calendar.get:(I)I
istore 3
start local 3 1: aload 1
bipush 12
invokevirtual java.util.Calendar.get:(I)I
istore 4
start local 4 2: aload 1
bipush 13
invokevirtual java.util.Calendar.get:(I)I
istore 5
start local 5 3: aload 0
iload 3
iload 4
iload 5
iload 2
invokestatic org.postgresql.jdbc.TimestampUtils.appendTime:(Ljava/lang/StringBuilder;IIII)V
4: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 sb Ljava/lang/StringBuilder;
0 5 1 cal Ljava/util/Calendar;
0 5 2 nanos I
1 5 3 hours I
2 5 4 minutes I
3 5 5 seconds I
MethodParameters:
Name Flags
sb
cal
nanos
private static void appendTime(java.lang.StringBuilder, int, int, int, int);
descriptor: (Ljava/lang/StringBuilder;IIII)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getstatic org.postgresql.jdbc.TimestampUtils.NUMBERS:[[C
iload 1
aaload
invokevirtual java.lang.StringBuilder.append:([C)Ljava/lang/StringBuilder;
pop
1: aload 0
bipush 58
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
2: aload 0
getstatic org.postgresql.jdbc.TimestampUtils.NUMBERS:[[C
iload 2
aaload
invokevirtual java.lang.StringBuilder.append:([C)Ljava/lang/StringBuilder;
pop
3: aload 0
bipush 58
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
4: aload 0
getstatic org.postgresql.jdbc.TimestampUtils.NUMBERS:[[C
iload 3
aaload
invokevirtual java.lang.StringBuilder.append:([C)Ljava/lang/StringBuilder;
pop
5: iload 4
sipush 1000
if_icmpge 7
6: return
7: StackMap locals:
StackMap stack:
aload 0
bipush 46
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
8: aload 0
invokevirtual java.lang.StringBuilder.length:()I
istore 5
start local 5 9: aload 0
iload 4
sipush 1000
idiv
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
pop
10: bipush 6
aload 0
invokevirtual java.lang.StringBuilder.length:()I
iload 5
isub
isub
istore 6
start local 6 11: iload 6
ifle 13
12: aload 0
iload 5
getstatic org.postgresql.jdbc.TimestampUtils.ZEROS:[C
iconst_0
iload 6
invokevirtual java.lang.StringBuilder.insert:(I[CII)Ljava/lang/StringBuilder;
pop
13: StackMap locals: int int
StackMap stack:
aload 0
invokevirtual java.lang.StringBuilder.length:()I
iconst_1
isub
istore 7
start local 7 14: goto 17
15: StackMap locals: int
StackMap stack:
aload 0
iload 7
invokevirtual java.lang.StringBuilder.deleteCharAt:(I)Ljava/lang/StringBuilder;
pop
16: iinc 7 -1
17: StackMap locals:
StackMap stack:
aload 0
iload 7
invokevirtual java.lang.StringBuilder.charAt:(I)C
bipush 48
if_icmpeq 15
18: return
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 sb Ljava/lang/StringBuilder;
0 19 1 hours I
0 19 2 minutes I
0 19 3 seconds I
0 19 4 nanos I
9 19 5 len I
11 19 6 needZeros I
14 19 7 end I
MethodParameters:
Name Flags
sb
hours
minutes
seconds
nanos
private void appendTimeZone(java.lang.StringBuilder, java.util.Calendar);
descriptor: (Ljava/lang/StringBuilder;Ljava/util/Calendar;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
bipush 15
invokevirtual java.util.Calendar.get:(I)I
aload 2
bipush 16
invokevirtual java.util.Calendar.get:(I)I
iadd
sipush 1000
idiv
istore 3
start local 3 1: aload 0
aload 1
iload 3
invokevirtual org.postgresql.jdbc.TimestampUtils.appendTimeZone:(Ljava/lang/StringBuilder;I)V
2: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/postgresql/jdbc/TimestampUtils;
0 3 1 sb Ljava/lang/StringBuilder;
0 3 2 cal Ljava/util/Calendar;
1 3 3 offset I
MethodParameters:
Name Flags
sb
cal
private void appendTimeZone(java.lang.StringBuilder, int);
descriptor: (Ljava/lang/StringBuilder;I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=7, args_size=3
start local 0 start local 1 start local 2 0: iload 2
invokestatic java.lang.Math.abs:(I)I
istore 3
start local 3 1: iload 3
bipush 60
idiv
bipush 60
idiv
istore 4
start local 4 2: iload 3
iload 4
bipush 60
imul
bipush 60
imul
isub
bipush 60
idiv
istore 5
start local 5 3: iload 3
iload 4
bipush 60
imul
bipush 60
imul
isub
iload 5
bipush 60
imul
isub
istore 6
start local 6 4: aload 1
iload 2
iflt 5
ldc "+"
goto 6
StackMap locals: org.postgresql.jdbc.TimestampUtils java.lang.StringBuilder int int int int int
StackMap stack: java.lang.StringBuilder
5: ldc "-"
StackMap locals: org.postgresql.jdbc.TimestampUtils java.lang.StringBuilder int int int int int
StackMap stack: java.lang.StringBuilder java.lang.String
6: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
7: aload 1
getstatic org.postgresql.jdbc.TimestampUtils.NUMBERS:[[C
iload 4
aaload
invokevirtual java.lang.StringBuilder.append:([C)Ljava/lang/StringBuilder;
pop
8: iload 5
ifne 10
iload 6
ifne 10
9: return
10: StackMap locals:
StackMap stack:
aload 1
bipush 58
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
11: aload 1
getstatic org.postgresql.jdbc.TimestampUtils.NUMBERS:[[C
iload 5
aaload
invokevirtual java.lang.StringBuilder.append:([C)Ljava/lang/StringBuilder;
pop
12: iload 6
ifeq 15
13: aload 1
bipush 58
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
14: aload 1
getstatic org.postgresql.jdbc.TimestampUtils.NUMBERS:[[C
iload 6
aaload
invokevirtual java.lang.StringBuilder.append:([C)Ljava/lang/StringBuilder;
pop
15: StackMap locals:
StackMap stack:
return
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lorg/postgresql/jdbc/TimestampUtils;
0 16 1 sb Ljava/lang/StringBuilder;
0 16 2 offset I
1 16 3 absoff I
2 16 4 hours I
3 16 5 mins I
4 16 6 secs I
MethodParameters:
Name Flags
sb
offset
private static void appendEra(java.lang.StringBuilder, java.util.Calendar);
descriptor: (Ljava/lang/StringBuilder;Ljava/util/Calendar;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
iconst_0
invokevirtual java.util.Calendar.get:(I)I
ifne 2
1: aload 0
ldc " BC"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 sb Ljava/lang/StringBuilder;
0 3 1 cal Ljava/util/Calendar;
MethodParameters:
Name Flags
sb
cal
public synchronized java.lang.String toString(java.time.LocalDate);
descriptor: (Ljava/time/LocalDate;)Ljava/lang/String;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: getstatic java.time.LocalDate.MAX:Ljava/time/LocalDate;
aload 1
invokevirtual java.time.LocalDate.equals:(Ljava/lang/Object;)Z
ifeq 2
1: ldc "infinity"
areturn
2: StackMap locals:
StackMap stack:
getstatic java.time.LocalDate.MIN:Ljava/time/LocalDate;
aload 1
invokevirtual java.time.LocalDate.equals:(Ljava/lang/Object;)Z
ifeq 4
3: ldc "-infinity"
areturn
4: StackMap locals:
StackMap stack:
aload 0
getfield org.postgresql.jdbc.TimestampUtils.sbuf:Ljava/lang/StringBuilder;
iconst_0
invokevirtual java.lang.StringBuilder.setLength:(I)V
5: aload 0
getfield org.postgresql.jdbc.TimestampUtils.sbuf:Ljava/lang/StringBuilder;
aload 1
invokestatic org.postgresql.jdbc.TimestampUtils.appendDate:(Ljava/lang/StringBuilder;Ljava/time/LocalDate;)V
6: aload 0
getfield org.postgresql.jdbc.TimestampUtils.sbuf:Ljava/lang/StringBuilder;
aload 1
invokestatic org.postgresql.jdbc.TimestampUtils.appendEra:(Ljava/lang/StringBuilder;Ljava/time/LocalDate;)V
7: aload 0
getfield org.postgresql.jdbc.TimestampUtils.sbuf:Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/postgresql/jdbc/TimestampUtils;
0 8 1 localDate Ljava/time/LocalDate;
MethodParameters:
Name Flags
localDate
public synchronized java.lang.String toString(java.time.LocalTime);
descriptor: (Ljava/time/LocalTime;)Ljava/lang/String;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.postgresql.jdbc.TimestampUtils.sbuf:Ljava/lang/StringBuilder;
iconst_0
invokevirtual java.lang.StringBuilder.setLength:(I)V
1: aload 1
getstatic org.postgresql.jdbc.TimestampUtils.MAX_TIME:Ljava/time/LocalTime;
invokevirtual java.time.LocalTime.isAfter:(Ljava/time/LocalTime;)Z
ifeq 3
2: ldc "24:00:00"
areturn
3: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.time.LocalTime.getNano:()I
istore 2
start local 2 4: iload 2
invokestatic org.postgresql.jdbc.TimestampUtils.nanosExceed499:(I)Z
ifeq 6
5: aload 1
getstatic org.postgresql.jdbc.TimestampUtils.ONE_MICROSECOND:Ljava/time/Duration;
invokevirtual java.time.LocalTime.plus:(Ljava/time/temporal/TemporalAmount;)Ljava/time/LocalTime;
astore 1
6: StackMap locals: int
StackMap stack:
aload 0
getfield org.postgresql.jdbc.TimestampUtils.sbuf:Ljava/lang/StringBuilder;
aload 1
invokestatic org.postgresql.jdbc.TimestampUtils.appendTime:(Ljava/lang/StringBuilder;Ljava/time/LocalTime;)V
7: aload 0
getfield org.postgresql.jdbc.TimestampUtils.sbuf:Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/postgresql/jdbc/TimestampUtils;
0 8 1 localTime Ljava/time/LocalTime;
4 8 2 nano I
MethodParameters:
Name Flags
localTime
public synchronized java.lang.String toString(java.time.OffsetDateTime);
descriptor: (Ljava/time/OffsetDateTime;)Ljava/lang/String;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 1
getstatic org.postgresql.jdbc.TimestampUtils.MAX_OFFSET_DATETIME:Ljava/time/OffsetDateTime;
invokevirtual java.time.OffsetDateTime.isAfter:(Ljava/time/OffsetDateTime;)Z
ifeq 2
1: ldc "infinity"
areturn
2: StackMap locals:
StackMap stack:
getstatic java.time.OffsetDateTime.MIN:Ljava/time/OffsetDateTime;
aload 1
invokevirtual java.time.OffsetDateTime.equals:(Ljava/lang/Object;)Z
ifeq 4
3: ldc "-infinity"
areturn
4: StackMap locals:
StackMap stack:
aload 0
getfield org.postgresql.jdbc.TimestampUtils.sbuf:Ljava/lang/StringBuilder;
iconst_0
invokevirtual java.lang.StringBuilder.setLength:(I)V
5: aload 1
invokevirtual java.time.OffsetDateTime.getNano:()I
istore 2
start local 2 6: iload 2
invokestatic org.postgresql.jdbc.TimestampUtils.nanosExceed499:(I)Z
ifeq 8
7: aload 1
getstatic org.postgresql.jdbc.TimestampUtils.ONE_MICROSECOND:Ljava/time/Duration;
invokevirtual java.time.OffsetDateTime.plus:(Ljava/time/temporal/TemporalAmount;)Ljava/time/OffsetDateTime;
astore 1
8: StackMap locals: int
StackMap stack:
aload 1
invokevirtual java.time.OffsetDateTime.toLocalDateTime:()Ljava/time/LocalDateTime;
astore 3
start local 3 9: aload 3
invokevirtual java.time.LocalDateTime.toLocalDate:()Ljava/time/LocalDate;
astore 4
start local 4 10: aload 0
getfield org.postgresql.jdbc.TimestampUtils.sbuf:Ljava/lang/StringBuilder;
aload 4
invokestatic org.postgresql.jdbc.TimestampUtils.appendDate:(Ljava/lang/StringBuilder;Ljava/time/LocalDate;)V
11: aload 0
getfield org.postgresql.jdbc.TimestampUtils.sbuf:Ljava/lang/StringBuilder;
bipush 32
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
12: aload 0
getfield org.postgresql.jdbc.TimestampUtils.sbuf:Ljava/lang/StringBuilder;
aload 3
invokevirtual java.time.LocalDateTime.toLocalTime:()Ljava/time/LocalTime;
invokestatic org.postgresql.jdbc.TimestampUtils.appendTime:(Ljava/lang/StringBuilder;Ljava/time/LocalTime;)V
13: aload 0
aload 0
getfield org.postgresql.jdbc.TimestampUtils.sbuf:Ljava/lang/StringBuilder;
aload 1
invokevirtual java.time.OffsetDateTime.getOffset:()Ljava/time/ZoneOffset;
invokevirtual org.postgresql.jdbc.TimestampUtils.appendTimeZone:(Ljava/lang/StringBuilder;Ljava/time/ZoneOffset;)V
14: aload 0
getfield org.postgresql.jdbc.TimestampUtils.sbuf:Ljava/lang/StringBuilder;
aload 4
invokestatic org.postgresql.jdbc.TimestampUtils.appendEra:(Ljava/lang/StringBuilder;Ljava/time/LocalDate;)V
15: aload 0
getfield org.postgresql.jdbc.TimestampUtils.sbuf:Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lorg/postgresql/jdbc/TimestampUtils;
0 16 1 offsetDateTime Ljava/time/OffsetDateTime;
6 16 2 nano I
9 16 3 localDateTime Ljava/time/LocalDateTime;
10 16 4 localDate Ljava/time/LocalDate;
MethodParameters:
Name Flags
offsetDateTime
public synchronized java.lang.String toString(java.time.LocalDateTime);
descriptor: (Ljava/time/LocalDateTime;)Ljava/lang/String;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
getstatic org.postgresql.jdbc.TimestampUtils.MAX_LOCAL_DATETIME:Ljava/time/LocalDateTime;
invokevirtual java.time.LocalDateTime.isAfter:(Ljava/time/chrono/ChronoLocalDateTime;)Z
ifeq 2
1: ldc "infinity"
areturn
2: StackMap locals:
StackMap stack:
getstatic java.time.LocalDateTime.MIN:Ljava/time/LocalDateTime;
aload 1
invokevirtual java.time.LocalDateTime.equals:(Ljava/lang/Object;)Z
ifeq 4
3: ldc "-infinity"
areturn
4: StackMap locals:
StackMap stack:
aload 1
aload 0
invokevirtual org.postgresql.jdbc.TimestampUtils.getDefaultTz:()Ljava/util/TimeZone;
invokevirtual java.util.TimeZone.toZoneId:()Ljava/time/ZoneId;
invokevirtual java.time.LocalDateTime.atZone:(Ljava/time/ZoneId;)Ljava/time/ZonedDateTime;
astore 2
start local 2 5: aload 0
aload 2
invokevirtual java.time.ZonedDateTime.toOffsetDateTime:()Ljava/time/OffsetDateTime;
invokevirtual org.postgresql.jdbc.TimestampUtils.toString:(Ljava/time/OffsetDateTime;)Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/postgresql/jdbc/TimestampUtils;
0 6 1 localDateTime Ljava/time/LocalDateTime;
5 6 2 zonedDateTime Ljava/time/ZonedDateTime;
MethodParameters:
Name Flags
localDateTime
private static void appendDate(java.lang.StringBuilder, java.time.LocalDate);
descriptor: (Ljava/lang/StringBuilder;Ljava/time/LocalDate;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 1
getstatic java.time.temporal.ChronoField.YEAR_OF_ERA:Ljava/time/temporal/ChronoField;
invokevirtual java.time.LocalDate.get:(Ljava/time/temporal/TemporalField;)I
istore 2
start local 2 1: aload 1
invokevirtual java.time.LocalDate.getMonthValue:()I
istore 3
start local 3 2: aload 1
invokevirtual java.time.LocalDate.getDayOfMonth:()I
istore 4
start local 4 3: aload 0
iload 2
iload 3
iload 4
invokestatic org.postgresql.jdbc.TimestampUtils.appendDate:(Ljava/lang/StringBuilder;III)V
4: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 sb Ljava/lang/StringBuilder;
0 5 1 localDate Ljava/time/LocalDate;
1 5 2 year I
2 5 3 month I
3 5 4 day I
MethodParameters:
Name Flags
sb
localDate
private static void appendTime(java.lang.StringBuilder, java.time.LocalTime);
descriptor: (Ljava/lang/StringBuilder;Ljava/time/LocalTime;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.time.LocalTime.getHour:()I
istore 2
start local 2 1: aload 1
invokevirtual java.time.LocalTime.getMinute:()I
istore 3
start local 3 2: aload 1
invokevirtual java.time.LocalTime.getSecond:()I
istore 4
start local 4 3: aload 1
invokevirtual java.time.LocalTime.getNano:()I
istore 5
start local 5 4: aload 0
iload 2
iload 3
iload 4
iload 5
invokestatic org.postgresql.jdbc.TimestampUtils.appendTime:(Ljava/lang/StringBuilder;IIII)V
5: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 sb Ljava/lang/StringBuilder;
0 6 1 localTime Ljava/time/LocalTime;
1 6 2 hours I
2 6 3 minutes I
3 6 4 seconds I
4 6 5 nanos I
MethodParameters:
Name Flags
sb
localTime
private void appendTimeZone(java.lang.StringBuilder, java.time.ZoneOffset);
descriptor: (Ljava/lang/StringBuilder;Ljava/time/ZoneOffset;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokevirtual java.time.ZoneOffset.getTotalSeconds:()I
istore 3
start local 3 1: aload 0
aload 1
iload 3
invokevirtual org.postgresql.jdbc.TimestampUtils.appendTimeZone:(Ljava/lang/StringBuilder;I)V
2: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/postgresql/jdbc/TimestampUtils;
0 3 1 sb Ljava/lang/StringBuilder;
0 3 2 offset Ljava/time/ZoneOffset;
1 3 3 offsetSeconds I
MethodParameters:
Name Flags
sb
offset
private static void appendEra(java.lang.StringBuilder, java.time.LocalDate);
descriptor: (Ljava/lang/StringBuilder;Ljava/time/LocalDate;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
getstatic java.time.temporal.ChronoField.ERA:Ljava/time/temporal/ChronoField;
invokevirtual java.time.LocalDate.get:(Ljava/time/temporal/TemporalField;)I
getstatic java.time.chrono.IsoEra.BCE:Ljava/time/chrono/IsoEra;
invokevirtual java.time.chrono.IsoEra.getValue:()I
if_icmpne 2
1: aload 0
ldc " BC"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 sb Ljava/lang/StringBuilder;
0 3 1 localDate Ljava/time/LocalDate;
MethodParameters:
Name Flags
sb
localDate
private static int skipWhitespace(char[], int);
descriptor: ([CI)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
arraylength
istore 2
start local 2 1: iload 1
istore 3
start local 3 2: goto 6
3: StackMap locals: int int
StackMap stack:
aload 0
iload 3
caload
invokestatic java.lang.Character.isSpace:(C)Z
ifne 5
4: iload 3
ireturn
5: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
6: iload 3
iload 2
if_icmplt 3
end local 3 7: iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 s [C
0 8 1 start I
1 8 2 slen I
2 7 3 i I
MethodParameters:
Name Flags
s
start
private static int firstNonDigit(char[], int);
descriptor: ([CI)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
arraylength
istore 2
start local 2 1: iload 1
istore 3
start local 3 2: goto 6
3: StackMap locals: int int
StackMap stack:
aload 0
iload 3
caload
invokestatic java.lang.Character.isDigit:(C)Z
ifne 5
4: iload 3
ireturn
5: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
6: iload 3
iload 2
if_icmplt 3
end local 3 7: iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 s [C
0 8 1 start I
1 8 2 slen I
2 7 3 i I
MethodParameters:
Name Flags
s
start
private static int number(char[], int, int);
descriptor: ([CII)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: iload 1
iload 2
if_icmplt 2
1: new java.lang.NumberFormatException
dup
invokespecial java.lang.NumberFormatException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
iconst_0
istore 3
start local 3 3: iload 1
istore 4
start local 4 4: goto 7
5: StackMap locals: int int
StackMap stack:
bipush 10
iload 3
imul
aload 0
iload 4
caload
bipush 48
isub
iadd
istore 3
6: iinc 4 1
StackMap locals:
StackMap stack:
7: iload 4
iload 2
if_icmplt 5
end local 4 8: iload 3
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 s [C
0 9 1 start I
0 9 2 end I
3 9 3 n I
4 8 4 i I
MethodParameters:
Name Flags
s
start
end
private static char charAt(char[], int);
descriptor: ([CI)C
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 1
iflt 2
iload 1
aload 0
arraylength
if_icmpge 2
1: aload 0
iload 1
caload
ireturn
2: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 s [C
0 3 1 pos I
MethodParameters:
Name Flags
s
pos
public java.sql.Date toDateBin(java.util.TimeZone, byte[]);
descriptor: (Ljava/util/TimeZone;[B)Ljava/sql/Date;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 2
arraylength
iconst_4
if_icmpeq 4
1: new org.postgresql.util.PSQLException
dup
ldc "Unsupported binary encoding of {0}."
iconst_1
anewarray java.lang.Object
dup
iconst_0
ldc "date"
aastore
invokestatic org.postgresql.util.GT.tr:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
2: getstatic org.postgresql.util.PSQLState.BAD_DATETIME_FORMAT:Lorg/postgresql/util/PSQLState;
3: invokespecial org.postgresql.util.PSQLException.<init>:(Ljava/lang/String;Lorg/postgresql/util/PSQLState;)V
athrow
4: StackMap locals:
StackMap stack:
aload 2
iconst_0
invokestatic org.postgresql.util.ByteConverter.int4:([BI)I
istore 3
start local 3 5: aload 1
ifnonnull 7
6: aload 0
invokevirtual org.postgresql.jdbc.TimestampUtils.getDefaultTz:()Ljava/util/TimeZone;
astore 1
7: StackMap locals: int
StackMap stack:
iload 3
i2l
ldc 86400
lmul
invokestatic org.postgresql.jdbc.TimestampUtils.toJavaSecs:(J)J
lstore 4
start local 4 8: lload 4
ldc 1000
lmul
lstore 6
start local 6 9: lload 6
ldc -185543533774800000
lcmp
ifgt 12
10: ldc -9223372036832400000
lstore 6
11: goto 16
StackMap locals: long long
StackMap stack:
12: lload 6
ldc 185543533774800000
lcmp
iflt 15
13: ldc 9223372036825200000
lstore 6
14: goto 16
15: StackMap locals:
StackMap stack:
aload 0
lload 6
aload 1
invokevirtual org.postgresql.jdbc.TimestampUtils.guessTimestamp:(JLjava/util/TimeZone;)J
lstore 6
16: StackMap locals:
StackMap stack:
new java.sql.Date
dup
lload 6
invokespecial java.sql.Date.<init>:(J)V
areturn
end local 6 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lorg/postgresql/jdbc/TimestampUtils;
0 17 1 tz Ljava/util/TimeZone;
0 17 2 bytes [B
5 17 3 days I
8 17 4 secs J
9 17 6 millis J
Exceptions:
throws org.postgresql.util.PSQLException
MethodParameters:
Name Flags
tz
bytes
private java.util.TimeZone getDefaultTz();
descriptor: ()Ljava/util/TimeZone;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: getstatic org.postgresql.jdbc.TimestampUtils.DEFAULT_TIME_ZONE_FIELD:Ljava/lang/reflect/Field;
ifnull 8
1: getstatic org.postgresql.jdbc.TimestampUtils.DEFAULT_TIME_ZONE_FIELD:Ljava/lang/reflect/Field;
aconst_null
invokevirtual java.lang.reflect.Field.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.TimeZone
astore 1
start local 1 2: aload 1
aload 0
getfield org.postgresql.jdbc.TimestampUtils.prevDefaultZoneFieldValue:Ljava/util/TimeZone;
if_acmpne 5
3: aload 0
getfield org.postgresql.jdbc.TimestampUtils.defaultTimeZoneCache:Ljava/util/TimeZone;
4: areturn
5: StackMap locals: java.util.TimeZone
StackMap stack:
aload 0
aload 1
putfield org.postgresql.jdbc.TimestampUtils.prevDefaultZoneFieldValue:Ljava/util/TimeZone;
end local 1 6: goto 8
StackMap locals: org.postgresql.jdbc.TimestampUtils
StackMap stack: java.lang.Exception
7: pop
8: StackMap locals:
StackMap stack:
invokestatic java.util.TimeZone.getDefault:()Ljava/util/TimeZone;
astore 1
start local 1 9: aload 0
aload 1
putfield org.postgresql.jdbc.TimestampUtils.defaultTimeZoneCache:Ljava/util/TimeZone;
10: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/postgresql/jdbc/TimestampUtils;
2 6 1 defaultTimeZone Ljava/util/TimeZone;
9 11 1 tz Ljava/util/TimeZone;
Exception table:
from to target type
1 4 7 Class java.lang.Exception
5 6 7 Class java.lang.Exception
public boolean hasFastDefaultTimeZone();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic org.postgresql.jdbc.TimestampUtils.DEFAULT_TIME_ZONE_FIELD:Ljava/lang/reflect/Field;
ifnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/postgresql/jdbc/TimestampUtils;
public java.sql.Time toTimeBin(java.util.TimeZone, byte[]);
descriptor: (Ljava/util/TimeZone;[B)Ljava/sql/Time;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 2
arraylength
bipush 8
if_icmpeq 4
aload 2
arraylength
bipush 12
if_icmpeq 4
1: new org.postgresql.util.PSQLException
dup
ldc "Unsupported binary encoding of {0}."
iconst_1
anewarray java.lang.Object
dup
iconst_0
ldc "time"
aastore
invokestatic org.postgresql.util.GT.tr:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
2: getstatic org.postgresql.util.PSQLState.BAD_DATETIME_FORMAT:Lorg/postgresql/util/PSQLState;
3: invokespecial org.postgresql.util.PSQLException.<init>:(Ljava/lang/String;Lorg/postgresql/util/PSQLState;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
getfield org.postgresql.jdbc.TimestampUtils.usesDouble:Z
ifeq 8
5: aload 2
iconst_0
invokestatic org.postgresql.util.ByteConverter.float8:([BI)D
dstore 6
start local 6 6: dload 6
ldc 1000.0
dmul
d2l
lstore 3
end local 6 start local 3 7: goto 10
end local 3 8: StackMap locals:
StackMap stack:
aload 2
iconst_0
invokestatic org.postgresql.util.ByteConverter.int8:([BI)J
lstore 6
start local 6 9: lload 6
ldc 1000
ldiv
lstore 3
end local 6 start local 3 10: StackMap locals: long
StackMap stack:
aload 2
arraylength
bipush 12
if_icmpne 15
11: aload 2
bipush 8
invokestatic org.postgresql.util.ByteConverter.int4:([BI)I
istore 5
start local 5 12: iload 5
sipush -1000
imul
istore 5
13: lload 3
iload 5
i2l
lsub
lstore 3
14: new java.sql.Time
dup
lload 3
invokespecial java.sql.Time.<init>:(J)V
areturn
end local 5 15: StackMap locals:
StackMap stack:
aload 1
ifnonnull 17
16: aload 0
invokevirtual org.postgresql.jdbc.TimestampUtils.getDefaultTz:()Ljava/util/TimeZone;
astore 1
17: StackMap locals:
StackMap stack:
aload 0
lload 3
aload 1
invokevirtual org.postgresql.jdbc.TimestampUtils.guessTimestamp:(JLjava/util/TimeZone;)J
lstore 3
18: aload 0
lload 3
aload 1
invokevirtual org.postgresql.jdbc.TimestampUtils.convertToTime:(JLjava/util/TimeZone;)Ljava/sql/Time;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lorg/postgresql/jdbc/TimestampUtils;
0 19 1 tz Ljava/util/TimeZone;
0 19 2 bytes [B
7 8 3 millis J
10 19 3 millis J
12 15 5 timeOffset I
6 7 6 time D
9 10 6 time J
Exceptions:
throws org.postgresql.util.PSQLException
MethodParameters:
Name Flags
tz
bytes
public java.time.LocalTime toLocalTimeBin(byte[]);
descriptor: ([B)Ljava/time/LocalTime;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=6, args_size=2
start local 0 start local 1 0: aload 1
arraylength
bipush 8
if_icmpeq 4
1: new org.postgresql.util.PSQLException
dup
ldc "Unsupported binary encoding of {0}."
iconst_1
anewarray java.lang.Object
dup
iconst_0
ldc "time"
aastore
invokestatic org.postgresql.util.GT.tr:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
2: getstatic org.postgresql.util.PSQLState.BAD_DATETIME_FORMAT:Lorg/postgresql/util/PSQLState;
3: invokespecial org.postgresql.util.PSQLException.<init>:(Ljava/lang/String;Lorg/postgresql/util/PSQLState;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
getfield org.postgresql.jdbc.TimestampUtils.usesDouble:Z
ifeq 8
5: aload 1
iconst_0
invokestatic org.postgresql.util.ByteConverter.float8:([BI)D
dstore 4
start local 4 6: dload 4
ldc 1000000.0
dmul
d2l
lstore 2
end local 4 start local 2 7: goto 9
end local 2 8: StackMap locals:
StackMap stack:
aload 1
iconst_0
invokestatic org.postgresql.util.ByteConverter.int8:([BI)J
lstore 2
start local 2 9: StackMap locals: long
StackMap stack:
lload 2
ldc 1000
lmul
invokestatic java.time.LocalTime.ofNanoOfDay:(J)Ljava/time/LocalTime;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/postgresql/jdbc/TimestampUtils;
0 10 1 bytes [B
7 8 2 micros J
9 10 2 micros J
6 7 4 seconds D
Exceptions:
throws org.postgresql.util.PSQLException
MethodParameters:
Name Flags
bytes
public java.sql.Timestamp toTimestampBin(java.util.TimeZone, byte[], boolean);
descriptor: (Ljava/util/TimeZone;[BZ)Ljava/sql/Timestamp;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
iload 3
invokevirtual org.postgresql.jdbc.TimestampUtils.toParsedTimestampBin:(Ljava/util/TimeZone;[BZ)Lorg/postgresql/jdbc/TimestampUtils$ParsedBinaryTimestamp;
astore 4
start local 4 1: aload 4
getfield org.postgresql.jdbc.TimestampUtils$ParsedBinaryTimestamp.infinity:Lorg/postgresql/jdbc/TimestampUtils$Infinity;
getstatic org.postgresql.jdbc.TimestampUtils$Infinity.POSITIVE:Lorg/postgresql/jdbc/TimestampUtils$Infinity;
if_acmpne 3
2: new java.sql.Timestamp
dup
ldc 9223372036825200000
invokespecial java.sql.Timestamp.<init>:(J)V
areturn
3: StackMap locals: org.postgresql.jdbc.TimestampUtils$ParsedBinaryTimestamp
StackMap stack:
aload 4
getfield org.postgresql.jdbc.TimestampUtils$ParsedBinaryTimestamp.infinity:Lorg/postgresql/jdbc/TimestampUtils$Infinity;
getstatic org.postgresql.jdbc.TimestampUtils$Infinity.NEGATIVE:Lorg/postgresql/jdbc/TimestampUtils$Infinity;
if_acmpne 5
4: new java.sql.Timestamp
dup
ldc -9223372036832400000
invokespecial java.sql.Timestamp.<init>:(J)V
areturn
5: StackMap locals:
StackMap stack:
new java.sql.Timestamp
dup
aload 4
getfield org.postgresql.jdbc.TimestampUtils$ParsedBinaryTimestamp.millis:J
invokespecial java.sql.Timestamp.<init>:(J)V
astore 5
start local 5 6: aload 5
aload 4
getfield org.postgresql.jdbc.TimestampUtils$ParsedBinaryTimestamp.nanos:I
invokevirtual java.sql.Timestamp.setNanos:(I)V
7: aload 5
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/postgresql/jdbc/TimestampUtils;
0 8 1 tz Ljava/util/TimeZone;
0 8 2 bytes [B
0 8 3 timestamptz Z
1 8 4 parsedTimestamp Lorg/postgresql/jdbc/TimestampUtils$ParsedBinaryTimestamp;
6 8 5 ts Ljava/sql/Timestamp;
Exceptions:
throws org.postgresql.util.PSQLException
MethodParameters:
Name Flags
tz
bytes
timestamptz
private org.postgresql.jdbc.TimestampUtils$ParsedBinaryTimestamp toParsedTimestampBin(java.util.TimeZone, byte[], boolean);
descriptor: (Ljava/util/TimeZone;[BZ)Lorg/postgresql/jdbc/TimestampUtils$ParsedBinaryTimestamp;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=10, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
arraylength
bipush 8
if_icmpeq 4
1: new org.postgresql.util.PSQLException
dup
ldc "Unsupported binary encoding of {0}."
iconst_1
anewarray java.lang.Object
dup
iconst_0
ldc "timestamp"
aastore
invokestatic org.postgresql.util.GT.tr:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
2: getstatic org.postgresql.util.PSQLState.BAD_DATETIME_FORMAT:Lorg/postgresql/util/PSQLState;
3: invokespecial org.postgresql.util.PSQLException.<init>:(Ljava/lang/String;Lorg/postgresql/util/PSQLState;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
getfield org.postgresql.jdbc.TimestampUtils.usesDouble:Z
ifeq 17
5: aload 2
iconst_0
invokestatic org.postgresql.util.ByteConverter.float8:([BI)D
dstore 7
start local 7 6: dload 7
ldc Infinity
dcmpl
ifne 10
7: new org.postgresql.jdbc.TimestampUtils$ParsedBinaryTimestamp
dup
invokespecial org.postgresql.jdbc.TimestampUtils$ParsedBinaryTimestamp.<init>:()V
astore 9
start local 9 8: aload 9
getstatic org.postgresql.jdbc.TimestampUtils$Infinity.POSITIVE:Lorg/postgresql/jdbc/TimestampUtils$Infinity;
putfield org.postgresql.jdbc.TimestampUtils$ParsedBinaryTimestamp.infinity:Lorg/postgresql/jdbc/TimestampUtils$Infinity;
9: aload 9
areturn
end local 9 10: StackMap locals: org.postgresql.jdbc.TimestampUtils java.util.TimeZone byte[] int top top top double
StackMap stack:
dload 7
ldc -Infinity
dcmpl
ifne 14
11: new org.postgresql.jdbc.TimestampUtils$ParsedBinaryTimestamp
dup
invokespecial org.postgresql.jdbc.TimestampUtils$ParsedBinaryTimestamp.<init>:()V
astore 9
start local 9 12: aload 9
getstatic org.postgresql.jdbc.TimestampUtils$Infinity.NEGATIVE:Lorg/postgresql/jdbc/TimestampUtils$Infinity;
putfield org.postgresql.jdbc.TimestampUtils$ParsedBinaryTimestamp.infinity:Lorg/postgresql/jdbc/TimestampUtils$Infinity;
13: aload 9
areturn
end local 9 14: StackMap locals:
StackMap stack:
dload 7
d2l
lstore 4
start local 4 15: dload 7
lload 4
l2d
dsub
ldc 1000000.0
dmul
d2i
istore 6
end local 7 start local 6 16: goto 28
end local 6 end local 4 17: StackMap locals: org.postgresql.jdbc.TimestampUtils java.util.TimeZone byte[] int
StackMap stack:
aload 2
iconst_0
invokestatic org.postgresql.util.ByteConverter.int8:([BI)J
lstore 7
start local 7 18: lload 7
ldc 9223372036854775807
lcmp
ifne 22
19: new org.postgresql.jdbc.TimestampUtils$ParsedBinaryTimestamp
dup
invokespecial org.postgresql.jdbc.TimestampUtils$ParsedBinaryTimestamp.<init>:()V
astore 9
start local 9 20: aload 9
getstatic org.postgresql.jdbc.TimestampUtils$Infinity.POSITIVE:Lorg/postgresql/jdbc/TimestampUtils$Infinity;
putfield org.postgresql.jdbc.TimestampUtils$ParsedBinaryTimestamp.infinity:Lorg/postgresql/jdbc/TimestampUtils$Infinity;
21: aload 9
areturn
end local 9 22: StackMap locals: org.postgresql.jdbc.TimestampUtils java.util.TimeZone byte[] int top top top long
StackMap stack:
lload 7
ldc -9223372036854775808
lcmp
ifne 26
23: new org.postgresql.jdbc.TimestampUtils$ParsedBinaryTimestamp
dup
invokespecial org.postgresql.jdbc.TimestampUtils$ParsedBinaryTimestamp.<init>:()V
astore 9
start local 9 24: aload 9
getstatic org.postgresql.jdbc.TimestampUtils$Infinity.NEGATIVE:Lorg/postgresql/jdbc/TimestampUtils$Infinity;
putfield org.postgresql.jdbc.TimestampUtils$ParsedBinaryTimestamp.infinity:Lorg/postgresql/jdbc/TimestampUtils$Infinity;
25: aload 9
areturn
end local 9 26: StackMap locals:
StackMap stack:
lload 7
ldc 1000000
ldiv
lstore 4
start local 4 27: lload 7
lload 4
ldc 1000000
lmul
lsub
l2i
istore 6
end local 7 start local 6 28: StackMap locals: org.postgresql.jdbc.TimestampUtils java.util.TimeZone byte[] int long int
StackMap stack:
iload 6
ifge 31
29: lload 4
lconst_1
lsub
lstore 4
30: iload 6
ldc 1000000
iadd
istore 6
31: StackMap locals:
StackMap stack:
iload 6
sipush 1000
imul
istore 6
32: lload 4
invokestatic org.postgresql.jdbc.TimestampUtils.toJavaSecs:(J)J
lstore 4
33: lload 4
ldc 1000
lmul
lstore 7
start local 7 34: iload 3
ifne 36
35: aload 0
lload 7
aload 1
invokevirtual org.postgresql.jdbc.TimestampUtils.guessTimestamp:(JLjava/util/TimeZone;)J
lstore 7
36: StackMap locals: long
StackMap stack:
new org.postgresql.jdbc.TimestampUtils$ParsedBinaryTimestamp
dup
invokespecial org.postgresql.jdbc.TimestampUtils$ParsedBinaryTimestamp.<init>:()V
astore 9
start local 9 37: aload 9
lload 7
putfield org.postgresql.jdbc.TimestampUtils$ParsedBinaryTimestamp.millis:J
38: aload 9
iload 6
putfield org.postgresql.jdbc.TimestampUtils$ParsedBinaryTimestamp.nanos:I
39: aload 9
areturn
end local 9 end local 7 end local 6 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 40 0 this Lorg/postgresql/jdbc/TimestampUtils;
0 40 1 tz Ljava/util/TimeZone;
0 40 2 bytes [B
0 40 3 timestamptz Z
15 17 4 secs J
27 40 4 secs J
16 17 6 nanos I
28 40 6 nanos I
6 16 7 time D
8 10 9 ts Lorg/postgresql/jdbc/TimestampUtils$ParsedBinaryTimestamp;
12 14 9 ts Lorg/postgresql/jdbc/TimestampUtils$ParsedBinaryTimestamp;
18 28 7 time J
20 22 9 ts Lorg/postgresql/jdbc/TimestampUtils$ParsedBinaryTimestamp;
24 26 9 ts Lorg/postgresql/jdbc/TimestampUtils$ParsedBinaryTimestamp;
34 40 7 millis J
37 40 9 ts Lorg/postgresql/jdbc/TimestampUtils$ParsedBinaryTimestamp;
Exceptions:
throws org.postgresql.util.PSQLException
MethodParameters:
Name Flags
tz
bytes
timestamptz
public java.time.LocalDateTime toLocalDateTimeBin(java.util.TimeZone, byte[]);
descriptor: (Ljava/util/TimeZone;[B)Ljava/time/LocalDateTime;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
iconst_1
invokevirtual org.postgresql.jdbc.TimestampUtils.toParsedTimestampBin:(Ljava/util/TimeZone;[BZ)Lorg/postgresql/jdbc/TimestampUtils$ParsedBinaryTimestamp;
astore 3
start local 3 1: aload 3
getfield org.postgresql.jdbc.TimestampUtils$ParsedBinaryTimestamp.infinity:Lorg/postgresql/jdbc/TimestampUtils$Infinity;
getstatic org.postgresql.jdbc.TimestampUtils$Infinity.POSITIVE:Lorg/postgresql/jdbc/TimestampUtils$Infinity;
if_acmpne 3
2: getstatic java.time.LocalDateTime.MAX:Ljava/time/LocalDateTime;
areturn
3: StackMap locals: org.postgresql.jdbc.TimestampUtils$ParsedBinaryTimestamp
StackMap stack:
aload 3
getfield org.postgresql.jdbc.TimestampUtils$ParsedBinaryTimestamp.infinity:Lorg/postgresql/jdbc/TimestampUtils$Infinity;
getstatic org.postgresql.jdbc.TimestampUtils$Infinity.NEGATIVE:Lorg/postgresql/jdbc/TimestampUtils$Infinity;
if_acmpne 5
4: getstatic java.time.LocalDateTime.MIN:Ljava/time/LocalDateTime;
areturn
5: StackMap locals:
StackMap stack:
aload 3
getfield org.postgresql.jdbc.TimestampUtils$ParsedBinaryTimestamp.millis:J
ldc 1000
ldiv
aload 3
getfield org.postgresql.jdbc.TimestampUtils$ParsedBinaryTimestamp.nanos:I
getstatic java.time.ZoneOffset.UTC:Ljava/time/ZoneOffset;
invokestatic java.time.LocalDateTime.ofEpochSecond:(JILjava/time/ZoneOffset;)Ljava/time/LocalDateTime;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/postgresql/jdbc/TimestampUtils;
0 6 1 tz Ljava/util/TimeZone;
0 6 2 bytes [B
1 6 3 parsedTimestamp Lorg/postgresql/jdbc/TimestampUtils$ParsedBinaryTimestamp;
Exceptions:
throws org.postgresql.util.PSQLException
MethodParameters:
Name Flags
tz
bytes
private long guessTimestamp(long, java.util.TimeZone);
descriptor: (JLjava/util/TimeZone;)J
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=13, args_size=3
start local 0 start local 1 start local 3 0: aload 3
ifnonnull 2
1: aload 0
invokevirtual org.postgresql.jdbc.TimestampUtils.getDefaultTz:()Ljava/util/TimeZone;
astore 3
2: StackMap locals:
StackMap stack:
aload 3
invokevirtual java.util.TimeZone.getID:()Ljava/lang/String;
invokestatic org.postgresql.jdbc.TimestampUtils.isSimpleTimeZone:(Ljava/lang/String;)Z
ifeq 4
3: lload 1
aload 3
invokevirtual java.util.TimeZone.getRawOffset:()I
i2l
lsub
lreturn
4: StackMap locals:
StackMap stack:
aload 0
getfield org.postgresql.jdbc.TimestampUtils.calendarWithUserTz:Ljava/util/Calendar;
astore 4
start local 4 5: aload 4
aload 0
getfield org.postgresql.jdbc.TimestampUtils.utcTz:Ljava/util/TimeZone;
invokevirtual java.util.Calendar.setTimeZone:(Ljava/util/TimeZone;)V
6: aload 4
lload 1
invokevirtual java.util.Calendar.setTimeInMillis:(J)V
7: aload 4
iconst_0
invokevirtual java.util.Calendar.get:(I)I
istore 5
start local 5 8: aload 4
iconst_1
invokevirtual java.util.Calendar.get:(I)I
istore 6
start local 6 9: aload 4
iconst_2
invokevirtual java.util.Calendar.get:(I)I
istore 7
start local 7 10: aload 4
iconst_5
invokevirtual java.util.Calendar.get:(I)I
istore 8
start local 8 11: aload 4
bipush 11
invokevirtual java.util.Calendar.get:(I)I
istore 9
start local 9 12: aload 4
bipush 12
invokevirtual java.util.Calendar.get:(I)I
istore 10
start local 10 13: aload 4
bipush 13
invokevirtual java.util.Calendar.get:(I)I
istore 11
start local 11 14: aload 4
bipush 14
invokevirtual java.util.Calendar.get:(I)I
istore 12
start local 12 15: aload 4
aload 3
invokevirtual java.util.Calendar.setTimeZone:(Ljava/util/TimeZone;)V
16: aload 4
iconst_0
iload 5
invokevirtual java.util.Calendar.set:(II)V
17: aload 4
iconst_1
iload 6
invokevirtual java.util.Calendar.set:(II)V
18: aload 4
iconst_2
iload 7
invokevirtual java.util.Calendar.set:(II)V
19: aload 4
iconst_5
iload 8
invokevirtual java.util.Calendar.set:(II)V
20: aload 4
bipush 11
iload 9
invokevirtual java.util.Calendar.set:(II)V
21: aload 4
bipush 12
iload 10
invokevirtual java.util.Calendar.set:(II)V
22: aload 4
bipush 13
iload 11
invokevirtual java.util.Calendar.set:(II)V
23: aload 4
bipush 14
iload 12
invokevirtual java.util.Calendar.set:(II)V
24: aload 4
invokevirtual java.util.Calendar.getTimeInMillis:()J
lreturn
end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lorg/postgresql/jdbc/TimestampUtils;
0 25 1 millis J
0 25 3 tz Ljava/util/TimeZone;
5 25 4 cal Ljava/util/Calendar;
8 25 5 era I
9 25 6 year I
10 25 7 month I
11 25 8 day I
12 25 9 hour I
13 25 10 min I
14 25 11 sec I
15 25 12 ms I
MethodParameters:
Name Flags
millis
tz
private static boolean isSimpleTimeZone(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ldc "GMT"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 1
aload 0
ldc "UTC"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 id Ljava/lang/String;
MethodParameters:
Name Flags
id
public java.sql.Date convertToDate(long, java.util.TimeZone);
descriptor: (JLjava/util/TimeZone;)Ljava/sql/Date;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 3 0: lload 1
ldc -9223372036832400000
lcmp
ifle 2
1: lload 1
ldc 9223372036825200000
lcmp
iflt 3
2: StackMap locals:
StackMap stack:
new java.sql.Date
dup
lload 1
invokespecial java.sql.Date.<init>:(J)V
areturn
3: StackMap locals:
StackMap stack:
aload 3
ifnonnull 5
4: aload 0
invokevirtual org.postgresql.jdbc.TimestampUtils.getDefaultTz:()Ljava/util/TimeZone;
astore 3
5: StackMap locals:
StackMap stack:
aload 3
invokevirtual java.util.TimeZone.getID:()Ljava/lang/String;
invokestatic org.postgresql.jdbc.TimestampUtils.isSimpleTimeZone:(Ljava/lang/String;)Z
ifeq 11
6: aload 3
invokevirtual java.util.TimeZone.getRawOffset:()I
istore 4
start local 4 7: lload 1
iload 4
i2l
ladd
lstore 1
8: lload 1
ldc 86400000
invokestatic org.postgresql.jdbc.TimestampUtils.floorDiv:(JJ)J
ldc 86400000
lmul
lstore 1
9: lload 1
iload 4
i2l
lsub
lstore 1
10: new java.sql.Date
dup
lload 1
invokespecial java.sql.Date.<init>:(J)V
areturn
end local 4 11: StackMap locals:
StackMap stack:
aload 0
getfield org.postgresql.jdbc.TimestampUtils.calendarWithUserTz:Ljava/util/Calendar;
astore 4
start local 4 12: aload 4
aload 3
invokevirtual java.util.Calendar.setTimeZone:(Ljava/util/TimeZone;)V
13: aload 4
lload 1
invokevirtual java.util.Calendar.setTimeInMillis:(J)V
14: aload 4
bipush 11
iconst_0
invokevirtual java.util.Calendar.set:(II)V
15: aload 4
bipush 12
iconst_0
invokevirtual java.util.Calendar.set:(II)V
16: aload 4
bipush 13
iconst_0
invokevirtual java.util.Calendar.set:(II)V
17: aload 4
bipush 14
iconst_0
invokevirtual java.util.Calendar.set:(II)V
18: new java.sql.Date
dup
aload 4
invokevirtual java.util.Calendar.getTimeInMillis:()J
invokespecial java.sql.Date.<init>:(J)V
areturn
end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lorg/postgresql/jdbc/TimestampUtils;
0 19 1 millis J
0 19 3 tz Ljava/util/TimeZone;
7 11 4 offset I
12 19 4 cal Ljava/util/Calendar;
MethodParameters:
Name Flags
millis
tz
public java.sql.Time convertToTime(long, java.util.TimeZone);
descriptor: (JLjava/util/TimeZone;)Ljava/sql/Time;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 3 0: aload 3
ifnonnull 2
1: aload 0
invokevirtual org.postgresql.jdbc.TimestampUtils.getDefaultTz:()Ljava/util/TimeZone;
astore 3
2: StackMap locals:
StackMap stack:
aload 3
invokevirtual java.util.TimeZone.getID:()Ljava/lang/String;
invokestatic org.postgresql.jdbc.TimestampUtils.isSimpleTimeZone:(Ljava/lang/String;)Z
ifeq 8
3: aload 3
invokevirtual java.util.TimeZone.getRawOffset:()I
istore 4
start local 4 4: lload 1
iload 4
i2l
ladd
lstore 1
5: lload 1
ldc 86400000
invokestatic org.postgresql.jdbc.TimestampUtils.floorMod:(JJ)J
lstore 1
6: lload 1
iload 4
i2l
lsub
lstore 1
7: new java.sql.Time
dup
lload 1
invokespecial java.sql.Time.<init>:(J)V
areturn
end local 4 8: StackMap locals:
StackMap stack:
aload 0
getfield org.postgresql.jdbc.TimestampUtils.calendarWithUserTz:Ljava/util/Calendar;
astore 4
start local 4 9: aload 4
aload 3
invokevirtual java.util.Calendar.setTimeZone:(Ljava/util/TimeZone;)V
10: aload 4
lload 1
invokevirtual java.util.Calendar.setTimeInMillis:(J)V
11: aload 4
iconst_0
iconst_1
invokevirtual java.util.Calendar.set:(II)V
12: aload 4
iconst_1
sipush 1970
invokevirtual java.util.Calendar.set:(II)V
13: aload 4
iconst_2
iconst_0
invokevirtual java.util.Calendar.set:(II)V
14: aload 4
iconst_5
iconst_1
invokevirtual java.util.Calendar.set:(II)V
15: new java.sql.Time
dup
aload 4
invokevirtual java.util.Calendar.getTimeInMillis:()J
invokespecial java.sql.Time.<init>:(J)V
areturn
end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lorg/postgresql/jdbc/TimestampUtils;
0 16 1 millis J
0 16 3 tz Ljava/util/TimeZone;
4 8 4 offset I
9 16 4 cal Ljava/util/Calendar;
MethodParameters:
Name Flags
millis
tz
public java.lang.String timeToString(java.util.Date, boolean);
descriptor: (Ljava/util/Date;Z)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
astore 3
start local 3 1: iload 2
ifeq 4
2: aload 0
getfield org.postgresql.jdbc.TimestampUtils.calendarWithUserTz:Ljava/util/Calendar;
astore 3
3: aload 3
aload 0
getfield org.postgresql.jdbc.TimestampUtils.timeZoneProvider:Lorg/postgresql/core/Provider;
invokeinterface org.postgresql.core.Provider.get:()Ljava/lang/Object;
checkcast java.util.TimeZone
invokevirtual java.util.Calendar.setTimeZone:(Ljava/util/TimeZone;)V
4: StackMap locals: java.util.Calendar
StackMap stack:
aload 1
instanceof java.sql.Timestamp
ifeq 6
5: aload 0
aload 3
aload 1
checkcast java.sql.Timestamp
iload 2
invokevirtual org.postgresql.jdbc.TimestampUtils.toString:(Ljava/util/Calendar;Ljava/sql/Timestamp;Z)Ljava/lang/String;
areturn
6: StackMap locals:
StackMap stack:
aload 1
instanceof java.sql.Time
ifeq 8
7: aload 0
aload 3
aload 1
checkcast java.sql.Time
iload 2
invokevirtual org.postgresql.jdbc.TimestampUtils.toString:(Ljava/util/Calendar;Ljava/sql/Time;Z)Ljava/lang/String;
areturn
8: StackMap locals:
StackMap stack:
aload 0
aload 3
aload 1
checkcast java.sql.Date
iload 2
invokevirtual org.postgresql.jdbc.TimestampUtils.toString:(Ljava/util/Calendar;Ljava/sql/Date;Z)Ljava/lang/String;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/postgresql/jdbc/TimestampUtils;
0 9 1 time Ljava/util/Date;
0 9 2 withTimeZone Z
1 9 3 cal Ljava/util/Calendar;
MethodParameters:
Name Flags
time
withTimeZone
private static long toJavaSecs(long);
descriptor: (J)J
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=3, args_size=1
start local 0 0: lload 0
ldc 946684800
ladd
lstore 0
1: lload 0
ldc -12219292800
lcmp
ifge 8
2: lload 0
ldc 864000
ladd
lstore 0
3: lload 0
ldc -14825808000
lcmp
ifge 8
4: lload 0
ldc 14825808000
ladd
ldc 3155760000
ldiv
l2i
istore 2
start local 2 5: iinc 2 -1
6: iload 2
iload 2
iconst_4
idiv
isub
istore 2
7: lload 0
iload 2
i2l
ldc 86400
lmul
ladd
lstore 0
end local 2 8: StackMap locals:
StackMap stack:
lload 0
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 secs J
5 8 2 extraLeaps I
MethodParameters:
Name Flags
secs
private static long toPgSecs(long);
descriptor: (J)J
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=3, args_size=1
start local 0 0: lload 0
ldc 946684800
lsub
lstore 0
1: lload 0
ldc -13165977600
lcmp
ifge 8
2: lload 0
ldc 864000
lsub
lstore 0
3: lload 0
ldc -15773356800
lcmp
ifge 8
4: lload 0
ldc 15773356800
ladd
ldc -3155823050
ldiv
l2i
istore 2
start local 2 5: iinc 2 1
6: iload 2
iload 2
iconst_4
idiv
isub
istore 2
7: lload 0
iload 2
i2l
ldc 86400
lmul
ladd
lstore 0
end local 2 8: StackMap locals:
StackMap stack:
lload 0
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 secs J
5 8 2 years I
MethodParameters:
Name Flags
secs
public void toBinDate(java.util.TimeZone, byte[], java.sql.Date);
descriptor: (Ljava/util/TimeZone;[BLjava/sql/Date;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
invokevirtual java.sql.Date.getTime:()J
lstore 4
start local 4 1: aload 1
ifnonnull 3
2: aload 0
invokevirtual org.postgresql.jdbc.TimestampUtils.getDefaultTz:()Ljava/util/TimeZone;
astore 1
3: StackMap locals: long
StackMap stack:
lload 4
aload 1
lload 4
invokevirtual java.util.TimeZone.getOffset:(J)I
i2l
ladd
lstore 4
4: lload 4
ldc 1000
ldiv
invokestatic org.postgresql.jdbc.TimestampUtils.toPgSecs:(J)J
lstore 6
start local 6 5: aload 2
iconst_0
lload 6
ldc 86400
ldiv
l2i
invokestatic org.postgresql.util.ByteConverter.int4:([BII)V
6: return
end local 6 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/postgresql/jdbc/TimestampUtils;
0 7 1 tz Ljava/util/TimeZone;
0 7 2 bytes [B
0 7 3 value Ljava/sql/Date;
1 7 4 millis J
5 7 6 secs J
Exceptions:
throws org.postgresql.util.PSQLException
MethodParameters:
Name Flags
tz
bytes
value
public static java.util.TimeZone parseBackendTimeZone(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/util/TimeZone;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
ldc "GMT"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 4
1: getstatic org.postgresql.jdbc.TimestampUtils.GMT_ZONES:Ljava/util/HashMap;
aload 0
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.TimeZone
astore 1
start local 1 2: aload 1
ifnull 4
3: aload 1
areturn
end local 1 4: StackMap locals:
StackMap stack:
aload 0
invokestatic java.util.TimeZone.getTimeZone:(Ljava/lang/String;)Ljava/util/TimeZone;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 timeZone Ljava/lang/String;
2 4 1 tz Ljava/util/TimeZone;
MethodParameters:
Name Flags
timeZone
private static long floorDiv(long, long);
descriptor: (JJ)J
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=6, args_size=2
start local 0 start local 2 0: lload 0
lload 2
ldiv
lstore 4
start local 4 1: lload 0
lload 2
lxor
lconst_0
lcmp
ifge 3
lload 4
lload 2
lmul
lload 0
lcmp
ifeq 3
2: lload 4
lconst_1
lsub
lstore 4
3: StackMap locals: long
StackMap stack:
lload 4
lreturn
end local 4 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 x J
0 4 2 y J
1 4 4 r J
MethodParameters:
Name Flags
x
y
private static long floorMod(long, long);
descriptor: (JJ)J
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=4, args_size=2
start local 0 start local 2 0: lload 0
lload 0
lload 2
invokestatic org.postgresql.jdbc.TimestampUtils.floorDiv:(JJ)J
lload 2
lmul
lsub
lreturn
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x J
0 1 2 y J
MethodParameters:
Name Flags
x
y
}
SourceFile: "TimestampUtils.java"
NestMembers:
org.postgresql.jdbc.TimestampUtils$Infinity org.postgresql.jdbc.TimestampUtils$ParsedBinaryTimestamp org.postgresql.jdbc.TimestampUtils$ParsedTimestamp
InnerClasses:
final Infinity = org.postgresql.jdbc.TimestampUtils$Infinity of org.postgresql.jdbc.TimestampUtils
private ParsedBinaryTimestamp = org.postgresql.jdbc.TimestampUtils$ParsedBinaryTimestamp of org.postgresql.jdbc.TimestampUtils
private ParsedTimestamp = org.postgresql.jdbc.TimestampUtils$ParsedTimestamp of org.postgresql.jdbc.TimestampUtils