public class java.sql.Timestamp extends java.util.Date
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: java.sql.Timestamp
super_class: java.util.Date
{
private int nanos;
descriptor: I
flags: (0x0002) ACC_PRIVATE
static final long serialVersionUID;
descriptor: J
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 2745179027874758501
private static final int MILLIS_PER_SECOND;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1000
public void <init>(int, int, int, int, int, int, int);
descriptor: (IIIIIII)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=8, args_size=8
start local 0 // java.sql.Timestamp this
start local 1 // int year
start local 2 // int month
start local 3 // int date
start local 4 // int hour
start local 5 // int minute
start local 6 // int second
start local 7 // int nano
0: .line 92
aload 0 /* this */
iload 1 /* year */
iload 2 /* month */
iload 3 /* date */
iload 4 /* hour */
iload 5 /* minute */
iload 6 /* second */
invokespecial java.util.Date.<init>:(IIIIII)V
1: .line 93
iload 7 /* nano */
ldc 999999999
if_icmpgt 2
iload 7 /* nano */
ifge 3
2: .line 94
StackMap locals: java.sql.Timestamp int int int int int int int
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "nanos > 999999999 or < 0"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
3: .line 96
StackMap locals:
StackMap stack:
aload 0 /* this */
iload 7 /* nano */
putfield java.sql.Timestamp.nanos:I
4: .line 97
return
end local 7 // int nano
end local 6 // int second
end local 5 // int minute
end local 4 // int hour
end local 3 // int date
end local 2 // int month
end local 1 // int year
end local 0 // java.sql.Timestamp this
LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/sql/Timestamp;
0 5 1 year I
0 5 2 month I
0 5 3 date I
0 5 4 hour I
0 5 5 minute I
0 5 6 second I
0 5 7 nano I
RuntimeVisibleAnnotations:
java.lang.Deprecated(since = "1.2")
MethodParameters:
Name Flags
year
month
date
hour
minute
second
nano
public void <init>(long);
descriptor: (J)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=2
start local 0 // java.sql.Timestamp this
start local 1 // long time
0: .line 112
aload 0 /* this */
lload 1 /* time */
ldc 1000
ldiv
ldc 1000
lmul
invokespecial java.util.Date.<init>:(J)V
1: .line 113
aload 0 /* this */
lload 1 /* time */
ldc 1000
lrem
ldc 1000000
lmul
l2i
putfield java.sql.Timestamp.nanos:I
2: .line 114
aload 0 /* this */
getfield java.sql.Timestamp.nanos:I
ifge 5
3: .line 115
aload 0 /* this */
dup
getfield java.sql.Timestamp.nanos:I
ldc 1000000000
iadd
putfield java.sql.Timestamp.nanos:I
4: .line 116
aload 0 /* this */
lload 1 /* time */
ldc 1000
ldiv
lconst_1
lsub
ldc 1000
lmul
invokespecial java.util.Date.setTime:(J)V
5: .line 118
StackMap locals: java.sql.Timestamp long
StackMap stack:
return
end local 1 // long time
end local 0 // java.sql.Timestamp this
LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/sql/Timestamp;
0 6 1 time J
MethodParameters:
Name Flags
time
public void setTime(long);
descriptor: (J)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=2
start local 0 // java.sql.Timestamp this
start local 1 // long time
0: .line 130
aload 0 /* this */
lload 1 /* time */
ldc 1000
ldiv
ldc 1000
lmul
invokespecial java.util.Date.setTime:(J)V
1: .line 131
aload 0 /* this */
lload 1 /* time */
ldc 1000
lrem
ldc 1000000
lmul
l2i
putfield java.sql.Timestamp.nanos:I
2: .line 132
aload 0 /* this */
getfield java.sql.Timestamp.nanos:I
ifge 5
3: .line 133
aload 0 /* this */
dup
getfield java.sql.Timestamp.nanos:I
ldc 1000000000
iadd
putfield java.sql.Timestamp.nanos:I
4: .line 134
aload 0 /* this */
lload 1 /* time */
ldc 1000
ldiv
lconst_1
lsub
ldc 1000
lmul
invokespecial java.util.Date.setTime:(J)V
5: .line 136
StackMap locals:
StackMap stack:
return
end local 1 // long time
end local 0 // java.sql.Timestamp this
LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/sql/Timestamp;
0 6 1 time J
MethodParameters:
Name Flags
time
public long getTime();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=1
start local 0 // java.sql.Timestamp this
0: .line 147
aload 0 /* this */
invokespecial java.util.Date.getTime:()J
lstore 1 /* time */
start local 1 // long time
1: .line 148
lload 1 /* time */
aload 0 /* this */
getfield java.sql.Timestamp.nanos:I
ldc 1000000
idiv
i2l
ladd
lreturn
end local 1 // long time
end local 0 // java.sql.Timestamp this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/sql/Timestamp;
1 2 1 time J
public static java.sql.Timestamp valueOf(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/sql/Timestamp;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=9, locals=19, args_size=1
start local 0 // java.lang.String s
0: .line 175
iconst_0
istore 1 /* year */
start local 1 // int year
1: .line 176
iconst_0
istore 2 /* month */
start local 2 // int month
2: .line 177
iconst_0
istore 3 /* day */
start local 3 // int day
3: .line 181
iconst_0
istore 7 /* a_nanos */
start local 7 // int a_nanos
4: .line 188
ldc "Timestamp format must be yyyy-mm-dd hh:mm:ss[.fffffffff]"
astore 14 /* formatError */
start local 14 // java.lang.String formatError
5: .line 190
aload 0 /* s */
ifnonnull 6
new java.lang.IllegalArgumentException
dup
ldc "null string"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
6: .line 193
StackMap locals: java.lang.String int int int top top top int top top top top top top java.lang.String
StackMap stack:
aload 0 /* s */
invokevirtual java.lang.String.trim:()Ljava/lang/String;
astore 0 /* s */
7: .line 194
aload 0 /* s */
bipush 32
invokevirtual java.lang.String.indexOf:(I)I
istore 10 /* dividingSpace */
start local 10 // int dividingSpace
8: .line 195
iload 10 /* dividingSpace */
ifge 10
9: .line 196
new java.lang.IllegalArgumentException
dup
aload 14 /* formatError */
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
10: .line 200
StackMap locals: java.lang.String int int int top top top int top top int top top top java.lang.String
StackMap stack:
aload 0 /* s */
bipush 45
invokevirtual java.lang.String.indexOf:(I)I
istore 8 /* firstDash */
start local 8 // int firstDash
11: .line 201
aload 0 /* s */
bipush 45
iload 8 /* firstDash */
iconst_1
iadd
invokevirtual java.lang.String.indexOf:(II)I
istore 9 /* secondDash */
start local 9 // int secondDash
12: .line 204
aload 0 /* s */
bipush 58
iload 10 /* dividingSpace */
iconst_1
iadd
invokevirtual java.lang.String.indexOf:(II)I
istore 11 /* firstColon */
start local 11 // int firstColon
13: .line 205
aload 0 /* s */
bipush 58
iload 11 /* firstColon */
iconst_1
iadd
invokevirtual java.lang.String.indexOf:(II)I
istore 12 /* secondColon */
start local 12 // int secondColon
14: .line 206
aload 0 /* s */
bipush 46
iload 12 /* secondColon */
iconst_1
iadd
invokevirtual java.lang.String.indexOf:(II)I
istore 13 /* period */
start local 13 // int period
15: .line 209
iconst_0
istore 15 /* parsedDate */
start local 15 // boolean parsedDate
16: .line 210
iload 8 /* firstDash */
ifle 25
iload 9 /* secondDash */
ifle 25
iload 9 /* secondDash */
iload 10 /* dividingSpace */
iconst_1
isub
if_icmpge 25
17: .line 211
iload 8 /* firstDash */
iconst_4
if_icmpne 25
18: .line 212
iload 9 /* secondDash */
iload 8 /* firstDash */
isub
iconst_1
if_icmple 25
iload 9 /* secondDash */
iload 8 /* firstDash */
isub
iconst_3
if_icmpgt 25
19: .line 213
iload 10 /* dividingSpace */
iload 9 /* secondDash */
isub
iconst_1
if_icmple 25
iload 10 /* dividingSpace */
iload 9 /* secondDash */
isub
iconst_3
if_icmpgt 25
20: .line 214
aload 0 /* s */
iconst_0
iload 8 /* firstDash */
bipush 10
invokestatic java.lang.Integer.parseInt:(Ljava/lang/CharSequence;III)I
istore 1 /* year */
21: .line 215
aload 0 /* s */
iload 8 /* firstDash */
iconst_1
iadd
iload 9 /* secondDash */
bipush 10
invokestatic java.lang.Integer.parseInt:(Ljava/lang/CharSequence;III)I
istore 2 /* month */
22: .line 216
aload 0 /* s */
iload 9 /* secondDash */
iconst_1
iadd
iload 10 /* dividingSpace */
bipush 10
invokestatic java.lang.Integer.parseInt:(Ljava/lang/CharSequence;III)I
istore 3 /* day */
23: .line 218
iload 2 /* month */
iconst_1
if_icmplt 25
iload 2 /* month */
bipush 12
if_icmpgt 25
iload 3 /* day */
iconst_1
if_icmplt 25
iload 3 /* day */
bipush 31
if_icmpgt 25
24: .line 219
iconst_1
istore 15 /* parsedDate */
25: .line 223
StackMap locals: java.lang.String int int int top top top int int int int int int int java.lang.String int
StackMap stack:
iload 15 /* parsedDate */
ifne 27
26: .line 224
new java.lang.IllegalArgumentException
dup
aload 14 /* formatError */
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
27: .line 228
StackMap locals:
StackMap stack:
aload 0 /* s */
invokevirtual java.lang.String.length:()I
istore 16 /* len */
start local 16 // int len
28: .line 229
iload 11 /* firstColon */
ifle 49
iload 12 /* secondColon */
ifle 49
iload 12 /* secondColon */
iload 16 /* len */
iconst_1
isub
if_icmpge 49
29: .line 230
aload 0 /* s */
iload 10 /* dividingSpace */
iconst_1
iadd
iload 11 /* firstColon */
bipush 10
invokestatic java.lang.Integer.parseInt:(Ljava/lang/CharSequence;III)I
istore 4 /* hour */
start local 4 // int hour
30: .line 231
aload 0 /* s */
iload 11 /* firstColon */
iconst_1
iadd
iload 12 /* secondColon */
bipush 10
invokestatic java.lang.Integer.parseInt:(Ljava/lang/CharSequence;III)I
istore 5 /* minute */
start local 5 // int minute
31: .line 232
iload 13 /* period */
ifle 45
iload 13 /* period */
iload 16 /* len */
iconst_1
isub
if_icmpge 45
32: .line 233
aload 0 /* s */
iload 12 /* secondColon */
iconst_1
iadd
iload 13 /* period */
bipush 10
invokestatic java.lang.Integer.parseInt:(Ljava/lang/CharSequence;III)I
istore 6 /* second */
start local 6 // int second
33: .line 234
iload 16 /* len */
iload 13 /* period */
iconst_1
iadd
isub
istore 17 /* nanoPrecision */
start local 17 // int nanoPrecision
34: .line 235
iload 17 /* nanoPrecision */
bipush 9
if_icmple 36
35: .line 236
new java.lang.IllegalArgumentException
dup
aload 14 /* formatError */
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
36: .line 237
StackMap locals: java.lang.String int int int int int int int int int int int int int java.lang.String int int int
StackMap stack:
aload 0 /* s */
iload 13 /* period */
iconst_1
iadd
invokevirtual java.lang.String.charAt:(I)C
invokestatic java.lang.Character.isDigit:(C)Z
ifne 38
37: .line 238
new java.lang.IllegalArgumentException
dup
aload 14 /* formatError */
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
38: .line 239
StackMap locals:
StackMap stack:
aload 0 /* s */
iload 13 /* period */
iconst_1
iadd
iload 16 /* len */
bipush 10
invokestatic java.lang.Integer.parseInt:(Ljava/lang/CharSequence;III)I
istore 18 /* tmpNanos */
start local 18 // int tmpNanos
39: .line 240
goto 42
40: .line 241
StackMap locals: int
StackMap stack:
iload 18 /* tmpNanos */
bipush 10
imul
istore 18 /* tmpNanos */
41: .line 242
iinc 17 /* nanoPrecision */ 1
42: .line 240
StackMap locals:
StackMap stack:
iload 17 /* nanoPrecision */
bipush 9
if_icmplt 40
43: .line 244
iload 18 /* tmpNanos */
istore 7 /* a_nanos */
end local 18 // int tmpNanos
end local 17 // int nanoPrecision
44: .line 245
goto 50
end local 6 // int second
StackMap locals: java.lang.String int int int int int top int int int int int int int java.lang.String int int
StackMap stack:
45: iload 13 /* period */
ifle 47
46: .line 246
new java.lang.IllegalArgumentException
dup
aload 14 /* formatError */
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
47: .line 248
StackMap locals:
StackMap stack:
aload 0 /* s */
iload 12 /* secondColon */
iconst_1
iadd
iload 16 /* len */
bipush 10
invokestatic java.lang.Integer.parseInt:(Ljava/lang/CharSequence;III)I
istore 6 /* second */
start local 6 // int second
48: .line 250
goto 50
end local 6 // int second
end local 5 // int minute
end local 4 // int hour
49: .line 251
StackMap locals: java.lang.String int int int top top top int int int int int int int java.lang.String int int
StackMap stack:
new java.lang.IllegalArgumentException
dup
aload 14 /* formatError */
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
start local 4 // int hour
start local 5 // int minute
start local 6 // int second
50: .line 254
StackMap locals: java.lang.String int int int int int int int int int int int int int java.lang.String int int
StackMap stack:
new java.sql.Timestamp
dup
iload 1 /* year */
sipush 1900
isub
iload 2 /* month */
iconst_1
isub
iload 3 /* day */
iload 4 /* hour */
iload 5 /* minute */
iload 6 /* second */
iload 7 /* a_nanos */
invokespecial java.sql.Timestamp.<init>:(IIIIIII)V
areturn
end local 16 // int len
end local 15 // boolean parsedDate
end local 14 // java.lang.String formatError
end local 13 // int period
end local 12 // int secondColon
end local 11 // int firstColon
end local 10 // int dividingSpace
end local 9 // int secondDash
end local 8 // int firstDash
end local 7 // int a_nanos
end local 6 // int second
end local 5 // int minute
end local 4 // int hour
end local 3 // int day
end local 2 // int month
end local 1 // int year
end local 0 // java.lang.String s
LocalVariableTable:
Start End Slot Name Signature
0 51 0 s Ljava/lang/String;
1 51 1 year I
2 51 2 month I
3 51 3 day I
30 49 4 hour I
50 51 4 hour I
31 49 5 minute I
50 51 5 minute I
33 45 6 second I
48 49 6 second I
50 51 6 second I
4 51 7 a_nanos I
11 51 8 firstDash I
12 51 9 secondDash I
8 51 10 dividingSpace I
13 51 11 firstColon I
14 51 12 secondColon I
15 51 13 period I
5 51 14 formatError Ljava/lang/String;
16 51 15 parsedDate Z
28 51 16 len I
34 44 17 nanoPrecision I
39 44 18 tmpNanos I
MethodParameters:
Name Flags
s
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=12, args_size=1
start local 0 // java.sql.Timestamp this
0: .line 267
aload 0 /* this */
invokespecial java.util.Date.getYear:()I
sipush 1900
iadd
istore 1 /* year */
start local 1 // int year
1: .line 268
aload 0 /* this */
invokespecial java.util.Date.getMonth:()I
iconst_1
iadd
istore 2 /* month */
start local 2 // int month
2: .line 269
aload 0 /* this */
invokespecial java.util.Date.getDate:()I
istore 3 /* day */
start local 3 // int day
3: .line 270
aload 0 /* this */
invokespecial java.util.Date.getHours:()I
istore 4 /* hour */
start local 4 // int hour
4: .line 271
aload 0 /* this */
invokespecial java.util.Date.getMinutes:()I
istore 5 /* minute */
start local 5 // int minute
5: .line 272
aload 0 /* this */
invokespecial java.util.Date.getSeconds:()I
istore 6 /* second */
start local 6 // int second
6: .line 274
iconst_0
istore 7 /* trailingZeros */
start local 7 // int trailingZeros
7: .line 275
aload 0 /* this */
getfield java.sql.Timestamp.nanos:I
istore 8 /* tmpNanos */
start local 8 // int tmpNanos
8: .line 276
iload 8 /* tmpNanos */
ifne 13
9: .line 277
bipush 8
istore 7 /* trailingZeros */
10: .line 278
goto 14
11: .line 280
StackMap locals: java.sql.Timestamp int int int int int int int int
StackMap stack:
iload 8 /* tmpNanos */
bipush 10
idiv
istore 8 /* tmpNanos */
12: .line 281
iinc 7 /* trailingZeros */ 1
13: .line 279
StackMap locals:
StackMap stack:
iload 8 /* tmpNanos */
bipush 10
irem
ifeq 11
14: .line 287
StackMap locals:
StackMap stack:
sipush 10000
istore 9 /* count */
start local 9 // int count
15: .line 288
iconst_4
istore 10 /* yearSize */
start local 10 // int yearSize
16: .line 290
StackMap locals: int int
StackMap stack:
iload 1 /* year */
iload 9 /* count */
if_icmpge 18
17: .line 291
goto 22
18: .line 293
StackMap locals:
StackMap stack:
iinc 10 /* yearSize */ 1
19: .line 294
iload 9 /* count */
bipush 10
imul
istore 9 /* count */
20: .line 295
iload 9 /* count */
ldc 1000000000
21: .line 289
if_icmplt 16
22: .line 297
StackMap locals:
StackMap stack:
bipush 25
iload 10 /* yearSize */
iadd
iload 7 /* trailingZeros */
isub
newarray 5
astore 11 /* buf */
start local 11 // char[] buf
23: .line 298
iload 1 /* year */
aload 11 /* buf */
iconst_0
iload 10 /* yearSize */
invokestatic java.sql.Date.formatDecimalInt:(I[CII)V
24: .line 299
aload 11 /* buf */
iload 10 /* yearSize */
bipush 45
castore
25: .line 300
iload 2 /* month */
aload 11 /* buf */
iload 10 /* yearSize */
iconst_1
iadd
iconst_2
invokestatic java.sql.Date.formatDecimalInt:(I[CII)V
26: .line 301
aload 11 /* buf */
iload 10 /* yearSize */
iconst_3
iadd
bipush 45
castore
27: .line 302
iload 3 /* day */
aload 11 /* buf */
iload 10 /* yearSize */
iconst_4
iadd
iconst_2
invokestatic java.sql.Date.formatDecimalInt:(I[CII)V
28: .line 303
aload 11 /* buf */
iload 10 /* yearSize */
bipush 6
iadd
bipush 32
castore
29: .line 304
iload 4 /* hour */
aload 11 /* buf */
iload 10 /* yearSize */
bipush 7
iadd
iconst_2
invokestatic java.sql.Date.formatDecimalInt:(I[CII)V
30: .line 305
aload 11 /* buf */
iload 10 /* yearSize */
bipush 9
iadd
bipush 58
castore
31: .line 306
iload 5 /* minute */
aload 11 /* buf */
iload 10 /* yearSize */
bipush 10
iadd
iconst_2
invokestatic java.sql.Date.formatDecimalInt:(I[CII)V
32: .line 307
aload 11 /* buf */
iload 10 /* yearSize */
bipush 12
iadd
bipush 58
castore
33: .line 308
iload 6 /* second */
aload 11 /* buf */
iload 10 /* yearSize */
bipush 13
iadd
iconst_2
invokestatic java.sql.Date.formatDecimalInt:(I[CII)V
34: .line 309
aload 11 /* buf */
iload 10 /* yearSize */
bipush 15
iadd
bipush 46
castore
35: .line 310
iload 8 /* tmpNanos */
aload 11 /* buf */
iload 10 /* yearSize */
bipush 16
iadd
bipush 9
iload 7 /* trailingZeros */
isub
invokestatic java.sql.Date.formatDecimalInt:(I[CII)V
36: .line 312
new java.lang.String
dup
aload 11 /* buf */
invokespecial java.lang.String.<init>:([C)V
areturn
end local 11 // char[] buf
end local 10 // int yearSize
end local 9 // int count
end local 8 // int tmpNanos
end local 7 // int trailingZeros
end local 6 // int second
end local 5 // int minute
end local 4 // int hour
end local 3 // int day
end local 2 // int month
end local 1 // int year
end local 0 // java.sql.Timestamp this
LocalVariableTable:
Start End Slot Name Signature
0 37 0 this Ljava/sql/Timestamp;
1 37 1 year I
2 37 2 month I
3 37 3 day I
4 37 4 hour I
5 37 5 minute I
6 37 6 second I
7 37 7 trailingZeros I
8 37 8 tmpNanos I
15 37 9 count I
16 37 10 yearSize I
23 37 11 buf [C
public int getNanos();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 // java.sql.Timestamp this
0: .line 322
aload 0 /* this */
getfield java.sql.Timestamp.nanos:I
ireturn
end local 0 // java.sql.Timestamp this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/sql/Timestamp;
public void setNanos(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 // java.sql.Timestamp this
start local 1 // int n
0: .line 335
iload 1 /* n */
ldc 999999999
if_icmpgt 1
iload 1 /* n */
ifge 2
1: .line 336
StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "nanos > 999999999 or < 0"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: .line 338
StackMap locals:
StackMap stack:
aload 0 /* this */
iload 1 /* n */
putfield java.sql.Timestamp.nanos:I
3: .line 339
return
end local 1 // int n
end local 0 // java.sql.Timestamp this
LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/sql/Timestamp;
0 4 1 n I
MethodParameters:
Name Flags
n
public boolean equals(java.sql.Timestamp);
descriptor: (Ljava/sql/Timestamp;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 // java.sql.Timestamp this
start local 1 // java.sql.Timestamp ts
0: .line 351
aload 0 /* this */
aload 1 /* ts */
invokespecial java.util.Date.equals:(Ljava/lang/Object;)Z
ifeq 4
1: .line 352
aload 0 /* this */
getfield java.sql.Timestamp.nanos:I
aload 1 /* ts */
getfield java.sql.Timestamp.nanos:I
if_icmpne 3
2: .line 353
iconst_1
ireturn
3: .line 355
StackMap locals:
StackMap stack:
iconst_0
ireturn
4: .line 358
StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 // java.sql.Timestamp ts
end local 0 // java.sql.Timestamp this
LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/sql/Timestamp;
0 5 1 ts Ljava/sql/Timestamp;
MethodParameters:
Name Flags
ts
public boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 // java.sql.Timestamp this
start local 1 // java.lang.Object ts
0: .line 381
aload 1 /* ts */
instanceof java.sql.Timestamp
ifeq 2
1: .line 382
aload 0 /* this */
aload 1 /* ts */
checkcast java.sql.Timestamp
invokevirtual java.sql.Timestamp.equals:(Ljava/sql/Timestamp;)Z
ireturn
2: .line 384
StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 // java.lang.Object ts
end local 0 // java.sql.Timestamp this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/sql/Timestamp;
0 3 1 ts Ljava/lang/Object;
MethodParameters:
Name Flags
ts
public boolean before(java.sql.Timestamp);
descriptor: (Ljava/sql/Timestamp;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 // java.sql.Timestamp this
start local 1 // java.sql.Timestamp ts
0: .line 397
aload 0 /* this */
aload 1 /* ts */
invokevirtual java.sql.Timestamp.compareTo:(Ljava/sql/Timestamp;)I
ifge 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 // java.sql.Timestamp ts
end local 0 // java.sql.Timestamp this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/sql/Timestamp;
0 2 1 ts Ljava/sql/Timestamp;
MethodParameters:
Name Flags
ts
public boolean after(java.sql.Timestamp);
descriptor: (Ljava/sql/Timestamp;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 // java.sql.Timestamp this
start local 1 // java.sql.Timestamp ts
0: .line 409
aload 0 /* this */
aload 1 /* ts */
invokevirtual java.sql.Timestamp.compareTo:(Ljava/sql/Timestamp;)I
ifle 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 // java.sql.Timestamp ts
end local 0 // java.sql.Timestamp this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/sql/Timestamp;
0 2 1 ts Ljava/sql/Timestamp;
MethodParameters:
Name Flags
ts
public int compareTo(java.sql.Timestamp);
descriptor: (Ljava/sql/Timestamp;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=7, args_size=2
start local 0 // java.sql.Timestamp this
start local 1 // java.sql.Timestamp ts
0: .line 426
aload 0 /* this */
invokevirtual java.sql.Timestamp.getTime:()J
lstore 2 /* thisTime */
start local 2 // long thisTime
1: .line 427
aload 1 /* ts */
invokevirtual java.sql.Timestamp.getTime:()J
lstore 4 /* anotherTime */
start local 4 // long anotherTime
2: .line 428
lload 2 /* thisTime */
lload 4 /* anotherTime */
lcmp
ifge 3
iconst_m1
goto 5
StackMap locals: long long
StackMap stack:
3: lload 2 /* thisTime */
lload 4 /* anotherTime */
lcmp
ifne 4
iconst_0
goto 5
StackMap locals:
StackMap stack:
4: iconst_1
StackMap locals:
StackMap stack: int
5: istore 6 /* i */
start local 6 // int i
6: .line 429
iload 6 /* i */
ifne 11
7: .line 430
aload 0 /* this */
getfield java.sql.Timestamp.nanos:I
aload 1 /* ts */
getfield java.sql.Timestamp.nanos:I
if_icmple 9
8: .line 431
iconst_1
ireturn
9: .line 432
StackMap locals: int
StackMap stack:
aload 0 /* this */
getfield java.sql.Timestamp.nanos:I
aload 1 /* ts */
getfield java.sql.Timestamp.nanos:I
if_icmpge 11
10: .line 433
iconst_m1
ireturn
11: .line 436
StackMap locals:
StackMap stack:
iload 6 /* i */
ireturn
end local 6 // int i
end local 4 // long anotherTime
end local 2 // long thisTime
end local 1 // java.sql.Timestamp ts
end local 0 // java.sql.Timestamp this
LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljava/sql/Timestamp;
0 12 1 ts Ljava/sql/Timestamp;
1 12 2 thisTime J
2 12 4 anotherTime J
6 12 6 i I
MethodParameters:
Name Flags
ts
public int compareTo(java.util.Date);
descriptor: (Ljava/util/Date;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 // java.sql.Timestamp this
start local 1 // java.util.Date o
0: .line 454
aload 1 /* o */
instanceof java.sql.Timestamp
ifeq 2
1: .line 458
aload 0 /* this */
aload 1 /* o */
checkcast java.sql.Timestamp
invokevirtual java.sql.Timestamp.compareTo:(Ljava/sql/Timestamp;)I
ireturn
2: .line 462
StackMap locals:
StackMap stack:
new java.sql.Timestamp
dup
aload 1 /* o */
invokevirtual java.util.Date.getTime:()J
invokespecial java.sql.Timestamp.<init>:(J)V
astore 2 /* ts */
start local 2 // java.sql.Timestamp ts
3: .line 463
aload 0 /* this */
aload 2 /* ts */
invokevirtual java.sql.Timestamp.compareTo:(Ljava/sql/Timestamp;)I
ireturn
end local 2 // java.sql.Timestamp ts
end local 1 // java.util.Date o
end local 0 // java.sql.Timestamp this
LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/sql/Timestamp;
0 4 1 o Ljava/util/Date;
3 4 2 ts Ljava/sql/Timestamp;
MethodParameters:
Name Flags
o
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 // java.sql.Timestamp this
0: .line 476
aload 0 /* this */
invokespecial java.util.Date.hashCode:()I
ireturn
end local 0 // java.sql.Timestamp this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/sql/Timestamp;
public static java.sql.Timestamp valueOf(java.time.LocalDateTime);
descriptor: (Ljava/time/LocalDateTime;)Ljava/sql/Timestamp;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=9, locals=1, args_size=1
start local 0 // java.time.LocalDateTime dateTime
0: .line 498
new java.sql.Timestamp
dup
aload 0 /* dateTime */
invokevirtual java.time.LocalDateTime.getYear:()I
sipush 1900
isub
1: .line 499
aload 0 /* dateTime */
invokevirtual java.time.LocalDateTime.getMonthValue:()I
iconst_1
isub
2: .line 500
aload 0 /* dateTime */
invokevirtual java.time.LocalDateTime.getDayOfMonth:()I
3: .line 501
aload 0 /* dateTime */
invokevirtual java.time.LocalDateTime.getHour:()I
4: .line 502
aload 0 /* dateTime */
invokevirtual java.time.LocalDateTime.getMinute:()I
5: .line 503
aload 0 /* dateTime */
invokevirtual java.time.LocalDateTime.getSecond:()I
6: .line 504
aload 0 /* dateTime */
invokevirtual java.time.LocalDateTime.getNano:()I
7: .line 498
invokespecial java.sql.Timestamp.<init>:(IIIIIII)V
areturn
end local 0 // java.time.LocalDateTime dateTime
LocalVariableTable:
Start End Slot Name Signature
0 8 0 dateTime Ljava/time/LocalDateTime;
MethodParameters:
Name Flags
dateTime
public java.time.LocalDateTime toLocalDateTime();
descriptor: ()Ljava/time/LocalDateTime;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=1, args_size=1
start local 0 // java.sql.Timestamp this
0: .line 519
aload 0 /* this */
invokevirtual java.sql.Timestamp.getYear:()I
sipush 1900
iadd
1: .line 520
aload 0 /* this */
invokevirtual java.sql.Timestamp.getMonth:()I
iconst_1
iadd
2: .line 521
aload 0 /* this */
invokevirtual java.sql.Timestamp.getDate:()I
3: .line 522
aload 0 /* this */
invokevirtual java.sql.Timestamp.getHours:()I
4: .line 523
aload 0 /* this */
invokevirtual java.sql.Timestamp.getMinutes:()I
5: .line 524
aload 0 /* this */
invokevirtual java.sql.Timestamp.getSeconds:()I
6: .line 525
aload 0 /* this */
invokevirtual java.sql.Timestamp.getNanos:()I
7: .line 519
invokestatic java.time.LocalDateTime.of:(IIIIIII)Ljava/time/LocalDateTime;
areturn
end local 0 // java.sql.Timestamp this
LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljava/sql/Timestamp;
public static java.sql.Timestamp from(java.time.Instant);
descriptor: (Ljava/time/Instant;)Ljava/sql/Timestamp;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=2, args_size=1
start local 0 // java.time.Instant instant
0: .line 545
new java.sql.Timestamp
dup
aload 0 /* instant */
invokevirtual java.time.Instant.getEpochSecond:()J
ldc 1000
lmul
invokespecial java.sql.Timestamp.<init>:(J)V
astore 1 /* stamp */
start local 1 // java.sql.Timestamp stamp
1: .line 546
aload 1 /* stamp */
aload 0 /* instant */
invokevirtual java.time.Instant.getNano:()I
putfield java.sql.Timestamp.nanos:I
2: .line 547
aload 1 /* stamp */
3: areturn
end local 1 // java.sql.Timestamp stamp
4: .line 548
StackMap locals:
StackMap stack: java.lang.ArithmeticException
astore 1 /* ex */
start local 1 // java.lang.ArithmeticException ex
5: .line 549
new java.lang.IllegalArgumentException
dup
aload 1 /* ex */
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 1 // java.lang.ArithmeticException ex
end local 0 // java.time.Instant instant
LocalVariableTable:
Start End Slot Name Signature
0 6 0 instant Ljava/time/Instant;
1 4 1 stamp Ljava/sql/Timestamp;
5 6 1 ex Ljava/lang/ArithmeticException;
Exception table:
from to target type
0 3 4 Class java.lang.ArithmeticException
MethodParameters:
Name Flags
instant
public java.time.Instant toInstant();
descriptor: ()Ljava/time/Instant;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 // java.sql.Timestamp this
0: .line 564
aload 0 /* this */
invokespecial java.util.Date.getTime:()J
ldc 1000
ldiv
aload 0 /* this */
getfield java.sql.Timestamp.nanos:I
i2l
invokestatic java.time.Instant.ofEpochSecond:(JJ)Ljava/time/Instant;
areturn
end local 0 // java.sql.Timestamp this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/sql/Timestamp;
}
SourceFile: "Timestamp.java"