public final class sun.util.calendar.ZoneInfoFile
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: sun.util.calendar.ZoneInfoFile
super_class: java.lang.Object
{
private static java.lang.String versionId;
descriptor: Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static final java.util.Map<java.lang.String, sun.util.calendar.ZoneInfo> zones;
descriptor: Ljava/util/Map;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/String;Lsun/util/calendar/ZoneInfo;>;
private static java.util.Map<java.lang.String, java.lang.String> aliases;
descriptor: Ljava/util/Map;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
private static byte[][] ruleArray;
descriptor: [[B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static java.lang.String[] regions;
descriptor: [Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static int[] indices;
descriptor: [I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static final boolean USE_OLDMAPPING;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static java.lang.String[][] oldMappings;
descriptor: [[Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static final long UTC1900;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -2208988800
private static final long UTC2037;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2145916799
private static final long LDT2037;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2114380800
private static final long CURRT;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static final int SECONDS_PER_DAY;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 86400
static final int DAYS_PER_CYCLE;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 146097
static final long DAYS_0000_TO_1970;
descriptor: J
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 719528
private static final int[] toCalendarDOW;
descriptor: [I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int[] toSTZTime;
descriptor: [I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final long OFFSET_MASK;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 15
private static final long DST_MASK;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 240
private static final int DST_NSHIFT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 4
private static final int TRANSITION_NSHIFT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 12
private static final int LASTYEAR;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2037
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=7, locals=1, args_size=0
0: .line 209
new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putstatic sun.util.calendar.ZoneInfoFile.zones:Ljava/util/Map;
1: .line 210
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putstatic sun.util.calendar.ZoneInfoFile.aliases:Ljava/util/Map;
2: .line 219
bipush 25
anewarray java.lang.String[]
dup
iconst_0
3: .line 220
iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "ACT"
aastore
dup
iconst_1
ldc "Australia/Darwin"
aastore
aastore
dup
iconst_1
4: .line 221
iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "AET"
aastore
dup
iconst_1
ldc "Australia/Sydney"
aastore
aastore
dup
iconst_2
5: .line 222
iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "AGT"
aastore
dup
iconst_1
ldc "America/Argentina/Buenos_Aires"
aastore
aastore
dup
iconst_3
6: .line 223
iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "ART"
aastore
dup
iconst_1
ldc "Africa/Cairo"
aastore
aastore
dup
iconst_4
7: .line 224
iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "AST"
aastore
dup
iconst_1
ldc "America/Anchorage"
aastore
aastore
dup
iconst_5
8: .line 225
iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "BET"
aastore
dup
iconst_1
ldc "America/Sao_Paulo"
aastore
aastore
dup
bipush 6
9: .line 226
iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "BST"
aastore
dup
iconst_1
ldc "Asia/Dhaka"
aastore
aastore
dup
bipush 7
10: .line 227
iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "CAT"
aastore
dup
iconst_1
ldc "Africa/Harare"
aastore
aastore
dup
bipush 8
11: .line 228
iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "CNT"
aastore
dup
iconst_1
ldc "America/St_Johns"
aastore
aastore
dup
bipush 9
12: .line 229
iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "CST"
aastore
dup
iconst_1
ldc "America/Chicago"
aastore
aastore
dup
bipush 10
13: .line 230
iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "CTT"
aastore
dup
iconst_1
ldc "Asia/Shanghai"
aastore
aastore
dup
bipush 11
14: .line 231
iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "EAT"
aastore
dup
iconst_1
ldc "Africa/Addis_Ababa"
aastore
aastore
dup
bipush 12
15: .line 232
iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "ECT"
aastore
dup
iconst_1
ldc "Europe/Paris"
aastore
aastore
dup
bipush 13
16: .line 233
iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "IET"
aastore
dup
iconst_1
ldc "America/Indiana/Indianapolis"
aastore
aastore
dup
bipush 14
17: .line 234
iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "IST"
aastore
dup
iconst_1
ldc "Asia/Kolkata"
aastore
aastore
dup
bipush 15
18: .line 235
iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "JST"
aastore
dup
iconst_1
ldc "Asia/Tokyo"
aastore
aastore
dup
bipush 16
19: .line 236
iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "MIT"
aastore
dup
iconst_1
ldc "Pacific/Apia"
aastore
aastore
dup
bipush 17
20: .line 237
iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "NET"
aastore
dup
iconst_1
ldc "Asia/Yerevan"
aastore
aastore
dup
bipush 18
21: .line 238
iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "NST"
aastore
dup
iconst_1
ldc "Pacific/Auckland"
aastore
aastore
dup
bipush 19
22: .line 239
iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "PLT"
aastore
dup
iconst_1
ldc "Asia/Karachi"
aastore
aastore
dup
bipush 20
23: .line 240
iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "PNT"
aastore
dup
iconst_1
ldc "America/Phoenix"
aastore
aastore
dup
bipush 21
24: .line 241
iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "PRT"
aastore
dup
iconst_1
ldc "America/Puerto_Rico"
aastore
aastore
dup
bipush 22
25: .line 242
iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "PST"
aastore
dup
iconst_1
ldc "America/Los_Angeles"
aastore
aastore
dup
bipush 23
26: .line 243
iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "SST"
aastore
dup
iconst_1
ldc "Pacific/Guadalcanal"
aastore
aastore
dup
bipush 24
27: .line 244
iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "VST"
aastore
dup
iconst_1
ldc "Asia/Ho_Chi_Minh"
aastore
aastore
28: .line 219
putstatic sun.util.calendar.ZoneInfoFile.oldMappings:[[Ljava/lang/String;
29: .line 249
new sun.security.action.GetPropertyAction
dup
ldc "sun.timezone.ids.oldmapping"
ldc "false"
invokespecial sun.security.action.GetPropertyAction.<init>:(Ljava/lang/String;Ljava/lang/String;)V
30: .line 248
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.String
31: .line 249
getstatic java.util.Locale.ROOT:Ljava/util/Locale;
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
32: .line 248
astore 0 /* oldmapping */
start local 0 // java.lang.String oldmapping
33: .line 250
aload 0 /* oldmapping */
ldc "yes"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 34
aload 0 /* oldmapping */
ldc "true"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 34
iconst_0
goto 35
StackMap locals: java.lang.String
StackMap stack:
34: iconst_1
StackMap locals:
StackMap stack: int
35: putstatic sun.util.calendar.ZoneInfoFile.USE_OLDMAPPING:Z
36: .line 251
new sun.util.calendar.ZoneInfoFile$1
dup
invokespecial sun.util.calendar.ZoneInfoFile$1.<init>:()V
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
pop
end local 0 // java.lang.String oldmapping
37: .line 410
invokestatic java.lang.System.currentTimeMillis:()J
ldc 1000
ldiv
putstatic sun.util.calendar.ZoneInfoFile.CURRT:J
38: .line 808
bipush 8
newarray 10
dup
iconst_0
39: .line 809
iconst_m1
iastore
dup
iconst_1
40: .line 810
iconst_2
iastore
dup
iconst_2
41: .line 811
iconst_3
iastore
dup
iconst_3
42: .line 812
iconst_4
iastore
dup
iconst_4
43: .line 813
iconst_5
iastore
dup
iconst_5
44: .line 814
bipush 6
iastore
dup
bipush 6
45: .line 815
bipush 7
iastore
dup
bipush 7
46: .line 816
iconst_1
iastore
47: .line 808
putstatic sun.util.calendar.ZoneInfoFile.toCalendarDOW:[I
48: .line 819
iconst_3
newarray 10
dup
iconst_0
49: .line 820
iconst_2
iastore
dup
iconst_2
50: .line 822
iconst_1
iastore
51: .line 819
putstatic sun.util.calendar.ZoneInfoFile.toSTZTime:[I
52: .line 829
return
LocalVariableTable:
Start End Slot Name Signature
33 37 0 oldmapping Ljava/lang/String;
public static java.lang.String[] getZoneIds();
descriptor: ()[Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=4, args_size=0
0: .line 69
getstatic sun.util.calendar.ZoneInfoFile.regions:[Ljava/lang/String;
arraylength
getstatic sun.util.calendar.ZoneInfoFile.oldMappings:[[Ljava/lang/String;
arraylength
iadd
istore 0 /* len */
start local 0 // int len
1: .line 70
getstatic sun.util.calendar.ZoneInfoFile.USE_OLDMAPPING:Z
ifne 3
2: .line 71
iinc 0 /* len */ 3
3: .line 73
StackMap locals: int
StackMap stack:
getstatic sun.util.calendar.ZoneInfoFile.regions:[Ljava/lang/String;
iload 0 /* len */
invokestatic java.util.Arrays.copyOf:([Ljava/lang/Object;I)[Ljava/lang/Object;
checkcast java.lang.String[]
astore 1 /* ids */
start local 1 // java.lang.String[] ids
4: .line 74
getstatic sun.util.calendar.ZoneInfoFile.regions:[Ljava/lang/String;
arraylength
istore 2 /* i */
start local 2 // int i
5: .line 75
getstatic sun.util.calendar.ZoneInfoFile.USE_OLDMAPPING:Z
ifne 9
6: .line 76
aload 1 /* ids */
iload 2 /* i */
iinc 2 /* i */ 1
ldc "EST"
aastore
7: .line 77
aload 1 /* ids */
iload 2 /* i */
iinc 2 /* i */ 1
ldc "HST"
aastore
8: .line 78
aload 1 /* ids */
iload 2 /* i */
iinc 2 /* i */ 1
ldc "MST"
aastore
9: .line 80
StackMap locals: java.lang.String[] int
StackMap stack:
iconst_0
istore 3 /* j */
start local 3 // int j
10: goto 13
11: .line 81
StackMap locals: int
StackMap stack:
aload 1 /* ids */
iload 2 /* i */
iinc 2 /* i */ 1
getstatic sun.util.calendar.ZoneInfoFile.oldMappings:[[Ljava/lang/String;
iload 3 /* j */
aaload
iconst_0
aaload
aastore
12: .line 80
iinc 3 /* j */ 1
StackMap locals:
StackMap stack:
13: iload 3 /* j */
getstatic sun.util.calendar.ZoneInfoFile.oldMappings:[[Ljava/lang/String;
arraylength
if_icmplt 11
end local 3 // int j
14: .line 83
aload 1 /* ids */
areturn
end local 2 // int i
end local 1 // java.lang.String[] ids
end local 0 // int len
LocalVariableTable:
Start End Slot Name Signature
1 15 0 len I
4 15 1 ids [Ljava/lang/String;
5 15 2 i I
10 14 3 j I
public static java.lang.String[] getZoneIds(int);
descriptor: (I)[Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=7, args_size=1
start local 0 // int rawOffset
0: .line 95
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 1 /* ids */
start local 1 // java.util.List ids
1: .line 96
invokestatic sun.util.calendar.ZoneInfoFile.getZoneIds:()[Ljava/lang/String;
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 7
StackMap locals: int java.util.List top int int java.lang.String[]
StackMap stack:
2: aload 5
iload 3
aaload
astore 2 /* id */
start local 2 // java.lang.String id
3: .line 97
aload 2 /* id */
invokestatic sun.util.calendar.ZoneInfoFile.getZoneInfo:(Ljava/lang/String;)Lsun/util/calendar/ZoneInfo;
astore 6 /* zi */
start local 6 // sun.util.calendar.ZoneInfo zi
4: .line 98
aload 6 /* zi */
invokevirtual sun.util.calendar.ZoneInfo.getRawOffset:()I
iload 0 /* rawOffset */
if_icmpne 6
5: .line 99
aload 1 /* ids */
aload 2 /* id */
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 6 // sun.util.calendar.ZoneInfo zi
end local 2 // java.lang.String id
6: .line 96
StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
7: iload 3
iload 4
if_icmplt 2
8: .line 106
aload 1 /* ids */
aload 1 /* ids */
invokeinterface java.util.List.size:()I
anewarray java.lang.String
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.String[]
astore 2 /* list */
start local 2 // java.lang.String[] list
9: .line 107
aload 2 /* list */
invokestatic java.util.Arrays.sort:([Ljava/lang/Object;)V
10: .line 108
aload 2 /* list */
areturn
end local 2 // java.lang.String[] list
end local 1 // java.util.List ids
end local 0 // int rawOffset
LocalVariableTable:
Start End Slot Name Signature
0 11 0 rawOffset I
1 11 1 ids Ljava/util/List<Ljava/lang/String;>;
3 6 2 id Ljava/lang/String;
4 6 6 zi Lsun/util/calendar/ZoneInfo;
9 11 2 list [Ljava/lang/String;
MethodParameters:
Name Flags
rawOffset
public static sun.util.calendar.ZoneInfo getZoneInfo(java.lang.String);
descriptor: (Ljava/lang/String;)Lsun/util/calendar/ZoneInfo;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 // java.lang.String zoneId
0: .line 112
aload 0 /* zoneId */
ifnonnull 2
1: .line 113
aconst_null
areturn
2: .line 115
StackMap locals:
StackMap stack:
aload 0 /* zoneId */
invokestatic sun.util.calendar.ZoneInfoFile.getZoneInfo0:(Ljava/lang/String;)Lsun/util/calendar/ZoneInfo;
astore 1 /* zi */
start local 1 // sun.util.calendar.ZoneInfo zi
3: .line 116
aload 1 /* zi */
ifnull 6
4: .line 117
aload 1 /* zi */
invokevirtual sun.util.calendar.ZoneInfo.clone:()Ljava/lang/Object;
checkcast sun.util.calendar.ZoneInfo
astore 1 /* zi */
5: .line 118
aload 1 /* zi */
aload 0 /* zoneId */
invokevirtual sun.util.calendar.ZoneInfo.setID:(Ljava/lang/String;)V
6: .line 120
StackMap locals: sun.util.calendar.ZoneInfo
StackMap stack:
aload 1 /* zi */
areturn
end local 1 // sun.util.calendar.ZoneInfo zi
end local 0 // java.lang.String zoneId
LocalVariableTable:
Start End Slot Name Signature
0 7 0 zoneId Ljava/lang/String;
3 7 1 zi Lsun/util/calendar/ZoneInfo;
MethodParameters:
Name Flags
zoneId
private static sun.util.calendar.ZoneInfo getZoneInfo0(java.lang.String);
descriptor: (Ljava/lang/String;)Lsun/util/calendar/ZoneInfo;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=6, args_size=1
start local 0 // java.lang.String zoneId
0: .line 125
getstatic sun.util.calendar.ZoneInfoFile.zones:Ljava/util/Map;
aload 0 /* zoneId */
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast sun.util.calendar.ZoneInfo
astore 1 /* zi */
start local 1 // sun.util.calendar.ZoneInfo zi
1: .line 126
aload 1 /* zi */
ifnull 4
2: .line 127
aload 1 /* zi */
3: areturn
4: .line 129
StackMap locals: sun.util.calendar.ZoneInfo
StackMap stack:
aload 0 /* zoneId */
astore 2 /* zid */
start local 2 // java.lang.String zid
5: .line 130
getstatic sun.util.calendar.ZoneInfoFile.aliases:Ljava/util/Map;
aload 0 /* zoneId */
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifeq 7
6: .line 131
getstatic sun.util.calendar.ZoneInfoFile.aliases:Ljava/util/Map;
aload 0 /* zoneId */
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
astore 2 /* zid */
7: .line 133
StackMap locals: java.lang.String
StackMap stack:
getstatic sun.util.calendar.ZoneInfoFile.regions:[Ljava/lang/String;
aload 2 /* zid */
invokestatic java.util.Arrays.binarySearch:([Ljava/lang/Object;Ljava/lang/Object;)I
istore 3 /* index */
start local 3 // int index
8: .line 134
iload 3 /* index */
ifge 10
9: .line 135
aconst_null
areturn
10: .line 137
StackMap locals: int
StackMap stack:
getstatic sun.util.calendar.ZoneInfoFile.ruleArray:[[B
getstatic sun.util.calendar.ZoneInfoFile.indices:[I
iload 3 /* index */
iaload
aaload
astore 4 /* bytes */
start local 4 // byte[] bytes
11: .line 138
new java.io.DataInputStream
dup
new java.io.ByteArrayInputStream
dup
aload 4 /* bytes */
invokespecial java.io.ByteArrayInputStream.<init>:([B)V
invokespecial java.io.DataInputStream.<init>:(Ljava/io/InputStream;)V
astore 5 /* dis */
start local 5 // java.io.DataInputStream dis
12: .line 139
aload 5 /* dis */
aload 2 /* zid */
invokestatic sun.util.calendar.ZoneInfoFile.getZoneInfo:(Ljava/io/DataInput;Ljava/lang/String;)Lsun/util/calendar/ZoneInfo;
astore 1 /* zi */
13: .line 140
getstatic sun.util.calendar.ZoneInfoFile.zones:Ljava/util/Map;
aload 0 /* zoneId */
aload 1 /* zi */
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
14: .line 141
aload 1 /* zi */
15: areturn
end local 5 // java.io.DataInputStream dis
end local 4 // byte[] bytes
end local 3 // int index
end local 2 // java.lang.String zid
end local 1 // sun.util.calendar.ZoneInfo zi
16: .line 142
StackMap locals: java.lang.String
StackMap stack: java.lang.Exception
astore 1 /* ex */
start local 1 // java.lang.Exception ex
17: .line 143
new java.lang.RuntimeException
dup
new java.lang.StringBuilder
dup
ldc "Invalid binary time-zone data: TZDB:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
18: .line 144
aload 0 /* zoneId */
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ", version: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
getstatic sun.util.calendar.ZoneInfoFile.versionId:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 1 /* ex */
19: .line 143
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 1 // java.lang.Exception ex
end local 0 // java.lang.String zoneId
LocalVariableTable:
Start End Slot Name Signature
0 20 0 zoneId Ljava/lang/String;
1 16 1 zi Lsun/util/calendar/ZoneInfo;
5 16 2 zid Ljava/lang/String;
8 16 3 index I
11 16 4 bytes [B
12 16 5 dis Ljava/io/DataInputStream;
17 20 1 ex Ljava/lang/Exception;
Exception table:
from to target type
0 3 16 Class java.lang.Exception
4 9 16 Class java.lang.Exception
10 15 16 Class java.lang.Exception
MethodParameters:
Name Flags
zoneId
public static java.util.Map<java.lang.String, java.lang.String> getAliasMap();
descriptor: ()Ljava/util/Map;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: .line 155
getstatic sun.util.calendar.ZoneInfoFile.aliases:Ljava/util/Map;
invokestatic java.util.Collections.unmodifiableMap:(Ljava/util/Map;)Ljava/util/Map;
areturn
LocalVariableTable:
Start End Slot Name Signature
Signature: ()Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
public static java.lang.String getVersion();
descriptor: ()Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: .line 164
getstatic sun.util.calendar.ZoneInfoFile.versionId:Ljava/lang/String;
areturn
LocalVariableTable:
Start End Slot Name Signature
public static sun.util.calendar.ZoneInfo getCustomTimeZone(java.lang.String, int);
descriptor: (Ljava/lang/String;I)Lsun/util/calendar/ZoneInfo;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=2
start local 0 // java.lang.String originalId
start local 1 // int gmtOffset
0: .line 176
iload 1 /* gmtOffset */
invokestatic sun.util.calendar.ZoneInfoFile.toCustomID:(I)Ljava/lang/String;
astore 2 /* id */
start local 2 // java.lang.String id
1: .line 177
new sun.util.calendar.ZoneInfo
dup
aload 2 /* id */
iload 1 /* gmtOffset */
invokespecial sun.util.calendar.ZoneInfo.<init>:(Ljava/lang/String;I)V
areturn
end local 2 // java.lang.String id
end local 1 // int gmtOffset
end local 0 // java.lang.String originalId
LocalVariableTable:
Start End Slot Name Signature
0 2 0 originalId Ljava/lang/String;
0 2 1 gmtOffset I
1 2 2 id Ljava/lang/String;
MethodParameters:
Name Flags
originalId
gmtOffset
public static java.lang.String toCustomID(int);
descriptor: (I)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=6, args_size=1
start local 0 // int gmtOffset
0: .line 182
iload 0 /* gmtOffset */
ldc 60000
idiv
istore 2 /* offset */
start local 2 // int offset
1: .line 183
iload 2 /* offset */
iflt 4
2: .line 184
bipush 43
istore 1 /* sign */
start local 1 // char sign
3: .line 185
goto 6
end local 1 // char sign
4: .line 186
StackMap locals: int top int
StackMap stack:
bipush 45
istore 1 /* sign */
start local 1 // char sign
5: .line 187
iload 2 /* offset */
ineg
istore 2 /* offset */
6: .line 189
StackMap locals: int int int
StackMap stack:
iload 2 /* offset */
bipush 60
idiv
istore 3 /* hh */
start local 3 // int hh
7: .line 190
iload 2 /* offset */
bipush 60
irem
istore 4 /* mm */
start local 4 // int mm
8: .line 192
bipush 9
newarray 5
dup
iconst_0
bipush 71
castore
dup
iconst_1
bipush 77
castore
dup
iconst_2
bipush 84
castore
dup
iconst_3
iload 1 /* sign */
castore
dup
iconst_4
bipush 48
castore
dup
iconst_5
bipush 48
castore
dup
bipush 6
bipush 58
castore
dup
bipush 7
bipush 48
castore
dup
bipush 8
bipush 48
castore
astore 5 /* buf */
start local 5 // char[] buf
9: .line 193
iload 3 /* hh */
bipush 10
if_icmplt 11
10: .line 194
aload 5 /* buf */
iconst_4
dup2
caload
iload 3 /* hh */
bipush 10
idiv
iadd
i2c
castore
11: .line 196
StackMap locals: int int char[]
StackMap stack:
aload 5 /* buf */
iconst_5
dup2
caload
iload 3 /* hh */
bipush 10
irem
iadd
i2c
castore
12: .line 197
iload 4 /* mm */
ifeq 15
13: .line 198
aload 5 /* buf */
bipush 7
dup2
caload
iload 4 /* mm */
bipush 10
idiv
iadd
i2c
castore
14: .line 199
aload 5 /* buf */
bipush 8
dup2
caload
iload 4 /* mm */
bipush 10
irem
iadd
i2c
castore
15: .line 201
StackMap locals:
StackMap stack:
new java.lang.String
dup
aload 5 /* buf */
invokespecial java.lang.String.<init>:([C)V
areturn
end local 5 // char[] buf
end local 4 // int mm
end local 3 // int hh
end local 2 // int offset
end local 1 // char sign
end local 0 // int gmtOffset
LocalVariableTable:
Start End Slot Name Signature
0 16 0 gmtOffset I
3 4 1 sign C
5 16 1 sign C
1 16 2 offset I
7 16 3 hh I
8 16 4 mm I
9 16 5 buf [C
MethodParameters:
Name Flags
gmtOffset
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 // sun.util.calendar.ZoneInfoFile this
0: .line 205
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 206
return
end local 0 // sun.util.calendar.ZoneInfoFile this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/util/calendar/ZoneInfoFile;
private static void addOldMapping();
descriptor: ()V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=4, args_size=0
0: .line 269
getstatic sun.util.calendar.ZoneInfoFile.oldMappings:[[Ljava/lang/String;
dup
astore 3
arraylength
istore 2
iconst_0
istore 1
goto 4
StackMap locals: top int int java.lang.String[][]
StackMap stack:
1: aload 3
iload 1
aaload
astore 0 /* alias */
start local 0 // java.lang.String[] alias
2: .line 270
getstatic sun.util.calendar.ZoneInfoFile.aliases:Ljava/util/Map;
aload 0 /* alias */
iconst_0
aaload
aload 0 /* alias */
iconst_1
aaload
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 0 // java.lang.String[] alias
3: .line 269
iinc 1 1
StackMap locals:
StackMap stack:
4: iload 1
iload 2
if_icmplt 1
5: .line 272
getstatic sun.util.calendar.ZoneInfoFile.USE_OLDMAPPING:Z
ifeq 10
6: .line 273
getstatic sun.util.calendar.ZoneInfoFile.aliases:Ljava/util/Map;
ldc "EST"
ldc "America/New_York"
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
7: .line 274
getstatic sun.util.calendar.ZoneInfoFile.aliases:Ljava/util/Map;
ldc "MST"
ldc "America/Denver"
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
8: .line 275
getstatic sun.util.calendar.ZoneInfoFile.aliases:Ljava/util/Map;
ldc "HST"
ldc "Pacific/Honolulu"
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
9: .line 276
goto 13
10: .line 277
StackMap locals:
StackMap stack:
getstatic sun.util.calendar.ZoneInfoFile.zones:Ljava/util/Map;
ldc "EST"
new sun.util.calendar.ZoneInfo
dup
ldc "EST"
ldc -18000000
invokespecial sun.util.calendar.ZoneInfo.<init>:(Ljava/lang/String;I)V
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
11: .line 278
getstatic sun.util.calendar.ZoneInfoFile.zones:Ljava/util/Map;
ldc "MST"
new sun.util.calendar.ZoneInfo
dup
ldc "MST"
ldc -25200000
invokespecial sun.util.calendar.ZoneInfo.<init>:(Ljava/lang/String;I)V
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
12: .line 279
getstatic sun.util.calendar.ZoneInfoFile.zones:Ljava/util/Map;
ldc "HST"
new sun.util.calendar.ZoneInfo
dup
ldc "HST"
ldc -36000000
invokespecial sun.util.calendar.ZoneInfo.<init>:(Ljava/lang/String;I)V
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
13: .line 281
StackMap locals:
StackMap stack:
return
LocalVariableTable:
Start End Slot Name Signature
2 3 0 alias [Ljava/lang/String;
public static boolean useOldMapping();
descriptor: ()Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: .line 284
getstatic sun.util.calendar.ZoneInfoFile.USE_OLDMAPPING:Z
ireturn
LocalVariableTable:
Start End Slot Name Signature
private static void load(java.io.DataInputStream);
descriptor: (Ljava/io/DataInputStream;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=11, args_size=1
start local 0 // java.io.DataInputStream dis
0: .line 294
aload 0 /* dis */
invokevirtual java.io.DataInputStream.readByte:()B
iconst_1
if_icmpeq 2
1: .line 295
new java.io.StreamCorruptedException
dup
ldc "File format not recognised"
invokespecial java.io.StreamCorruptedException.<init>:(Ljava/lang/String;)V
athrow
2: .line 298
StackMap locals:
StackMap stack:
aload 0 /* dis */
invokevirtual java.io.DataInputStream.readUTF:()Ljava/lang/String;
astore 1 /* groupId */
start local 1 // java.lang.String groupId
3: .line 299
ldc "TZDB"
aload 1 /* groupId */
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 5
4: .line 300
new java.io.StreamCorruptedException
dup
ldc "File format not recognised"
invokespecial java.io.StreamCorruptedException.<init>:(Ljava/lang/String;)V
athrow
5: .line 303
StackMap locals: java.lang.String
StackMap stack:
aload 0 /* dis */
invokevirtual java.io.DataInputStream.readShort:()S
istore 2 /* versionCount */
start local 2 // int versionCount
6: .line 304
iconst_0
istore 3 /* i */
start local 3 // int i
7: goto 10
8: .line 305
StackMap locals: int int
StackMap stack:
aload 0 /* dis */
invokevirtual java.io.DataInputStream.readUTF:()Ljava/lang/String;
putstatic sun.util.calendar.ZoneInfoFile.versionId:Ljava/lang/String;
9: .line 304
iinc 3 /* i */ 1
StackMap locals:
StackMap stack:
10: iload 3 /* i */
iload 2 /* versionCount */
if_icmplt 8
end local 3 // int i
11: .line 309
aload 0 /* dis */
invokevirtual java.io.DataInputStream.readShort:()S
istore 3 /* regionCount */
start local 3 // int regionCount
12: .line 310
iload 3 /* regionCount */
anewarray java.lang.String
astore 4 /* regionArray */
start local 4 // java.lang.String[] regionArray
13: .line 311
iconst_0
istore 5 /* i */
start local 5 // int i
14: goto 17
15: .line 312
StackMap locals: java.lang.String[] int
StackMap stack:
aload 4 /* regionArray */
iload 5 /* i */
aload 0 /* dis */
invokevirtual java.io.DataInputStream.readUTF:()Ljava/lang/String;
aastore
16: .line 311
iinc 5 /* i */ 1
StackMap locals:
StackMap stack:
17: iload 5 /* i */
iload 3 /* regionCount */
if_icmplt 15
end local 5 // int i
18: .line 315
aload 0 /* dis */
invokevirtual java.io.DataInputStream.readShort:()S
istore 5 /* ruleCount */
start local 5 // int ruleCount
19: .line 316
iload 5 /* ruleCount */
anewarray byte[]
putstatic sun.util.calendar.ZoneInfoFile.ruleArray:[[B
20: .line 317
iconst_0
istore 6 /* i */
start local 6 // int i
21: goto 26
22: .line 318
StackMap locals: int
StackMap stack:
aload 0 /* dis */
invokevirtual java.io.DataInputStream.readShort:()S
newarray 8
astore 7 /* bytes */
start local 7 // byte[] bytes
23: .line 319
aload 0 /* dis */
aload 7 /* bytes */
invokevirtual java.io.DataInputStream.readFully:([B)V
24: .line 320
getstatic sun.util.calendar.ZoneInfoFile.ruleArray:[[B
iload 6 /* i */
aload 7 /* bytes */
aastore
end local 7 // byte[] bytes
25: .line 317
iinc 6 /* i */ 1
StackMap locals:
StackMap stack:
26: iload 6 /* i */
iload 5 /* ruleCount */
if_icmplt 22
end local 6 // int i
27: .line 323
iconst_0
istore 6 /* i */
start local 6 // int i
28: goto 39
29: .line 324
StackMap locals:
StackMap stack:
aload 0 /* dis */
invokevirtual java.io.DataInputStream.readShort:()S
istore 3 /* regionCount */
30: .line 325
iload 3 /* regionCount */
anewarray java.lang.String
putstatic sun.util.calendar.ZoneInfoFile.regions:[Ljava/lang/String;
31: .line 326
iload 3 /* regionCount */
newarray 10
putstatic sun.util.calendar.ZoneInfoFile.indices:[I
32: .line 327
iconst_0
istore 7 /* j */
start local 7 // int j
33: goto 37
34: .line 328
StackMap locals: int
StackMap stack:
getstatic sun.util.calendar.ZoneInfoFile.regions:[Ljava/lang/String;
iload 7 /* j */
aload 4 /* regionArray */
aload 0 /* dis */
invokevirtual java.io.DataInputStream.readShort:()S
aaload
aastore
35: .line 329
getstatic sun.util.calendar.ZoneInfoFile.indices:[I
iload 7 /* j */
aload 0 /* dis */
invokevirtual java.io.DataInputStream.readShort:()S
iastore
36: .line 327
iinc 7 /* j */ 1
StackMap locals:
StackMap stack:
37: iload 7 /* j */
iload 3 /* regionCount */
if_icmplt 34
end local 7 // int j
38: .line 323
iinc 6 /* i */ 1
StackMap locals:
StackMap stack:
39: iload 6 /* i */
iload 2 /* versionCount */
if_icmplt 29
end local 6 // int i
40: .line 334
getstatic sun.util.calendar.ZoneInfoFile.zones:Ljava/util/Map;
ldc "ROC"
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
41: .line 335
iconst_0
istore 6 /* i */
start local 6 // int i
42: goto 53
43: .line 336
StackMap locals:
StackMap stack:
aload 0 /* dis */
invokevirtual java.io.DataInputStream.readShort:()S
istore 7 /* aliasCount */
start local 7 // int aliasCount
44: .line 337
getstatic sun.util.calendar.ZoneInfoFile.aliases:Ljava/util/Map;
invokeinterface java.util.Map.clear:()V
45: .line 338
iconst_0
istore 8 /* j */
start local 8 // int j
46: goto 51
47: .line 339
StackMap locals: int int
StackMap stack:
aload 4 /* regionArray */
aload 0 /* dis */
invokevirtual java.io.DataInputStream.readShort:()S
aaload
astore 9 /* alias */
start local 9 // java.lang.String alias
48: .line 340
aload 4 /* regionArray */
aload 0 /* dis */
invokevirtual java.io.DataInputStream.readShort:()S
aaload
astore 10 /* region */
start local 10 // java.lang.String region
49: .line 341
getstatic sun.util.calendar.ZoneInfoFile.aliases:Ljava/util/Map;
aload 9 /* alias */
aload 10 /* region */
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 10 // java.lang.String region
end local 9 // java.lang.String alias
50: .line 338
iinc 8 /* j */ 1
StackMap locals:
StackMap stack:
51: iload 8 /* j */
iload 7 /* aliasCount */
if_icmplt 47
end local 8 // int j
end local 7 // int aliasCount
52: .line 335
iinc 6 /* i */ 1
StackMap locals:
StackMap stack:
53: iload 6 /* i */
iload 2 /* versionCount */
if_icmplt 43
end local 6 // int i
54: .line 345
invokestatic sun.util.calendar.ZoneInfoFile.addOldMapping:()V
55: .line 346
return
end local 5 // int ruleCount
end local 4 // java.lang.String[] regionArray
end local 3 // int regionCount
end local 2 // int versionCount
end local 1 // java.lang.String groupId
end local 0 // java.io.DataInputStream dis
LocalVariableTable:
Start End Slot Name Signature
0 56 0 dis Ljava/io/DataInputStream;
3 56 1 groupId Ljava/lang/String;
6 56 2 versionCount I
7 11 3 i I
12 56 3 regionCount I
13 56 4 regionArray [Ljava/lang/String;
14 18 5 i I
19 56 5 ruleCount I
21 27 6 i I
23 25 7 bytes [B
28 40 6 i I
33 38 7 j I
42 54 6 i I
44 52 7 aliasCount I
46 52 8 j I
48 50 9 alias Ljava/lang/String;
49 50 10 region Ljava/lang/String;
Exceptions:
throws java.lang.ClassNotFoundException, java.io.IOException
MethodParameters:
Name Flags
dis
public static sun.util.calendar.ZoneInfo getZoneInfo(java.io.DataInput, java.lang.String);
descriptor: (Ljava/io/DataInput;Ljava/lang/String;)Lsun/util/calendar/ZoneInfo;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=11, args_size=2
start local 0 // java.io.DataInput in
start local 1 // java.lang.String zoneId
0: .line 350
aload 0 /* in */
invokeinterface java.io.DataInput.readByte:()B
pop
1: .line 352
aload 0 /* in */
invokeinterface java.io.DataInput.readInt:()I
istore 2 /* stdSize */
start local 2 // int stdSize
2: .line 353
iload 2 /* stdSize */
newarray 11
astore 3 /* stdTrans */
start local 3 // long[] stdTrans
3: .line 354
iconst_0
istore 4 /* i */
start local 4 // int i
4: goto 7
5: .line 355
StackMap locals: int long[] int
StackMap stack:
aload 3 /* stdTrans */
iload 4 /* i */
aload 0 /* in */
invokestatic sun.util.calendar.ZoneInfoFile.readEpochSec:(Ljava/io/DataInput;)J
lastore
6: .line 354
iinc 4 /* i */ 1
StackMap locals:
StackMap stack:
7: iload 4 /* i */
iload 2 /* stdSize */
if_icmplt 5
end local 4 // int i
8: .line 357
iload 2 /* stdSize */
iconst_1
iadd
newarray 10
astore 4 /* stdOffsets */
start local 4 // int[] stdOffsets
9: .line 358
iconst_0
istore 5 /* i */
start local 5 // int i
10: goto 13
11: .line 359
StackMap locals: java.io.DataInput java.lang.String int long[] int[] int
StackMap stack:
aload 4 /* stdOffsets */
iload 5 /* i */
aload 0 /* in */
invokestatic sun.util.calendar.ZoneInfoFile.readOffset:(Ljava/io/DataInput;)I
iastore
12: .line 358
iinc 5 /* i */ 1
StackMap locals:
StackMap stack:
13: iload 5 /* i */
aload 4 /* stdOffsets */
arraylength
if_icmplt 11
end local 5 // int i
14: .line 361
aload 0 /* in */
invokeinterface java.io.DataInput.readInt:()I
istore 5 /* savSize */
start local 5 // int savSize
15: .line 362
iload 5 /* savSize */
newarray 11
astore 6 /* savTrans */
start local 6 // long[] savTrans
16: .line 363
iconst_0
istore 7 /* i */
start local 7 // int i
17: goto 20
18: .line 364
StackMap locals: long[] int
StackMap stack:
aload 6 /* savTrans */
iload 7 /* i */
aload 0 /* in */
invokestatic sun.util.calendar.ZoneInfoFile.readEpochSec:(Ljava/io/DataInput;)J
lastore
19: .line 363
iinc 7 /* i */ 1
StackMap locals:
StackMap stack:
20: iload 7 /* i */
iload 5 /* savSize */
if_icmplt 18
end local 7 // int i
21: .line 366
iload 5 /* savSize */
iconst_1
iadd
newarray 10
astore 7 /* savOffsets */
start local 7 // int[] savOffsets
22: .line 367
iconst_0
istore 8 /* i */
start local 8 // int i
23: goto 26
24: .line 368
StackMap locals: java.io.DataInput java.lang.String int long[] int[] int long[] int[] int
StackMap stack:
aload 7 /* savOffsets */
iload 8 /* i */
aload 0 /* in */
invokestatic sun.util.calendar.ZoneInfoFile.readOffset:(Ljava/io/DataInput;)I
iastore
25: .line 367
iinc 8 /* i */ 1
StackMap locals:
StackMap stack:
26: iload 8 /* i */
aload 7 /* savOffsets */
arraylength
if_icmplt 24
end local 8 // int i
27: .line 370
aload 0 /* in */
invokeinterface java.io.DataInput.readByte:()B
istore 8 /* ruleSize */
start local 8 // int ruleSize
28: .line 371
iload 8 /* ruleSize */
anewarray sun.util.calendar.ZoneInfoFile$ZoneOffsetTransitionRule
astore 9 /* rules */
start local 9 // sun.util.calendar.ZoneInfoFile$ZoneOffsetTransitionRule[] rules
29: .line 372
iconst_0
istore 10 /* i */
start local 10 // int i
30: goto 33
31: .line 373
StackMap locals: sun.util.calendar.ZoneInfoFile$ZoneOffsetTransitionRule[] int
StackMap stack:
aload 9 /* rules */
iload 10 /* i */
new sun.util.calendar.ZoneInfoFile$ZoneOffsetTransitionRule
dup
aload 0 /* in */
invokespecial sun.util.calendar.ZoneInfoFile$ZoneOffsetTransitionRule.<init>:(Ljava/io/DataInput;)V
aastore
32: .line 372
iinc 10 /* i */ 1
StackMap locals:
StackMap stack:
33: iload 10 /* i */
iload 8 /* ruleSize */
if_icmplt 31
end local 10 // int i
34: .line 375
aload 1 /* zoneId */
aload 3 /* stdTrans */
aload 4 /* stdOffsets */
aload 6 /* savTrans */
aload 7 /* savOffsets */
aload 9 /* rules */
invokestatic sun.util.calendar.ZoneInfoFile.getZoneInfo:(Ljava/lang/String;[J[I[J[I[Lsun/util/calendar/ZoneInfoFile$ZoneOffsetTransitionRule;)Lsun/util/calendar/ZoneInfo;
areturn
end local 9 // sun.util.calendar.ZoneInfoFile$ZoneOffsetTransitionRule[] rules
end local 8 // int ruleSize
end local 7 // int[] savOffsets
end local 6 // long[] savTrans
end local 5 // int savSize
end local 4 // int[] stdOffsets
end local 3 // long[] stdTrans
end local 2 // int stdSize
end local 1 // java.lang.String zoneId
end local 0 // java.io.DataInput in
LocalVariableTable:
Start End Slot Name Signature
0 35 0 in Ljava/io/DataInput;
0 35 1 zoneId Ljava/lang/String;
2 35 2 stdSize I
3 35 3 stdTrans [J
4 8 4 i I
9 35 4 stdOffsets [I
10 14 5 i I
15 35 5 savSize I
16 35 6 savTrans [J
17 21 7 i I
22 35 7 savOffsets [I
23 27 8 i I
28 35 8 ruleSize I
29 35 9 rules [Lsun/util/calendar/ZoneInfoFile$ZoneOffsetTransitionRule;
30 34 10 i I
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
in
zoneId
public static int readOffset(java.io.DataInput);
descriptor: (Ljava/io/DataInput;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 // java.io.DataInput in
0: .line 379
aload 0 /* in */
invokeinterface java.io.DataInput.readByte:()B
istore 1 /* offsetByte */
start local 1 // int offsetByte
1: .line 380
iload 1 /* offsetByte */
bipush 127
if_icmpne 2
aload 0 /* in */
invokeinterface java.io.DataInput.readInt:()I
goto 3
StackMap locals: int
StackMap stack:
2: iload 1 /* offsetByte */
sipush 900
imul
StackMap locals:
StackMap stack: int
3: ireturn
end local 1 // int offsetByte
end local 0 // java.io.DataInput in
LocalVariableTable:
Start End Slot Name Signature
0 4 0 in Ljava/io/DataInput;
1 4 1 offsetByte I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
in
static long readEpochSec(java.io.DataInput);
descriptor: (Ljava/io/DataInput;)J
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=6, args_size=1
start local 0 // java.io.DataInput in
0: .line 384
aload 0 /* in */
invokeinterface java.io.DataInput.readByte:()B
sipush 255
iand
istore 1 /* hiByte */
start local 1 // int hiByte
1: .line 385
iload 1 /* hiByte */
sipush 255
if_icmpne 3
2: .line 386
aload 0 /* in */
invokeinterface java.io.DataInput.readLong:()J
lreturn
3: .line 388
StackMap locals: int
StackMap stack:
aload 0 /* in */
invokeinterface java.io.DataInput.readByte:()B
sipush 255
iand
istore 2 /* midByte */
start local 2 // int midByte
4: .line 389
aload 0 /* in */
invokeinterface java.io.DataInput.readByte:()B
sipush 255
iand
istore 3 /* loByte */
start local 3 // int loByte
5: .line 390
iload 1 /* hiByte */
bipush 16
ishl
iload 2 /* midByte */
bipush 8
ishl
iadd
iload 3 /* loByte */
iadd
i2l
lstore 4 /* tot */
start local 4 // long tot
6: .line 391
lload 4 /* tot */
ldc 900
lmul
ldc 4575744000
lsub
lreturn
end local 4 // long tot
end local 3 // int loByte
end local 2 // int midByte
end local 1 // int hiByte
end local 0 // java.io.DataInput in
LocalVariableTable:
Start End Slot Name Signature
0 7 0 in Ljava/io/DataInput;
1 7 1 hiByte I
4 7 2 midByte I
5 7 3 loByte I
6 7 4 tot J
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
in
private static sun.util.calendar.ZoneInfo getZoneInfo(java.lang.String, long[], int[], long[], int[], sun.util.calendar.ZoneInfoFile$ZoneOffsetTransitionRule[]);
descriptor: (Ljava/lang/String;[J[I[J[I[Lsun/util/calendar/ZoneInfoFile$ZoneOffsetTransitionRule;)Lsun/util/calendar/ZoneInfo;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=11, locals=32, args_size=6
start local 0 // java.lang.String zoneId
start local 1 // long[] standardTransitions
start local 2 // int[] standardOffsets
start local 3 // long[] savingsInstantTransitions
start local 4 // int[] wallOffsets
start local 5 // sun.util.calendar.ZoneInfoFile$ZoneOffsetTransitionRule[] lastRules
0: .line 426
iconst_0
istore 6 /* rawOffset */
start local 6 // int rawOffset
1: .line 427
iconst_0
istore 7 /* dstSavings */
start local 7 // int dstSavings
2: .line 428
iconst_0
istore 8 /* checksum */
start local 8 // int checksum
3: .line 429
aconst_null
astore 9 /* params */
start local 9 // int[] params
4: .line 430
iconst_0
istore 10 /* willGMTOffsetChange */
start local 10 // boolean willGMTOffsetChange
5: .line 433
aload 1 /* standardTransitions */
arraylength
ifle 11
6: .line 434
aload 2 /* standardOffsets */
aload 2 /* standardOffsets */
arraylength
iconst_1
isub
iaload
sipush 1000
imul
istore 6 /* rawOffset */
7: .line 435
aload 1 /* standardTransitions */
aload 1 /* standardTransitions */
arraylength
iconst_1
isub
laload
getstatic sun.util.calendar.ZoneInfoFile.CURRT:J
lcmp
ifle 8
iconst_1
goto 9
StackMap locals: java.lang.String long[] int[] long[] int[] sun.util.calendar.ZoneInfoFile$ZoneOffsetTransitionRule[] int int int int[] int
StackMap stack:
8: iconst_0
StackMap locals:
StackMap stack: int
9: istore 10 /* willGMTOffsetChange */
10: .line 436
goto 12
11: .line 438
StackMap locals:
StackMap stack:
aload 2 /* standardOffsets */
iconst_0
iaload
sipush 1000
imul
istore 6 /* rawOffset */
12: .line 441
StackMap locals:
StackMap stack:
aconst_null
astore 11 /* transitions */
start local 11 // long[] transitions
13: .line 442
aconst_null
astore 12 /* offsets */
start local 12 // int[] offsets
14: .line 443
iconst_0
istore 13 /* nOffsets */
start local 13 // int nOffsets
15: .line 444
iconst_0
istore 14 /* nTrans */
start local 14 // int nTrans
16: .line 446
aload 3 /* savingsInstantTransitions */
arraylength
ifeq 228
17: .line 447
sipush 250
newarray 11
astore 11 /* transitions */
18: .line 448
bipush 100
newarray 10
astore 12 /* offsets */
19: .line 452
aload 3 /* savingsInstantTransitions */
aload 3 /* savingsInstantTransitions */
arraylength
iconst_1
isub
laload
20: .line 453
aload 4 /* wallOffsets */
aload 3 /* savingsInstantTransitions */
arraylength
iconst_1
isub
iaload
21: .line 452
invokestatic sun.util.calendar.ZoneInfoFile.getYear:(JI)I
istore 15 /* lastyear */
start local 15 // int lastyear
22: .line 454
iconst_0
istore 16 /* i */
start local 16 // int i
23: iconst_1
istore 17 /* k */
start local 17 // int k
24: .line 455
goto 26
25: .line 457
StackMap locals: java.lang.String long[] int[] long[] int[] sun.util.calendar.ZoneInfoFile$ZoneOffsetTransitionRule[] int int int int[] int long[] int[] int int int int int
StackMap stack:
iinc 16 /* i */ 1
26: .line 455
StackMap locals:
StackMap stack:
iload 16 /* i */
aload 3 /* savingsInstantTransitions */
arraylength
if_icmpge 29
27: .line 456
aload 3 /* savingsInstantTransitions */
iload 16 /* i */
laload
ldc -2208988800
28: .line 455
lcmp
iflt 25
29: .line 459
StackMap locals:
StackMap stack:
iload 16 /* i */
aload 3 /* savingsInstantTransitions */
arraylength
if_icmpge 70
30: .line 461
iload 16 /* i */
aload 3 /* savingsInstantTransitions */
arraylength
if_icmpge 33
31: .line 462
aload 12 /* offsets */
iconst_0
aload 2 /* standardOffsets */
aload 2 /* standardOffsets */
arraylength
iconst_1
isub
iaload
sipush 1000
imul
iastore
32: .line 463
iconst_1
istore 13 /* nOffsets */
33: .line 467
StackMap locals:
StackMap stack:
aload 11 /* transitions */
iload 14 /* nTrans */
iinc 14 /* nTrans */ 1
34: .line 468
aload 12 /* offsets */
iload 13 /* nOffsets */
35: .line 469
ldc -2208988800
36: .line 470
aload 4 /* wallOffsets */
iload 16 /* i */
iaload
37: .line 471
aload 1 /* standardTransitions */
aload 2 /* standardOffsets */
ldc -2208988800
invokestatic sun.util.calendar.ZoneInfoFile.getStandardOffset:([J[IJ)I
38: .line 467
invokestatic sun.util.calendar.ZoneInfoFile.addTrans:([JI[IIJII)I
istore 13 /* nOffsets */
39: .line 474
goto 70
40: .line 475
StackMap locals:
StackMap stack:
aload 3 /* savingsInstantTransitions */
iload 16 /* i */
laload
lstore 18 /* trans */
start local 18 // long trans
41: .line 476
lload 18 /* trans */
ldc 2145916799
lcmp
ifle 59
42: .line 478
sipush 2037
istore 15 /* lastyear */
43: .line 479
goto 82
44: .line 489
StackMap locals: long
StackMap stack:
aload 1 /* standardTransitions */
iload 17 /* k */
laload
lstore 20 /* trans_s */
start local 20 // long trans_s
45: .line 490
lload 20 /* trans_s */
ldc -2208988800
lcmp
iflt 58
46: .line 491
lload 20 /* trans_s */
lload 18 /* trans */
lcmp
ifle 48
47: .line 492
goto 60
48: .line 493
StackMap locals: long
StackMap stack:
lload 20 /* trans_s */
lload 18 /* trans */
lcmp
ifge 58
49: .line 494
iload 13 /* nOffsets */
iconst_2
iadd
aload 12 /* offsets */
arraylength
if_icmplt 51
50: .line 495
aload 12 /* offsets */
aload 12 /* offsets */
arraylength
bipush 100
iadd
invokestatic java.util.Arrays.copyOf:([II)[I
astore 12 /* offsets */
51: .line 497
StackMap locals:
StackMap stack:
iload 14 /* nTrans */
iconst_1
iadd
aload 11 /* transitions */
arraylength
if_icmplt 53
52: .line 498
aload 11 /* transitions */
aload 11 /* transitions */
arraylength
bipush 100
iadd
invokestatic java.util.Arrays.copyOf:([JI)[J
astore 11 /* transitions */
53: .line 500
StackMap locals:
StackMap stack:
aload 11 /* transitions */
iload 14 /* nTrans */
iinc 14 /* nTrans */ 1
aload 12 /* offsets */
iload 13 /* nOffsets */
54: .line 501
lload 20 /* trans_s */
55: .line 502
aload 4 /* wallOffsets */
iload 16 /* i */
iaload
56: .line 503
aload 2 /* standardOffsets */
iload 17 /* k */
iconst_1
iadd
iaload
57: .line 500
invokestatic sun.util.calendar.ZoneInfoFile.addTrans:([JI[IIJII)I
istore 13 /* nOffsets */
58: .line 507
StackMap locals:
StackMap stack:
iinc 17 /* k */ 1
end local 20 // long trans_s
59: .line 481
StackMap locals:
StackMap stack:
iload 17 /* k */
aload 1 /* standardTransitions */
arraylength
if_icmplt 44
60: .line 509
StackMap locals:
StackMap stack:
iload 13 /* nOffsets */
iconst_2
iadd
aload 12 /* offsets */
arraylength
if_icmplt 62
61: .line 510
aload 12 /* offsets */
aload 12 /* offsets */
arraylength
bipush 100
iadd
invokestatic java.util.Arrays.copyOf:([II)[I
astore 12 /* offsets */
62: .line 512
StackMap locals:
StackMap stack:
iload 14 /* nTrans */
iconst_1
iadd
aload 11 /* transitions */
arraylength
if_icmplt 64
63: .line 513
aload 11 /* transitions */
aload 11 /* transitions */
arraylength
bipush 100
iadd
invokestatic java.util.Arrays.copyOf:([JI)[J
astore 11 /* transitions */
64: .line 515
StackMap locals:
StackMap stack:
aload 11 /* transitions */
iload 14 /* nTrans */
iinc 14 /* nTrans */ 1
aload 12 /* offsets */
iload 13 /* nOffsets */
65: .line 516
lload 18 /* trans */
66: .line 517
aload 4 /* wallOffsets */
iload 16 /* i */
iconst_1
iadd
iaload
67: .line 518
aload 1 /* standardTransitions */
aload 2 /* standardOffsets */
lload 18 /* trans */
invokestatic sun.util.calendar.ZoneInfoFile.getStandardOffset:([J[IJ)I
68: .line 515
invokestatic sun.util.calendar.ZoneInfoFile.addTrans:([JI[IIJII)I
istore 13 /* nOffsets */
end local 18 // long trans
69: .line 474
iinc 16 /* i */ 1
StackMap locals:
StackMap stack:
70: iload 16 /* i */
aload 3 /* savingsInstantTransitions */
arraylength
if_icmplt 40
71: .line 522
goto 82
72: .line 523
StackMap locals:
StackMap stack:
aload 1 /* standardTransitions */
iload 17 /* k */
laload
lstore 18 /* trans */
start local 18 // long trans
73: .line 524
lload 18 /* trans */
ldc -2208988800
lcmp
iflt 81
74: .line 525
aload 4 /* wallOffsets */
iload 16 /* i */
iaload
istore 20 /* offset */
start local 20 // int offset
75: .line 526
aload 12 /* offsets */
iconst_0
iload 13 /* nOffsets */
iload 20 /* offset */
invokestatic sun.util.calendar.ZoneInfoFile.indexOf:([IIII)I
istore 21 /* offsetIndex */
start local 21 // int offsetIndex
76: .line 527
iload 21 /* offsetIndex */
iload 13 /* nOffsets */
if_icmpne 78
77: .line 528
iinc 13 /* nOffsets */ 1
78: .line 529
StackMap locals: long int int
StackMap stack:
aload 11 /* transitions */
iload 14 /* nTrans */
iinc 14 /* nTrans */ 1
lload 18 /* trans */
ldc 1000
lmul
bipush 12
lshl
79: .line 530
iload 21 /* offsetIndex */
i2l
ldc 15
land
lor
80: .line 529
lastore
end local 21 // int offsetIndex
end local 20 // int offset
81: .line 532
StackMap locals:
StackMap stack:
iinc 17 /* k */ 1
end local 18 // long trans
82: .line 522
StackMap locals:
StackMap stack:
iload 17 /* k */
aload 1 /* standardTransitions */
arraylength
if_icmplt 72
83: .line 534
aload 5 /* lastRules */
arraylength
iconst_1
if_icmple 153
84: .line 536
goto 100
85: .line 537
StackMap locals:
StackMap stack:
aload 5 /* lastRules */
dup
astore 21
arraylength
istore 20
iconst_0
istore 19
goto 99
StackMap locals: java.lang.String long[] int[] long[] int[] sun.util.calendar.ZoneInfoFile$ZoneOffsetTransitionRule[] int int int int[] int long[] int[] int int int int int top int int sun.util.calendar.ZoneInfoFile$ZoneOffsetTransitionRule[]
StackMap stack:
86: aload 21
iload 19
aaload
astore 18 /* zotr */
start local 18 // sun.util.calendar.ZoneInfoFile$ZoneOffsetTransitionRule zotr
87: .line 538
aload 18 /* zotr */
iload 15 /* lastyear */
invokevirtual sun.util.calendar.ZoneInfoFile$ZoneOffsetTransitionRule.getTransitionEpochSecond:(I)J
lstore 22 /* trans */
start local 22 // long trans
88: .line 539
iload 13 /* nOffsets */
iconst_2
iadd
aload 12 /* offsets */
arraylength
if_icmplt 90
89: .line 540
aload 12 /* offsets */
aload 12 /* offsets */
arraylength
bipush 100
iadd
invokestatic java.util.Arrays.copyOf:([II)[I
astore 12 /* offsets */
90: .line 542
StackMap locals: java.lang.String long[] int[] long[] int[] sun.util.calendar.ZoneInfoFile$ZoneOffsetTransitionRule[] int int int int[] int long[] int[] int int int int int sun.util.calendar.ZoneInfoFile$ZoneOffsetTransitionRule int int sun.util.calendar.ZoneInfoFile$ZoneOffsetTransitionRule[] long
StackMap stack:
iload 14 /* nTrans */
iconst_1
iadd
aload 11 /* transitions */
arraylength
if_icmplt 92
91: .line 543
aload 11 /* transitions */
aload 11 /* transitions */
arraylength
bipush 100
iadd
invokestatic java.util.Arrays.copyOf:([JI)[J
astore 11 /* transitions */
92: .line 545
StackMap locals:
StackMap stack:
aload 11 /* transitions */
iload 14 /* nTrans */
iinc 14 /* nTrans */ 1
93: .line 546
aload 12 /* offsets */
iload 13 /* nOffsets */
94: .line 547
lload 22 /* trans */
95: .line 548
aload 18 /* zotr */
getfield sun.util.calendar.ZoneInfoFile$ZoneOffsetTransitionRule.offsetAfter:I
96: .line 549
aload 18 /* zotr */
getfield sun.util.calendar.ZoneInfoFile$ZoneOffsetTransitionRule.standardOffset:I
97: .line 545
invokestatic sun.util.calendar.ZoneInfoFile.addTrans:([JI[IIJII)I
istore 13 /* nOffsets */
end local 22 // long trans
end local 18 // sun.util.calendar.ZoneInfoFile$ZoneOffsetTransitionRule zotr
98: .line 537
iinc 19 1
StackMap locals: java.lang.String long[] int[] long[] int[] sun.util.calendar.ZoneInfoFile$ZoneOffsetTransitionRule[] int int int int[] int long[] int[] int int int int int top int int sun.util.calendar.ZoneInfoFile$ZoneOffsetTransitionRule[]
StackMap stack:
99: iload 19
iload 20
if_icmplt 86
100: .line 536
StackMap locals: java.lang.String long[] int[] long[] int[] sun.util.calendar.ZoneInfoFile$ZoneOffsetTransitionRule[] int int int int[] int long[] int[] int int int int int
StackMap stack:
iload 15 /* lastyear */
iinc 15 /* lastyear */ 1
sipush 2037
if_icmplt 85
101: .line 552
aload 5 /* lastRules */
aload 5 /* lastRules */
arraylength
iconst_2
isub
aaload
astore 18 /* startRule */
start local 18 // sun.util.calendar.ZoneInfoFile$ZoneOffsetTransitionRule startRule
102: .line 553
aload 5 /* lastRules */
aload 5 /* lastRules */
arraylength
iconst_1
isub
aaload
astore 19 /* endRule */
start local 19 // sun.util.calendar.ZoneInfoFile$ZoneOffsetTransitionRule endRule
103: .line 554
bipush 10
newarray 10
astore 9 /* params */
104: .line 555
aload 18 /* startRule */
getfield sun.util.calendar.ZoneInfoFile$ZoneOffsetTransitionRule.offsetAfter:I
aload 18 /* startRule */
getfield sun.util.calendar.ZoneInfoFile$ZoneOffsetTransitionRule.offsetBefore:I
isub
ifge 109
105: .line 556
aload 19 /* endRule */
getfield sun.util.calendar.ZoneInfoFile$ZoneOffsetTransitionRule.offsetAfter:I
aload 19 /* endRule */
getfield sun.util.calendar.ZoneInfoFile$ZoneOffsetTransitionRule.offsetBefore:I
isub
ifle 109
106: .line 558
aload 18 /* startRule */
astore 20 /* tmp */
start local 20 // sun.util.calendar.ZoneInfoFile$ZoneOffsetTransitionRule tmp
107: .line 559
aload 19 /* endRule */
astore 18 /* startRule */
108: .line 560
aload 20 /* tmp */
astore 19 /* endRule */
end local 20 // sun.util.calendar.ZoneInfoFile$ZoneOffsetTransitionRule tmp
109: .line 562
StackMap locals: sun.util.calendar.ZoneInfoFile$ZoneOffsetTransitionRule sun.util.calendar.ZoneInfoFile$ZoneOffsetTransitionRule
StackMap stack:
aload 9 /* params */
iconst_0
aload 18 /* startRule */
getfield sun.util.calendar.ZoneInfoFile$ZoneOffsetTransitionRule.month:I
iconst_1
isub
iastore
110: .line 563
aload 18 /* startRule */
getfield sun.util.calendar.ZoneInfoFile$ZoneOffsetTransitionRule.dom:B
istore 20 /* dom */
start local 20 // int dom
111: .line 564
aload 18 /* startRule */
getfield sun.util.calendar.ZoneInfoFile$ZoneOffsetTransitionRule.dow:I
istore 21 /* dow */
start local 21 // int dow
112: .line 565
iload 21 /* dow */
iconst_m1
if_icmpne 116
113: .line 566
aload 9 /* params */
iconst_1
iload 20 /* dom */
iastore
114: .line 567
aload 9 /* params */
iconst_2
iconst_0
iastore
115: .line 568
goto 122
116: .line 577
StackMap locals: int int
StackMap stack:
iload 20 /* dom */
iflt 117
iload 20 /* dom */
bipush 24
if_icmplt 120
117: .line 578
StackMap locals:
StackMap stack:
aload 9 /* params */
iconst_1
iconst_m1
iastore
118: .line 579
aload 9 /* params */
iconst_2
getstatic sun.util.calendar.ZoneInfoFile.toCalendarDOW:[I
iload 21 /* dow */
iaload
iastore
119: .line 580
goto 122
120: .line 581
StackMap locals:
StackMap stack:
aload 9 /* params */
iconst_1
iload 20 /* dom */
iastore
121: .line 586
aload 9 /* params */
iconst_2
getstatic sun.util.calendar.ZoneInfoFile.toCalendarDOW:[I
iload 21 /* dow */
iaload
ineg
iastore
122: .line 589
StackMap locals:
StackMap stack:
aload 9 /* params */
iconst_3
aload 18 /* startRule */
getfield sun.util.calendar.ZoneInfoFile$ZoneOffsetTransitionRule.secondOfDay:I
sipush 1000
imul
iastore
123: .line 590
aload 9 /* params */
iconst_4
getstatic sun.util.calendar.ZoneInfoFile.toSTZTime:[I
aload 18 /* startRule */
getfield sun.util.calendar.ZoneInfoFile$ZoneOffsetTransitionRule.timeDefinition:I
iaload
iastore
124: .line 591
aload 9 /* params */
iconst_5
aload 19 /* endRule */
getfield sun.util.calendar.ZoneInfoFile$ZoneOffsetTransitionRule.month:I
iconst_1
isub
iastore
125: .line 592
aload 19 /* endRule */
getfield sun.util.calendar.ZoneInfoFile$ZoneOffsetTransitionRule.dom:B
istore 20 /* dom */
126: .line 593
aload 19 /* endRule */
getfield sun.util.calendar.ZoneInfoFile$ZoneOffsetTransitionRule.dow:I
istore 21 /* dow */
127: .line 594
iload 21 /* dow */
iconst_m1
if_icmpne 131
128: .line 595
aload 9 /* params */
bipush 6
iload 20 /* dom */
iastore
129: .line 596
aload 9 /* params */
bipush 7
iconst_0
iastore
130: .line 597
goto 137
131: .line 599
StackMap locals:
StackMap stack:
iload 20 /* dom */
iflt 132
iload 20 /* dom */
bipush 24
if_icmplt 135
132: .line 600
StackMap locals:
StackMap stack:
aload 9 /* params */
bipush 6
iconst_m1
iastore
133: .line 601
aload 9 /* params */
bipush 7
getstatic sun.util.calendar.ZoneInfoFile.toCalendarDOW:[I
iload 21 /* dow */
iaload
iastore
134: .line 602
goto 137
135: .line 603
StackMap locals:
StackMap stack:
aload 9 /* params */
bipush 6
iload 20 /* dom */
iastore
136: .line 604
aload 9 /* params */
bipush 7
getstatic sun.util.calendar.ZoneInfoFile.toCalendarDOW:[I
iload 21 /* dow */
iaload
ineg
iastore
137: .line 607
StackMap locals:
StackMap stack:
aload 9 /* params */
bipush 8
aload 19 /* endRule */
getfield sun.util.calendar.ZoneInfoFile$ZoneOffsetTransitionRule.secondOfDay:I
sipush 1000
imul
iastore
138: .line 608
aload 9 /* params */
bipush 9
getstatic sun.util.calendar.ZoneInfoFile.toSTZTime:[I
aload 19 /* endRule */
getfield sun.util.calendar.ZoneInfoFile$ZoneOffsetTransitionRule.timeDefinition:I
iaload
iastore
139: .line 609
aload 18 /* startRule */
getfield sun.util.calendar.ZoneInfoFile$ZoneOffsetTransitionRule.offsetAfter:I
aload 18 /* startRule */
getfield sun.util.calendar.ZoneInfoFile$ZoneOffsetTransitionRule.offsetBefore:I
isub
sipush 1000
imul
istore 7 /* dstSavings */
140: .line 619
aload 9 /* params */
iconst_2
iaload
bipush 6
if_icmpne 144
aload 9 /* params */
iconst_3
iaload
ifne 144
141: .line 620
aload 0 /* zoneId */
ldc "Asia/Amman"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 144
142: .line 621
aload 9 /* params */
iconst_2
iconst_5
iastore
143: .line 622
aload 9 /* params */
iconst_3
ldc 86400000
iastore
144: .line 626
StackMap locals:
StackMap stack:
aload 9 /* params */
iconst_2
iaload
bipush 7
if_icmpne 148
aload 9 /* params */
iconst_3
iaload
ifne 148
145: .line 627
aload 0 /* zoneId */
ldc "Asia/Amman"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 148
146: .line 628
aload 9 /* params */
iconst_2
bipush 6
iastore
147: .line 629
aload 9 /* params */
iconst_3
ldc 86400000
iastore
148: .line 632
StackMap locals:
StackMap stack:
aload 9 /* params */
bipush 7
iaload
bipush 6
if_icmpne 200
aload 9 /* params */
bipush 8
iaload
ifne 200
149: .line 633
aload 0 /* zoneId */
ldc "Africa/Cairo"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 200
150: .line 634
aload 9 /* params */
bipush 7
iconst_5
iastore
151: .line 635
aload 9 /* params */
bipush 8
ldc 86400000
iastore
end local 21 // int dow
end local 20 // int dom
end local 19 // sun.util.calendar.ZoneInfoFile$ZoneOffsetTransitionRule endRule
end local 18 // sun.util.calendar.ZoneInfoFile$ZoneOffsetTransitionRule startRule
152: .line 638
goto 200
StackMap locals: java.lang.String long[] int[] long[] int[] sun.util.calendar.ZoneInfoFile$ZoneOffsetTransitionRule[] int int int int[] int long[] int[] int int int int int
StackMap stack:
153: iload 14 /* nTrans */
ifle 200
154: .line 639
iload 15 /* lastyear */
sipush 2037
if_icmpge 163
155: .line 644
ldc 2114380800
iload 6 /* rawOffset */
sipush 1000
idiv
i2l
lsub
lstore 18 /* trans */
start local 18 // long trans
156: .line 646
aload 12 /* offsets */
iconst_0
iload 13 /* nOffsets */
iload 6 /* rawOffset */
sipush 1000
idiv
invokestatic sun.util.calendar.ZoneInfoFile.indexOf:([IIII)I
istore 20 /* offsetIndex */
start local 20 // int offsetIndex
157: .line 647
iload 20 /* offsetIndex */
iload 13 /* nOffsets */
if_icmpne 159
158: .line 648
iinc 13 /* nOffsets */ 1
159: .line 649
StackMap locals: long int
StackMap stack:
aload 11 /* transitions */
iload 14 /* nTrans */
iinc 14 /* nTrans */ 1
lload 18 /* trans */
ldc 1000
lmul
bipush 12
lshl
160: .line 650
iload 20 /* offsetIndex */
i2l
ldc 15
land
lor
161: .line 649
lastore
end local 20 // int offsetIndex
end local 18 // long trans
162: .line 652
goto 200
StackMap locals:
StackMap stack:
163: aload 3 /* savingsInstantTransitions */
arraylength
iconst_2
if_icmple 200
164: .line 669
aload 3 /* savingsInstantTransitions */
arraylength
istore 18 /* m */
start local 18 // int m
165: .line 670
aload 3 /* savingsInstantTransitions */
iload 18 /* m */
iconst_2
isub
laload
lstore 19 /* startTrans */
start local 19 // long startTrans
166: .line 671
aload 4 /* wallOffsets */
iload 18 /* m */
iconst_2
isub
iconst_1
iadd
iaload
istore 21 /* startOffset */
start local 21 // int startOffset
167: .line 672
aload 1 /* standardTransitions */
aload 2 /* standardOffsets */
lload 19 /* startTrans */
invokestatic sun.util.calendar.ZoneInfoFile.getStandardOffset:([J[IJ)I
istore 22 /* startStd */
start local 22 // int startStd
168: .line 673
aload 3 /* savingsInstantTransitions */
iload 18 /* m */
iconst_1
isub
laload
lstore 23 /* endTrans */
start local 23 // long endTrans
169: .line 674
aload 4 /* wallOffsets */
iload 18 /* m */
iconst_1
isub
iconst_1
iadd
iaload
istore 25 /* endOffset */
start local 25 // int endOffset
170: .line 675
aload 1 /* standardTransitions */
aload 2 /* standardOffsets */
lload 23 /* endTrans */
invokestatic sun.util.calendar.ZoneInfoFile.getStandardOffset:([J[IJ)I
istore 26 /* endStd */
start local 26 // int endStd
171: .line 676
iload 21 /* startOffset */
iload 22 /* startStd */
if_icmple 200
iload 25 /* endOffset */
iload 26 /* endStd */
if_icmpne 200
172: .line 678
aload 3 /* savingsInstantTransitions */
arraylength
iconst_2
isub
istore 18 /* m */
173: .line 679
aload 4 /* wallOffsets */
iload 18 /* m */
iaload
invokestatic java.time.ZoneOffset.ofTotalSeconds:(I)Ljava/time/ZoneOffset;
astore 27 /* before */
start local 27 // java.time.ZoneOffset before
174: .line 680
aload 4 /* wallOffsets */
iload 18 /* m */
iconst_1
iadd
iaload
invokestatic java.time.ZoneOffset.ofTotalSeconds:(I)Ljava/time/ZoneOffset;
astore 28 /* after */
start local 28 // java.time.ZoneOffset after
175: .line 681
aload 3 /* savingsInstantTransitions */
iload 18 /* m */
laload
iconst_0
aload 27 /* before */
invokestatic java.time.LocalDateTime.ofEpochSecond:(JILjava/time/ZoneOffset;)Ljava/time/LocalDateTime;
astore 29 /* ldt */
start local 29 // java.time.LocalDateTime ldt
176: .line 683
aload 28 /* after */
invokevirtual java.time.ZoneOffset.getTotalSeconds:()I
aload 27 /* before */
invokevirtual java.time.ZoneOffset.getTotalSeconds:()I
if_icmple 179
177: .line 684
aload 29 /* ldt */
astore 30 /* startLDT */
start local 30 // java.time.LocalDateTime startLDT
178: .line 685
goto 180
end local 30 // java.time.LocalDateTime startLDT
179: .line 686
StackMap locals: java.lang.String long[] int[] long[] int[] sun.util.calendar.ZoneInfoFile$ZoneOffsetTransitionRule[] int int int int[] int long[] int[] int int int int int int long int int long int int java.time.ZoneOffset java.time.ZoneOffset java.time.LocalDateTime
StackMap stack:
aload 29 /* ldt */
aload 4 /* wallOffsets */
iload 18 /* m */
iconst_1
iadd
iaload
aload 4 /* wallOffsets */
iload 18 /* m */
iaload
isub
i2l
invokevirtual java.time.LocalDateTime.plusSeconds:(J)Ljava/time/LocalDateTime;
astore 30 /* startLDT */
start local 30 // java.time.LocalDateTime startLDT
180: .line 689
StackMap locals: java.time.LocalDateTime
StackMap stack:
aload 3 /* savingsInstantTransitions */
arraylength
iconst_1
isub
istore 18 /* m */
181: .line 690
aload 4 /* wallOffsets */
iload 18 /* m */
iaload
invokestatic java.time.ZoneOffset.ofTotalSeconds:(I)Ljava/time/ZoneOffset;
astore 27 /* before */
182: .line 691
aload 4 /* wallOffsets */
iload 18 /* m */
iconst_1
iadd
iaload
invokestatic java.time.ZoneOffset.ofTotalSeconds:(I)Ljava/time/ZoneOffset;
astore 28 /* after */
183: .line 692
aload 3 /* savingsInstantTransitions */
iload 18 /* m */
laload
iconst_0
aload 27 /* before */
invokestatic java.time.LocalDateTime.ofEpochSecond:(JILjava/time/ZoneOffset;)Ljava/time/LocalDateTime;
astore 29 /* ldt */
184: .line 694
aload 28 /* after */
invokevirtual java.time.ZoneOffset.getTotalSeconds:()I
aload 27 /* before */
invokevirtual java.time.ZoneOffset.getTotalSeconds:()I
if_icmple 187
185: .line 695
aload 29 /* ldt */
aload 4 /* wallOffsets */
iload 18 /* m */
iconst_1
iadd
iaload
aload 4 /* wallOffsets */
iload 18 /* m */
iaload
isub
i2l
invokevirtual java.time.LocalDateTime.plusSeconds:(J)Ljava/time/LocalDateTime;
astore 31 /* endLDT */
start local 31 // java.time.LocalDateTime endLDT
186: .line 696
goto 188
end local 31 // java.time.LocalDateTime endLDT
187: .line 697
StackMap locals:
StackMap stack:
aload 29 /* ldt */
astore 31 /* endLDT */
start local 31 // java.time.LocalDateTime endLDT
188: .line 699
StackMap locals: java.time.LocalDateTime
StackMap stack:
bipush 10
newarray 10
astore 9 /* params */
189: .line 700
aload 9 /* params */
iconst_0
aload 30 /* startLDT */
invokevirtual java.time.LocalDateTime.getMonthValue:()I
iconst_1
isub
iastore
190: .line 701
aload 9 /* params */
iconst_1
aload 30 /* startLDT */
invokevirtual java.time.LocalDateTime.getDayOfMonth:()I
iastore
191: .line 702
aload 9 /* params */
iconst_2
iconst_0
iastore
192: .line 703
aload 9 /* params */
iconst_3
aload 30 /* startLDT */
invokevirtual java.time.LocalDateTime.toLocalTime:()Ljava/time/LocalTime;
invokevirtual java.time.LocalTime.toSecondOfDay:()I
sipush 1000
imul
iastore
193: .line 704
aload 9 /* params */
iconst_4
iconst_0
iastore
194: .line 705
aload 9 /* params */
iconst_5
aload 31 /* endLDT */
invokevirtual java.time.LocalDateTime.getMonthValue:()I
iconst_1
isub
iastore
195: .line 706
aload 9 /* params */
bipush 6
aload 31 /* endLDT */
invokevirtual java.time.LocalDateTime.getDayOfMonth:()I
iastore
196: .line 707
aload 9 /* params */
bipush 7
iconst_0
iastore
197: .line 708
aload 9 /* params */
bipush 8
aload 31 /* endLDT */
invokevirtual java.time.LocalDateTime.toLocalTime:()Ljava/time/LocalTime;
invokevirtual java.time.LocalTime.toSecondOfDay:()I
sipush 1000
imul
iastore
198: .line 709
aload 9 /* params */
bipush 9
iconst_0
iastore
199: .line 710
iload 21 /* startOffset */
iload 22 /* startStd */
isub
sipush 1000
imul
istore 7 /* dstSavings */
end local 31 // java.time.LocalDateTime endLDT
end local 30 // java.time.LocalDateTime startLDT
end local 29 // java.time.LocalDateTime ldt
end local 28 // java.time.ZoneOffset after
end local 27 // java.time.ZoneOffset before
end local 26 // int endStd
end local 25 // int endOffset
end local 23 // long endTrans
end local 22 // int startStd
end local 21 // int startOffset
end local 19 // long startTrans
end local 18 // int m
200: .line 714
StackMap locals: java.lang.String long[] int[] long[] int[] sun.util.calendar.ZoneInfoFile$ZoneOffsetTransitionRule[] int int int int[] int long[] int[] int int int int int
StackMap stack:
aload 11 /* transitions */
ifnull 205
aload 11 /* transitions */
arraylength
iload 14 /* nTrans */
if_icmpeq 205
201: .line 715
iload 14 /* nTrans */
ifne 204
202: .line 716
aconst_null
astore 11 /* transitions */
203: .line 717
goto 205
204: .line 718
StackMap locals:
StackMap stack:
aload 11 /* transitions */
iload 14 /* nTrans */
invokestatic java.util.Arrays.copyOf:([JI)[J
astore 11 /* transitions */
205: .line 721
StackMap locals:
StackMap stack:
aload 12 /* offsets */
ifnull 210
aload 12 /* offsets */
arraylength
iload 13 /* nOffsets */
if_icmpeq 210
206: .line 722
iload 13 /* nOffsets */
ifne 209
207: .line 723
aconst_null
astore 12 /* offsets */
208: .line 724
goto 210
209: .line 725
StackMap locals:
StackMap stack:
aload 12 /* offsets */
iload 13 /* nOffsets */
invokestatic java.util.Arrays.copyOf:([II)[I
astore 12 /* offsets */
210: .line 728
StackMap locals:
StackMap stack:
aload 11 /* transitions */
ifnull 228
211: .line 729
new sun.util.calendar.ZoneInfoFile$Checksum
dup
invokespecial sun.util.calendar.ZoneInfoFile$Checksum.<init>:()V
astore 18 /* sum */
start local 18 // sun.util.calendar.ZoneInfoFile$Checksum sum
212: .line 730
iconst_0
istore 16 /* i */
goto 226
213: .line 731
StackMap locals: sun.util.calendar.ZoneInfoFile$Checksum
StackMap stack:
aload 11 /* transitions */
iload 16 /* i */
laload
lstore 19 /* val */
start local 19 // long val
214: .line 732
lload 19 /* val */
iconst_4
lushr
ldc 15
land
l2i
istore 21 /* dst */
start local 21 // int dst
215: .line 733
iload 21 /* dst */
ifne 216
goto 217
StackMap locals: long int
StackMap stack:
216: aload 12 /* offsets */
iload 21 /* dst */
iaload
pop
217: .line 734
StackMap locals:
StackMap stack:
lload 19 /* val */
ldc 15
land
l2i
istore 22 /* index */
start local 22 // int index
218: .line 735
aload 12 /* offsets */
iload 22 /* index */
iaload
pop
219: .line 736
lload 19 /* val */
bipush 12
lshr
lstore 23 /* second */
start local 23 // long second
220: .line 742
aload 18 /* sum */
lload 23 /* second */
iload 22 /* index */
i2l
ladd
invokevirtual sun.util.calendar.ZoneInfoFile$Checksum.update:(J)V
221: .line 743
aload 18 /* sum */
iload 22 /* index */
invokevirtual sun.util.calendar.ZoneInfoFile$Checksum.update:(I)V
222: .line 744
aload 18 /* sum */
iload 21 /* dst */
ifne 223
iconst_m1
goto 224
StackMap locals: java.lang.String long[] int[] long[] int[] sun.util.calendar.ZoneInfoFile$ZoneOffsetTransitionRule[] int int int int[] int long[] int[] int int int int int sun.util.calendar.ZoneInfoFile$Checksum long int int long
StackMap stack: sun.util.calendar.ZoneInfoFile$Checksum
223: iload 21 /* dst */
StackMap locals: java.lang.String long[] int[] long[] int[] sun.util.calendar.ZoneInfoFile$ZoneOffsetTransitionRule[] int int int int[] int long[] int[] int int int int int sun.util.calendar.ZoneInfoFile$Checksum long int int long
StackMap stack: sun.util.calendar.ZoneInfoFile$Checksum int
224: invokevirtual sun.util.calendar.ZoneInfoFile$Checksum.update:(I)V
end local 23 // long second
end local 22 // int index
end local 21 // int dst
end local 19 // long val
225: .line 730
iinc 16 /* i */ 1
StackMap locals: java.lang.String long[] int[] long[] int[] sun.util.calendar.ZoneInfoFile$ZoneOffsetTransitionRule[] int int int int[] int long[] int[] int int int int int sun.util.calendar.ZoneInfoFile$Checksum
StackMap stack:
226: iload 16 /* i */
aload 11 /* transitions */
arraylength
if_icmplt 213
227: .line 746
aload 18 /* sum */
invokevirtual sun.util.calendar.ZoneInfoFile$Checksum.getValue:()J
l2i
istore 8 /* checksum */
end local 18 // sun.util.calendar.ZoneInfoFile$Checksum sum
end local 17 // int k
end local 16 // int i
end local 15 // int lastyear
228: .line 749
StackMap locals: java.lang.String long[] int[] long[] int[] sun.util.calendar.ZoneInfoFile$ZoneOffsetTransitionRule[] int int int int[] int long[] int[] int int
StackMap stack:
new sun.util.calendar.ZoneInfo
dup
aload 0 /* zoneId */
iload 6 /* rawOffset */
iload 7 /* dstSavings */
iload 8 /* checksum */
aload 11 /* transitions */
229: .line 750
aload 12 /* offsets */
aload 9 /* params */
iload 10 /* willGMTOffsetChange */
230: .line 749
invokespecial sun.util.calendar.ZoneInfo.<init>:(Ljava/lang/String;III[J[I[IZ)V
areturn
end local 14 // int nTrans
end local 13 // int nOffsets
end local 12 // int[] offsets
end local 11 // long[] transitions
end local 10 // boolean willGMTOffsetChange
end local 9 // int[] params
end local 8 // int checksum
end local 7 // int dstSavings
end local 6 // int rawOffset
end local 5 // sun.util.calendar.ZoneInfoFile$ZoneOffsetTransitionRule[] lastRules
end local 4 // int[] wallOffsets
end local 3 // long[] savingsInstantTransitions
end local 2 // int[] standardOffsets
end local 1 // long[] standardTransitions
end local 0 // java.lang.String zoneId
LocalVariableTable:
Start End Slot Name Signature
0 231 0 zoneId Ljava/lang/String;
0 231 1 standardTransitions [J
0 231 2 standardOffsets [I
0 231 3 savingsInstantTransitions [J
0 231 4 wallOffsets [I
0 231 5 lastRules [Lsun/util/calendar/ZoneInfoFile$ZoneOffsetTransitionRule;
1 231 6 rawOffset I
2 231 7 dstSavings I
3 231 8 checksum I
4 231 9 params [I
5 231 10 willGMTOffsetChange Z
13 231 11 transitions [J
14 231 12 offsets [I
15 231 13 nOffsets I
16 231 14 nTrans I
22 228 15 lastyear I
23 228 16 i I
24 228 17 k I
41 69 18 trans J
45 59 20 trans_s J
73 82 18 trans J
75 81 20 offset I
76 81 21 offsetIndex I
87 98 18 zotr Lsun/util/calendar/ZoneInfoFile$ZoneOffsetTransitionRule;
88 98 22 trans J
102 152 18 startRule Lsun/util/calendar/ZoneInfoFile$ZoneOffsetTransitionRule;
103 152 19 endRule Lsun/util/calendar/ZoneInfoFile$ZoneOffsetTransitionRule;
107 109 20 tmp Lsun/util/calendar/ZoneInfoFile$ZoneOffsetTransitionRule;
111 152 20 dom I
112 152 21 dow I
156 162 18 trans J
157 162 20 offsetIndex I
165 200 18 m I
166 200 19 startTrans J
167 200 21 startOffset I
168 200 22 startStd I
169 200 23 endTrans J
170 200 25 endOffset I
171 200 26 endStd I
174 200 27 before Ljava/time/ZoneOffset;
175 200 28 after Ljava/time/ZoneOffset;
176 200 29 ldt Ljava/time/LocalDateTime;
178 179 30 startLDT Ljava/time/LocalDateTime;
180 200 30 startLDT Ljava/time/LocalDateTime;
186 187 31 endLDT Ljava/time/LocalDateTime;
188 200 31 endLDT Ljava/time/LocalDateTime;
212 228 18 sum Lsun/util/calendar/ZoneInfoFile$Checksum;
214 225 19 val J
215 225 21 dst I
218 225 22 index I
220 225 23 second J
MethodParameters:
Name Flags
zoneId
standardTransitions
standardOffsets
savingsInstantTransitions
wallOffsets
lastRules
private static int getStandardOffset(long[], int[], long);
descriptor: ([J[IJ)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=5, args_size=3
start local 0 // long[] standardTransitions
start local 1 // int[] standardOffsets
start local 2 // long epochSec
0: .line 765
iconst_0
istore 4 /* index */
start local 4 // int index
1: .line 766
goto 5
2: .line 767
StackMap locals: int
StackMap stack:
lload 2 /* epochSec */
aload 0 /* standardTransitions */
iload 4 /* index */
laload
lcmp
ifge 4
3: .line 768
goto 6
4: .line 766
StackMap locals:
StackMap stack:
iinc 4 /* index */ 1
StackMap locals:
StackMap stack:
5: iload 4 /* index */
aload 0 /* standardTransitions */
arraylength
if_icmplt 2
6: .line 771
StackMap locals:
StackMap stack:
aload 1 /* standardOffsets */
iload 4 /* index */
iaload
ireturn
end local 4 // int index
end local 2 // long epochSec
end local 1 // int[] standardOffsets
end local 0 // long[] standardTransitions
LocalVariableTable:
Start End Slot Name Signature
0 7 0 standardTransitions [J
0 7 1 standardOffsets [I
0 7 2 epochSec J
1 7 4 index I
MethodParameters:
Name Flags
standardTransitions
standardOffsets
epochSec
private static int getYear(long, int);
descriptor: (JI)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=8, locals=17, args_size=2
start local 0 // long epochSecond
start local 2 // int offset
0: .line 779
lload 0 /* epochSecond */
iload 2 /* offset */
i2l
ladd
lstore 3 /* second */
start local 3 // long second
1: .line 780
lload 3 /* second */
ldc 86400
invokestatic java.lang.Math.floorDiv:(JJ)J
lstore 5 /* epochDay */
start local 5 // long epochDay
2: .line 781
lload 5 /* epochDay */
ldc 719528
ladd
lstore 7 /* zeroDay */
start local 7 // long zeroDay
3: .line 783
lload 7 /* zeroDay */
ldc 60
lsub
lstore 7 /* zeroDay */
4: .line 784
lconst_0
lstore 9 /* adjust */
start local 9 // long adjust
5: .line 785
lload 7 /* zeroDay */
lconst_0
lcmp
ifge 9
6: .line 787
lload 7 /* zeroDay */
lconst_1
ladd
ldc 146097
ldiv
lconst_1
lsub
lstore 11 /* adjustCycles */
start local 11 // long adjustCycles
7: .line 788
lload 11 /* adjustCycles */
ldc 400
lmul
lstore 9 /* adjust */
8: .line 789
lload 7 /* zeroDay */
lload 11 /* adjustCycles */
lneg
ldc 146097
lmul
ladd
lstore 7 /* zeroDay */
end local 11 // long adjustCycles
9: .line 791
StackMap locals: long int long long long long
StackMap stack:
ldc 400
lload 7 /* zeroDay */
lmul
ldc 591
ladd
ldc 146097
ldiv
lstore 11 /* yearEst */
start local 11 // long yearEst
10: .line 792
lload 7 /* zeroDay */
ldc 365
lload 11 /* yearEst */
lmul
lload 11 /* yearEst */
ldc 4
ldiv
ladd
lload 11 /* yearEst */
ldc 100
ldiv
lsub
lload 11 /* yearEst */
ldc 400
ldiv
ladd
lsub
lstore 13 /* doyEst */
start local 13 // long doyEst
11: .line 793
lload 13 /* doyEst */
lconst_0
lcmp
ifge 14
12: .line 795
lload 11 /* yearEst */
lconst_1
lsub
lstore 11 /* yearEst */
13: .line 796
lload 7 /* zeroDay */
ldc 365
lload 11 /* yearEst */
lmul
lload 11 /* yearEst */
ldc 4
ldiv
ladd
lload 11 /* yearEst */
ldc 100
ldiv
lsub
lload 11 /* yearEst */
ldc 400
ldiv
ladd
lsub
lstore 13 /* doyEst */
14: .line 798
StackMap locals: long long
StackMap stack:
lload 11 /* yearEst */
lload 9 /* adjust */
ladd
lstore 11 /* yearEst */
15: .line 799
lload 13 /* doyEst */
l2i
istore 15 /* marchDoy0 */
start local 15 // int marchDoy0
16: .line 801
iload 15 /* marchDoy0 */
iconst_5
imul
iconst_2
iadd
sipush 153
idiv
istore 16 /* marchMonth0 */
start local 16 // int marchMonth0
17: .line 802
iload 16 /* marchMonth0 */
iconst_2
iadd
bipush 12
irem
pop
18: .line 803
iload 16 /* marchMonth0 */
sipush 306
imul
iconst_5
iadd
bipush 10
idiv
pop
19: .line 804
lload 11 /* yearEst */
iload 16 /* marchMonth0 */
bipush 10
idiv
i2l
ladd
lstore 11 /* yearEst */
20: .line 805
lload 11 /* yearEst */
l2i
ireturn
end local 16 // int marchMonth0
end local 15 // int marchDoy0
end local 13 // long doyEst
end local 11 // long yearEst
end local 9 // long adjust
end local 7 // long zeroDay
end local 5 // long epochDay
end local 3 // long second
end local 2 // int offset
end local 0 // long epochSecond
LocalVariableTable:
Start End Slot Name Signature
0 21 0 epochSecond J
0 21 2 offset I
1 21 3 second J
2 21 5 epochDay J
3 21 7 zeroDay J
5 21 9 adjust J
7 9 11 adjustCycles J
10 21 11 yearEst J
11 21 13 doyEst J
16 21 15 marchDoy0 I
17 21 16 marchMonth0 I
MethodParameters:
Name Flags
epochSecond
offset
private static int indexOf(int[], int, int, int);
descriptor: ([IIII)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=4, args_size=4
start local 0 // int[] offsets
start local 1 // int from
start local 2 // int nOffsets
start local 3 // int offset
0: .line 833
iload 3 /* offset */
sipush 1000
imul
istore 3 /* offset */
1: .line 834
goto 5
2: .line 835
StackMap locals:
StackMap stack:
aload 0 /* offsets */
iload 1 /* from */
iaload
iload 3 /* offset */
if_icmpne 4
3: .line 836
iload 1 /* from */
ireturn
4: .line 834
StackMap locals:
StackMap stack:
iinc 1 /* from */ 1
StackMap locals:
StackMap stack:
5: iload 1 /* from */
iload 2 /* nOffsets */
if_icmplt 2
6: .line 838
aload 0 /* offsets */
iload 1 /* from */
iload 3 /* offset */
iastore
7: .line 839
iload 1 /* from */
ireturn
end local 3 // int offset
end local 2 // int nOffsets
end local 1 // int from
end local 0 // int[] offsets
LocalVariableTable:
Start End Slot Name Signature
0 8 0 offsets [I
0 8 1 from I
0 8 2 nOffsets I
0 8 3 offset I
MethodParameters:
Name Flags
offsets
from
nOffsets
offset
private static int addTrans(long[], int, int[], int, long, int, int);
descriptor: ([JI[IIJII)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=8, locals=10, args_size=7
start local 0 // long[] transitions
start local 1 // int nTrans
start local 2 // int[] offsets
start local 3 // int nOffsets
start local 4 // long trans
start local 6 // int offset
start local 7 // int stdOffset
0: .line 846
aload 2 /* offsets */
iconst_0
iload 3 /* nOffsets */
iload 6 /* offset */
invokestatic sun.util.calendar.ZoneInfoFile.indexOf:([IIII)I
istore 8 /* offsetIndex */
start local 8 // int offsetIndex
1: .line 847
iload 8 /* offsetIndex */
iload 3 /* nOffsets */
if_icmpne 3
2: .line 848
iinc 3 /* nOffsets */ 1
3: .line 849
StackMap locals: int
StackMap stack:
iconst_0
istore 9 /* dstIndex */
start local 9 // int dstIndex
4: .line 850
iload 6 /* offset */
iload 7 /* stdOffset */
if_icmpeq 8
5: .line 851
aload 2 /* offsets */
iconst_1
iload 3 /* nOffsets */
iload 6 /* offset */
iload 7 /* stdOffset */
isub
invokestatic sun.util.calendar.ZoneInfoFile.indexOf:([IIII)I
istore 9 /* dstIndex */
6: .line 852
iload 9 /* dstIndex */
iload 3 /* nOffsets */
if_icmpne 8
7: .line 853
iinc 3 /* nOffsets */ 1
8: .line 855
StackMap locals: int
StackMap stack:
aload 0 /* transitions */
iload 1 /* nTrans */
lload 4 /* trans */
ldc 1000
lmul
bipush 12
lshl
9: .line 856
iload 9 /* dstIndex */
iconst_4
ishl
i2l
ldc 240
land
lor
10: .line 857
iload 8 /* offsetIndex */
i2l
ldc 15
land
lor
11: .line 855
lastore
12: .line 858
iload 3 /* nOffsets */
ireturn
end local 9 // int dstIndex
end local 8 // int offsetIndex
end local 7 // int stdOffset
end local 6 // int offset
end local 4 // long trans
end local 3 // int nOffsets
end local 2 // int[] offsets
end local 1 // int nTrans
end local 0 // long[] transitions
LocalVariableTable:
Start End Slot Name Signature
0 13 0 transitions [J
0 13 1 nTrans I
0 13 2 offsets [I
0 13 3 nOffsets I
0 13 4 trans J
0 13 6 offset I
0 13 7 stdOffset I
1 13 8 offsetIndex I
4 13 9 dstIndex I
MethodParameters:
Name Flags
transitions
nTrans
offsets
nOffsets
trans
offset
stdOffset
}
SourceFile: "ZoneInfoFile.java"
NestMembers:
sun.util.calendar.ZoneInfoFile$1 sun.util.calendar.ZoneInfoFile$Checksum sun.util.calendar.ZoneInfoFile$ZoneOffsetTransitionRule
InnerClasses:
sun.util.calendar.ZoneInfoFile$1
private Checksum = sun.util.calendar.ZoneInfoFile$Checksum of sun.util.calendar.ZoneInfoFile
private ZoneOffsetTransitionRule = sun.util.calendar.ZoneInfoFile$ZoneOffsetTransitionRule of sun.util.calendar.ZoneInfoFile