class org.apache.juli.DateFormatCache$Cache
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.apache.juli.DateFormatCache$Cache
super_class: java.lang.Object
{
private long previousSeconds;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private java.lang.String previousFormat;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private long first;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private long last;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private int offset;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private final java.util.Date currentDate;
descriptor: Ljava/util/Date;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private java.lang.String[] cache;
descriptor: [Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.text.SimpleDateFormat formatter;
descriptor: Ljava/text/SimpleDateFormat;
flags: (0x0002) ACC_PRIVATE
private org.apache.juli.DateFormatCache$Cache parent;
descriptor: Lorg/apache/juli/DateFormatCache$Cache;
flags: (0x0002) ACC_PRIVATE
final org.apache.juli.DateFormatCache this$0;
descriptor: Lorg/apache/juli/DateFormatCache;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
private void <init>(org.apache.juli.DateFormatCache, org.apache.juli.DateFormatCache$Cache);
descriptor: (Lorg/apache/juli/DateFormatCache;Lorg/apache/juli/DateFormatCache$Cache;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=3
start local 0 // org.apache.juli.DateFormatCache$Cache this
start local 2 // org.apache.juli.DateFormatCache$Cache parent
0: .line 123
aload 0 /* this */
aload 1
putfield org.apache.juli.DateFormatCache$Cache.this$0:Lorg/apache/juli/DateFormatCache;
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 105
aload 0 /* this */
ldc -9223372036854775808
putfield org.apache.juli.DateFormatCache$Cache.previousSeconds:J
2: .line 107
aload 0 /* this */
ldc ""
putfield org.apache.juli.DateFormatCache$Cache.previousFormat:Ljava/lang/String;
3: .line 110
aload 0 /* this */
ldc -9223372036854775808
putfield org.apache.juli.DateFormatCache$Cache.first:J
4: .line 112
aload 0 /* this */
ldc -9223372036854775808
putfield org.apache.juli.DateFormatCache$Cache.last:J
5: .line 114
aload 0 /* this */
iconst_0
putfield org.apache.juli.DateFormatCache$Cache.offset:I
6: .line 116
aload 0 /* this */
new java.util.Date
dup
invokespecial java.util.Date.<init>:()V
putfield org.apache.juli.DateFormatCache$Cache.currentDate:Ljava/util/Date;
7: .line 121
aload 0 /* this */
aconst_null
putfield org.apache.juli.DateFormatCache$Cache.parent:Lorg/apache/juli/DateFormatCache$Cache;
8: .line 124
aload 0 /* this */
aload 1
getfield org.apache.juli.DateFormatCache.cacheSize:I
anewarray java.lang.String
putfield org.apache.juli.DateFormatCache$Cache.cache:[Ljava/lang/String;
9: .line 125
aload 0 /* this */
new java.text.SimpleDateFormat
dup
aload 1
getfield org.apache.juli.DateFormatCache.format:Ljava/lang/String;
getstatic java.util.Locale.US:Ljava/util/Locale;
invokespecial java.text.SimpleDateFormat.<init>:(Ljava/lang/String;Ljava/util/Locale;)V
putfield org.apache.juli.DateFormatCache$Cache.formatter:Ljava/text/SimpleDateFormat;
10: .line 126
aload 0 /* this */
getfield org.apache.juli.DateFormatCache$Cache.formatter:Ljava/text/SimpleDateFormat;
invokestatic java.util.TimeZone.getDefault:()Ljava/util/TimeZone;
invokevirtual java.text.SimpleDateFormat.setTimeZone:(Ljava/util/TimeZone;)V
11: .line 127
aload 0 /* this */
aload 2 /* parent */
putfield org.apache.juli.DateFormatCache$Cache.parent:Lorg/apache/juli/DateFormatCache$Cache;
12: .line 128
return
end local 2 // org.apache.juli.DateFormatCache$Cache parent
end local 0 // org.apache.juli.DateFormatCache$Cache this
LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/apache/juli/DateFormatCache$Cache;
0 13 2 parent Lorg/apache/juli/DateFormatCache$Cache;
MethodParameters:
Name Flags
this$0 final
parent
private java.lang.String getFormat(long);
descriptor: (J)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=7, args_size=2
start local 0 // org.apache.juli.DateFormatCache$Cache this
start local 1 // long time
0: .line 132
lload 1 /* time */
ldc 1000
ldiv
lstore 3 /* seconds */
start local 3 // long seconds
1: .line 136
lload 3 /* seconds */
aload 0 /* this */
getfield org.apache.juli.DateFormatCache$Cache.previousSeconds:J
lcmp
ifne 3
2: .line 137
aload 0 /* this */
getfield org.apache.juli.DateFormatCache$Cache.previousFormat:Ljava/lang/String;
areturn
3: .line 141
StackMap locals: long
StackMap stack:
aload 0 /* this */
lload 3 /* seconds */
putfield org.apache.juli.DateFormatCache$Cache.previousSeconds:J
4: .line 142
aload 0 /* this */
getfield org.apache.juli.DateFormatCache$Cache.offset:I
lload 3 /* seconds */
aload 0 /* this */
getfield org.apache.juli.DateFormatCache$Cache.first:J
lsub
l2i
iadd
aload 0 /* this */
getfield org.apache.juli.DateFormatCache$Cache.this$0:Lorg/apache/juli/DateFormatCache;
getfield org.apache.juli.DateFormatCache.cacheSize:I
irem
istore 5 /* index */
start local 5 // int index
5: .line 143
iload 5 /* index */
ifge 7
6: .line 144
iload 5 /* index */
aload 0 /* this */
getfield org.apache.juli.DateFormatCache$Cache.this$0:Lorg/apache/juli/DateFormatCache;
getfield org.apache.juli.DateFormatCache.cacheSize:I
iadd
istore 5 /* index */
7: .line 146
StackMap locals: int
StackMap stack:
lload 3 /* seconds */
aload 0 /* this */
getfield org.apache.juli.DateFormatCache$Cache.first:J
lcmp
iflt 11
lload 3 /* seconds */
aload 0 /* this */
getfield org.apache.juli.DateFormatCache$Cache.last:J
lcmp
ifgt 11
8: .line 147
aload 0 /* this */
getfield org.apache.juli.DateFormatCache$Cache.cache:[Ljava/lang/String;
iload 5 /* index */
aaload
ifnull 41
9: .line 149
aload 0 /* this */
aload 0 /* this */
getfield org.apache.juli.DateFormatCache$Cache.cache:[Ljava/lang/String;
iload 5 /* index */
aaload
putfield org.apache.juli.DateFormatCache$Cache.previousFormat:Ljava/lang/String;
10: .line 150
aload 0 /* this */
getfield org.apache.juli.DateFormatCache$Cache.previousFormat:Ljava/lang/String;
areturn
11: .line 154
StackMap locals:
StackMap stack:
lload 3 /* seconds */
aload 0 /* this */
getfield org.apache.juli.DateFormatCache$Cache.last:J
aload 0 /* this */
getfield org.apache.juli.DateFormatCache$Cache.this$0:Lorg/apache/juli/DateFormatCache;
getfield org.apache.juli.DateFormatCache.cacheSize:I
i2l
ladd
lcmp
ifge 12
lload 3 /* seconds */
aload 0 /* this */
getfield org.apache.juli.DateFormatCache$Cache.first:J
aload 0 /* this */
getfield org.apache.juli.DateFormatCache$Cache.this$0:Lorg/apache/juli/DateFormatCache;
getfield org.apache.juli.DateFormatCache.cacheSize:I
i2l
lsub
lcmp
ifgt 22
12: .line 155
StackMap locals:
StackMap stack:
aload 0 /* this */
lload 3 /* seconds */
putfield org.apache.juli.DateFormatCache$Cache.first:J
13: .line 156
aload 0 /* this */
aload 0 /* this */
getfield org.apache.juli.DateFormatCache$Cache.first:J
aload 0 /* this */
getfield org.apache.juli.DateFormatCache$Cache.this$0:Lorg/apache/juli/DateFormatCache;
getfield org.apache.juli.DateFormatCache.cacheSize:I
i2l
ladd
lconst_1
lsub
putfield org.apache.juli.DateFormatCache$Cache.last:J
14: .line 157
iconst_0
istore 5 /* index */
15: .line 158
aload 0 /* this */
iconst_0
putfield org.apache.juli.DateFormatCache$Cache.offset:I
16: .line 159
iconst_1
istore 6 /* i */
start local 6 // int i
17: goto 20
18: .line 160
StackMap locals: int
StackMap stack:
aload 0 /* this */
getfield org.apache.juli.DateFormatCache$Cache.cache:[Ljava/lang/String;
iload 6 /* i */
aconst_null
aastore
19: .line 159
iinc 6 /* i */ 1
StackMap locals:
StackMap stack:
20: iload 6 /* i */
aload 0 /* this */
getfield org.apache.juli.DateFormatCache$Cache.this$0:Lorg/apache/juli/DateFormatCache;
getfield org.apache.juli.DateFormatCache.cacheSize:I
if_icmplt 18
end local 6 // int i
21: .line 162
goto 41
StackMap locals:
StackMap stack:
22: lload 3 /* seconds */
aload 0 /* this */
getfield org.apache.juli.DateFormatCache$Cache.last:J
lcmp
ifle 32
23: .line 163
iconst_1
istore 6 /* i */
start local 6 // int i
24: goto 27
25: .line 164
StackMap locals: int
StackMap stack:
aload 0 /* this */
getfield org.apache.juli.DateFormatCache$Cache.cache:[Ljava/lang/String;
iload 5 /* index */
aload 0 /* this */
getfield org.apache.juli.DateFormatCache$Cache.this$0:Lorg/apache/juli/DateFormatCache;
getfield org.apache.juli.DateFormatCache.cacheSize:I
iadd
iload 6 /* i */
isub
aload 0 /* this */
getfield org.apache.juli.DateFormatCache$Cache.this$0:Lorg/apache/juli/DateFormatCache;
getfield org.apache.juli.DateFormatCache.cacheSize:I
irem
aconst_null
aastore
26: .line 163
iinc 6 /* i */ 1
StackMap locals:
StackMap stack:
27: iload 6 /* i */
i2l
lload 3 /* seconds */
aload 0 /* this */
getfield org.apache.juli.DateFormatCache$Cache.last:J
lsub
lcmp
iflt 25
end local 6 // int i
28: .line 166
aload 0 /* this */
lload 3 /* seconds */
aload 0 /* this */
getfield org.apache.juli.DateFormatCache$Cache.this$0:Lorg/apache/juli/DateFormatCache;
getfield org.apache.juli.DateFormatCache.cacheSize:I
iconst_1
isub
i2l
lsub
putfield org.apache.juli.DateFormatCache$Cache.first:J
29: .line 167
aload 0 /* this */
lload 3 /* seconds */
putfield org.apache.juli.DateFormatCache$Cache.last:J
30: .line 168
aload 0 /* this */
iload 5 /* index */
iconst_1
iadd
aload 0 /* this */
getfield org.apache.juli.DateFormatCache$Cache.this$0:Lorg/apache/juli/DateFormatCache;
getfield org.apache.juli.DateFormatCache.cacheSize:I
irem
putfield org.apache.juli.DateFormatCache$Cache.offset:I
31: .line 169
goto 41
StackMap locals:
StackMap stack:
32: lload 3 /* seconds */
aload 0 /* this */
getfield org.apache.juli.DateFormatCache$Cache.first:J
lcmp
ifge 41
33: .line 170
iconst_1
istore 6 /* i */
start local 6 // int i
34: goto 37
35: .line 171
StackMap locals: int
StackMap stack:
aload 0 /* this */
getfield org.apache.juli.DateFormatCache$Cache.cache:[Ljava/lang/String;
iload 5 /* index */
iload 6 /* i */
iadd
aload 0 /* this */
getfield org.apache.juli.DateFormatCache$Cache.this$0:Lorg/apache/juli/DateFormatCache;
getfield org.apache.juli.DateFormatCache.cacheSize:I
irem
aconst_null
aastore
36: .line 170
iinc 6 /* i */ 1
StackMap locals:
StackMap stack:
37: iload 6 /* i */
i2l
aload 0 /* this */
getfield org.apache.juli.DateFormatCache$Cache.first:J
lload 3 /* seconds */
lsub
lcmp
iflt 35
end local 6 // int i
38: .line 173
aload 0 /* this */
lload 3 /* seconds */
putfield org.apache.juli.DateFormatCache$Cache.first:J
39: .line 174
aload 0 /* this */
lload 3 /* seconds */
aload 0 /* this */
getfield org.apache.juli.DateFormatCache$Cache.this$0:Lorg/apache/juli/DateFormatCache;
getfield org.apache.juli.DateFormatCache.cacheSize:I
iconst_1
isub
i2l
ladd
putfield org.apache.juli.DateFormatCache$Cache.last:J
40: .line 175
aload 0 /* this */
iload 5 /* index */
putfield org.apache.juli.DateFormatCache$Cache.offset:I
41: .line 180
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield org.apache.juli.DateFormatCache$Cache.parent:Lorg/apache/juli/DateFormatCache$Cache;
ifnull 48
42: .line 181
aload 0 /* this */
getfield org.apache.juli.DateFormatCache$Cache.parent:Lorg/apache/juli/DateFormatCache$Cache;
dup
astore 6
monitorenter
43: .line 182
aload 0 /* this */
aload 0 /* this */
getfield org.apache.juli.DateFormatCache$Cache.parent:Lorg/apache/juli/DateFormatCache$Cache;
lload 1 /* time */
invokevirtual org.apache.juli.DateFormatCache$Cache.getFormat:(J)Ljava/lang/String;
putfield org.apache.juli.DateFormatCache$Cache.previousFormat:Ljava/lang/String;
44: .line 181
aload 6
monitorexit
45: goto 50
StackMap locals: org.apache.juli.DateFormatCache$Cache long long int org.apache.juli.DateFormatCache$Cache
StackMap stack: java.lang.Throwable
46: aload 6
monitorexit
47: athrow
48: .line 185
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield org.apache.juli.DateFormatCache$Cache.currentDate:Ljava/util/Date;
lload 1 /* time */
invokevirtual java.util.Date.setTime:(J)V
49: .line 186
aload 0 /* this */
aload 0 /* this */
getfield org.apache.juli.DateFormatCache$Cache.formatter:Ljava/text/SimpleDateFormat;
aload 0 /* this */
getfield org.apache.juli.DateFormatCache$Cache.currentDate:Ljava/util/Date;
invokevirtual java.text.SimpleDateFormat.format:(Ljava/util/Date;)Ljava/lang/String;
putfield org.apache.juli.DateFormatCache$Cache.previousFormat:Ljava/lang/String;
50: .line 188
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield org.apache.juli.DateFormatCache$Cache.cache:[Ljava/lang/String;
iload 5 /* index */
aload 0 /* this */
getfield org.apache.juli.DateFormatCache$Cache.previousFormat:Ljava/lang/String;
aastore
51: .line 189
aload 0 /* this */
getfield org.apache.juli.DateFormatCache$Cache.previousFormat:Ljava/lang/String;
areturn
end local 5 // int index
end local 3 // long seconds
end local 1 // long time
end local 0 // org.apache.juli.DateFormatCache$Cache this
LocalVariableTable:
Start End Slot Name Signature
0 52 0 this Lorg/apache/juli/DateFormatCache$Cache;
0 52 1 time J
1 52 3 seconds J
5 52 5 index I
17 21 6 i I
24 28 6 i I
34 38 6 i I
Exception table:
from to target type
43 45 46 any
46 47 46 any
MethodParameters:
Name Flags
time
}
SourceFile: "DateFormatCache.java"
NestHost: org.apache.juli.DateFormatCache
InnerClasses:
private Cache = org.apache.juli.DateFormatCache$Cache of org.apache.juli.DateFormatCache