public final class java.time.zone.ZoneRules implements java.io.Serializable
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: java.time.zone.ZoneRules
super_class: java.lang.Object
{
private static final long serialVersionUID;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 3044319355680032515
private static final int LAST_CACHED_YEAR;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2100
private final long[] standardTransitions;
descriptor: [J
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.time.ZoneOffset[] standardOffsets;
descriptor: [Ljava/time/ZoneOffset;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final long[] savingsInstantTransitions;
descriptor: [J
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.time.LocalDateTime[] savingsLocalTransitions;
descriptor: [Ljava/time/LocalDateTime;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.time.ZoneOffset[] wallOffsets;
descriptor: [Ljava/time/ZoneOffset;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.time.zone.ZoneOffsetTransitionRule[] lastRules;
descriptor: [Ljava/time/zone/ZoneOffsetTransitionRule;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final transient java.util.concurrent.ConcurrentMap<java.lang.Integer, java.time.zone.ZoneOffsetTransition[]> lastRulesCache;
descriptor: Ljava/util/concurrent/ConcurrentMap;
flags: (0x0092) ACC_PRIVATE, ACC_FINAL, ACC_TRANSIENT
Signature: Ljava/util/concurrent/ConcurrentMap<Ljava/lang/Integer;[Ljava/time/zone/ZoneOffsetTransition;>;
private static final long[] EMPTY_LONG_ARRAY;
descriptor: [J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.time.zone.ZoneOffsetTransitionRule[] EMPTY_LASTRULES;
descriptor: [Ljava/time/zone/ZoneOffsetTransitionRule;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.time.LocalDateTime[] EMPTY_LDT_ARRAY;
descriptor: [Ljava/time/LocalDateTime;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: iconst_0
newarray 11
putstatic java.time.zone.ZoneRules.EMPTY_LONG_ARRAY:[J
1: iconst_0
anewarray java.time.zone.ZoneOffsetTransitionRule
2: putstatic java.time.zone.ZoneRules.EMPTY_LASTRULES:[Ljava/time/zone/ZoneOffsetTransitionRule;
3: iconst_0
anewarray java.time.LocalDateTime
putstatic java.time.zone.ZoneRules.EMPTY_LDT_ARRAY:[Ljava/time/LocalDateTime;
return
LocalVariableTable:
Start End Slot Name Signature
public static java.time.zone.ZoneRules of(java.time.ZoneOffset, java.time.ZoneOffset, java.util.List<java.time.zone.ZoneOffsetTransition>, java.util.List<java.time.zone.ZoneOffsetTransition>, java.util.List<java.time.zone.ZoneOffsetTransitionRule>);
descriptor: (Ljava/time/ZoneOffset;Ljava/time/ZoneOffset;Ljava/util/List;Ljava/util/List;Ljava/util/List;)Ljava/time/zone/ZoneRules;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
ldc "baseStandardOffset"
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
1: aload 1
ldc "baseWallOffset"
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
2: aload 2
ldc "standardOffsetTransitionList"
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
3: aload 3
ldc "transitionList"
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
4: aload 4
ldc "lastRules"
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
5: new java.time.zone.ZoneRules
dup
aload 0
aload 1
6: aload 2
aload 3
aload 4
7: invokespecial java.time.zone.ZoneRules.<init>:(Ljava/time/ZoneOffset;Ljava/time/ZoneOffset;Ljava/util/List;Ljava/util/List;Ljava/util/List;)V
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 baseStandardOffset Ljava/time/ZoneOffset;
0 8 1 baseWallOffset Ljava/time/ZoneOffset;
0 8 2 standardOffsetTransitionList Ljava/util/List<Ljava/time/zone/ZoneOffsetTransition;>;
0 8 3 transitionList Ljava/util/List<Ljava/time/zone/ZoneOffsetTransition;>;
0 8 4 lastRules Ljava/util/List<Ljava/time/zone/ZoneOffsetTransitionRule;>;
Signature: (Ljava/time/ZoneOffset;Ljava/time/ZoneOffset;Ljava/util/List<Ljava/time/zone/ZoneOffsetTransition;>;Ljava/util/List<Ljava/time/zone/ZoneOffsetTransition;>;Ljava/util/List<Ljava/time/zone/ZoneOffsetTransitionRule;>;)Ljava/time/zone/ZoneRules;
MethodParameters:
Name Flags
baseStandardOffset
baseWallOffset
standardOffsetTransitionList
transitionList
lastRules
public static java.time.zone.ZoneRules of(java.time.ZoneOffset);
descriptor: (Ljava/time/ZoneOffset;)Ljava/time/zone/ZoneRules;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
ldc "offset"
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
1: new java.time.zone.ZoneRules
dup
aload 0
invokespecial java.time.zone.ZoneRules.<init>:(Ljava/time/ZoneOffset;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 offset Ljava/time/ZoneOffset;
MethodParameters:
Name Flags
offset
void <init>(java.time.ZoneOffset, java.time.ZoneOffset, java.util.List<java.time.zone.ZoneOffsetTransition>, java.util.List<java.time.zone.ZoneOffsetTransition>, java.util.List<java.time.zone.ZoneOffsetTransitionRule>);
descriptor: (Ljava/time/ZoneOffset;Ljava/time/ZoneOffset;Ljava/util/List;Ljava/util/List;Ljava/util/List;)V
flags: (0x0000)
Code:
stack=4, locals=10, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
2: new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putfield java.time.zone.ZoneRules.lastRulesCache:Ljava/util/concurrent/ConcurrentMap;
3: aload 0
aload 3
invokeinterface java.util.List.size:()I
newarray 11
putfield java.time.zone.ZoneRules.standardTransitions:[J
4: aload 0
aload 3
invokeinterface java.util.List.size:()I
iconst_1
iadd
anewarray java.time.ZoneOffset
putfield java.time.zone.ZoneRules.standardOffsets:[Ljava/time/ZoneOffset;
5: aload 0
getfield java.time.zone.ZoneRules.standardOffsets:[Ljava/time/ZoneOffset;
iconst_0
aload 1
aastore
6: iconst_0
istore 6
start local 6 7: goto 11
8: StackMap locals: java.time.zone.ZoneRules java.time.ZoneOffset java.time.ZoneOffset java.util.List java.util.List java.util.List int
StackMap stack:
aload 0
getfield java.time.zone.ZoneRules.standardTransitions:[J
iload 6
aload 3
iload 6
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.time.zone.ZoneOffsetTransition
invokevirtual java.time.zone.ZoneOffsetTransition.toEpochSecond:()J
lastore
9: aload 0
getfield java.time.zone.ZoneRules.standardOffsets:[Ljava/time/ZoneOffset;
iload 6
iconst_1
iadd
aload 3
iload 6
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.time.zone.ZoneOffsetTransition
invokevirtual java.time.zone.ZoneOffsetTransition.getOffsetAfter:()Ljava/time/ZoneOffset;
aastore
10: iinc 6 1
StackMap locals:
StackMap stack:
11: iload 6
aload 3
invokeinterface java.util.List.size:()I
if_icmplt 8
end local 6 12: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 6
start local 6 13: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 7
start local 7 14: aload 7
aload 2
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
15: aload 4
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 9
goto 24
StackMap locals: java.time.zone.ZoneRules java.time.ZoneOffset java.time.ZoneOffset java.util.List java.util.List java.util.List java.util.List java.util.List top java.util.Iterator
StackMap stack:
16: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.time.zone.ZoneOffsetTransition
astore 8
start local 8 17: aload 8
invokevirtual java.time.zone.ZoneOffsetTransition.isGap:()Z
ifeq 21
18: aload 6
aload 8
invokevirtual java.time.zone.ZoneOffsetTransition.getDateTimeBefore:()Ljava/time/LocalDateTime;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
19: aload 6
aload 8
invokevirtual java.time.zone.ZoneOffsetTransition.getDateTimeAfter:()Ljava/time/LocalDateTime;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
20: goto 23
21: StackMap locals: java.time.zone.ZoneRules java.time.ZoneOffset java.time.ZoneOffset java.util.List java.util.List java.util.List java.util.List java.util.List java.time.zone.ZoneOffsetTransition java.util.Iterator
StackMap stack:
aload 6
aload 8
invokevirtual java.time.zone.ZoneOffsetTransition.getDateTimeAfter:()Ljava/time/LocalDateTime;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
22: aload 6
aload 8
invokevirtual java.time.zone.ZoneOffsetTransition.getDateTimeBefore:()Ljava/time/LocalDateTime;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
23: StackMap locals:
StackMap stack:
aload 7
aload 8
invokevirtual java.time.zone.ZoneOffsetTransition.getOffsetAfter:()Ljava/time/ZoneOffset;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 8 24: StackMap locals: java.time.zone.ZoneRules java.time.ZoneOffset java.time.ZoneOffset java.util.List java.util.List java.util.List java.util.List java.util.List top java.util.Iterator
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 16
25: aload 0
aload 6
aload 6
invokeinterface java.util.List.size:()I
anewarray java.time.LocalDateTime
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.time.LocalDateTime[]
putfield java.time.zone.ZoneRules.savingsLocalTransitions:[Ljava/time/LocalDateTime;
26: aload 0
aload 7
aload 7
invokeinterface java.util.List.size:()I
anewarray java.time.ZoneOffset
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.time.ZoneOffset[]
putfield java.time.zone.ZoneRules.wallOffsets:[Ljava/time/ZoneOffset;
27: aload 0
aload 4
invokeinterface java.util.List.size:()I
newarray 11
putfield java.time.zone.ZoneRules.savingsInstantTransitions:[J
28: iconst_0
istore 8
start local 8 29: goto 32
30: StackMap locals: java.time.zone.ZoneRules java.time.ZoneOffset java.time.ZoneOffset java.util.List java.util.List java.util.List java.util.List java.util.List int
StackMap stack:
aload 0
getfield java.time.zone.ZoneRules.savingsInstantTransitions:[J
iload 8
aload 4
iload 8
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.time.zone.ZoneOffsetTransition
invokevirtual java.time.zone.ZoneOffsetTransition.toEpochSecond:()J
lastore
31: iinc 8 1
StackMap locals:
StackMap stack:
32: iload 8
aload 4
invokeinterface java.util.List.size:()I
if_icmplt 30
end local 8 33: aload 5
invokeinterface java.util.List.size:()I
bipush 16
if_icmple 35
34: new java.lang.IllegalArgumentException
dup
ldc "Too many transition rules"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
35: StackMap locals:
StackMap stack:
aload 0
aload 5
aload 5
invokeinterface java.util.List.size:()I
anewarray java.time.zone.ZoneOffsetTransitionRule
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.time.zone.ZoneOffsetTransitionRule[]
putfield java.time.zone.ZoneRules.lastRules:[Ljava/time/zone/ZoneOffsetTransitionRule;
36: return
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 37 0 this Ljava/time/zone/ZoneRules;
0 37 1 baseStandardOffset Ljava/time/ZoneOffset;
0 37 2 baseWallOffset Ljava/time/ZoneOffset;
0 37 3 standardOffsetTransitionList Ljava/util/List<Ljava/time/zone/ZoneOffsetTransition;>;
0 37 4 transitionList Ljava/util/List<Ljava/time/zone/ZoneOffsetTransition;>;
0 37 5 lastRules Ljava/util/List<Ljava/time/zone/ZoneOffsetTransitionRule;>;
7 12 6 i I
13 37 6 localTransitionList Ljava/util/List<Ljava/time/LocalDateTime;>;
14 37 7 localTransitionOffsetList Ljava/util/List<Ljava/time/ZoneOffset;>;
17 24 8 trans Ljava/time/zone/ZoneOffsetTransition;
29 33 8 i I
Signature: (Ljava/time/ZoneOffset;Ljava/time/ZoneOffset;Ljava/util/List<Ljava/time/zone/ZoneOffsetTransition;>;Ljava/util/List<Ljava/time/zone/ZoneOffsetTransition;>;Ljava/util/List<Ljava/time/zone/ZoneOffsetTransitionRule;>;)V
MethodParameters:
Name Flags
baseStandardOffset
baseWallOffset
standardOffsetTransitionList
transitionList
lastRules
private void <init>(long[], java.time.ZoneOffset[], long[], java.time.ZoneOffset[], java.time.zone.ZoneOffsetTransitionRule[]);
descriptor: ([J[Ljava/time/ZoneOffset;[J[Ljava/time/ZoneOffset;[Ljava/time/zone/ZoneOffsetTransitionRule;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=11, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
2: new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putfield java.time.zone.ZoneRules.lastRulesCache:Ljava/util/concurrent/ConcurrentMap;
3: aload 0
aload 1
putfield java.time.zone.ZoneRules.standardTransitions:[J
4: aload 0
aload 2
putfield java.time.zone.ZoneRules.standardOffsets:[Ljava/time/ZoneOffset;
5: aload 0
aload 3
putfield java.time.zone.ZoneRules.savingsInstantTransitions:[J
6: aload 0
aload 4
putfield java.time.zone.ZoneRules.wallOffsets:[Ljava/time/ZoneOffset;
7: aload 0
aload 5
putfield java.time.zone.ZoneRules.lastRules:[Ljava/time/zone/ZoneOffsetTransitionRule;
8: aload 3
arraylength
ifne 11
9: aload 0
getstatic java.time.zone.ZoneRules.EMPTY_LDT_ARRAY:[Ljava/time/LocalDateTime;
putfield java.time.zone.ZoneRules.savingsLocalTransitions:[Ljava/time/LocalDateTime;
10: goto 26
11: StackMap locals: java.time.zone.ZoneRules long[] java.time.ZoneOffset[] long[] java.time.ZoneOffset[] java.time.zone.ZoneOffsetTransitionRule[]
StackMap stack:
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 6
start local 6 12: iconst_0
istore 7
start local 7 13: goto 24
14: StackMap locals: java.util.List int
StackMap stack:
aload 4
iload 7
aaload
astore 8
start local 8 15: aload 4
iload 7
iconst_1
iadd
aaload
astore 9
start local 9 16: new java.time.zone.ZoneOffsetTransition
dup
aload 3
iload 7
laload
aload 8
aload 9
invokespecial java.time.zone.ZoneOffsetTransition.<init>:(JLjava/time/ZoneOffset;Ljava/time/ZoneOffset;)V
astore 10
start local 10 17: aload 10
invokevirtual java.time.zone.ZoneOffsetTransition.isGap:()Z
ifeq 21
18: aload 6
aload 10
invokevirtual java.time.zone.ZoneOffsetTransition.getDateTimeBefore:()Ljava/time/LocalDateTime;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
19: aload 6
aload 10
invokevirtual java.time.zone.ZoneOffsetTransition.getDateTimeAfter:()Ljava/time/LocalDateTime;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
20: goto 23
21: StackMap locals: java.time.ZoneOffset java.time.ZoneOffset java.time.zone.ZoneOffsetTransition
StackMap stack:
aload 6
aload 10
invokevirtual java.time.zone.ZoneOffsetTransition.getDateTimeAfter:()Ljava/time/LocalDateTime;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
22: aload 6
aload 10
invokevirtual java.time.zone.ZoneOffsetTransition.getDateTimeBefore:()Ljava/time/LocalDateTime;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 10 end local 9 end local 8 23: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
24: iload 7
aload 3
arraylength
if_icmplt 14
end local 7 25: aload 0
aload 6
aload 6
invokeinterface java.util.List.size:()I
anewarray java.time.LocalDateTime
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.time.LocalDateTime[]
putfield java.time.zone.ZoneRules.savingsLocalTransitions:[Ljava/time/LocalDateTime;
end local 6 26: StackMap locals:
StackMap stack:
return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Ljava/time/zone/ZoneRules;
0 27 1 standardTransitions [J
0 27 2 standardOffsets [Ljava/time/ZoneOffset;
0 27 3 savingsInstantTransitions [J
0 27 4 wallOffsets [Ljava/time/ZoneOffset;
0 27 5 lastRules [Ljava/time/zone/ZoneOffsetTransitionRule;
12 26 6 localTransitionList Ljava/util/List<Ljava/time/LocalDateTime;>;
13 25 7 i I
15 23 8 before Ljava/time/ZoneOffset;
16 23 9 after Ljava/time/ZoneOffset;
17 23 10 trans Ljava/time/zone/ZoneOffsetTransition;
MethodParameters:
Name Flags
standardTransitions
standardOffsets
savingsInstantTransitions
wallOffsets
lastRules
private void <init>(java.time.ZoneOffset);
descriptor: (Ljava/time/ZoneOffset;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
2: new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putfield java.time.zone.ZoneRules.lastRulesCache:Ljava/util/concurrent/ConcurrentMap;
3: aload 0
iconst_1
anewarray java.time.ZoneOffset
putfield java.time.zone.ZoneRules.standardOffsets:[Ljava/time/ZoneOffset;
4: aload 0
getfield java.time.zone.ZoneRules.standardOffsets:[Ljava/time/ZoneOffset;
iconst_0
aload 1
aastore
5: aload 0
getstatic java.time.zone.ZoneRules.EMPTY_LONG_ARRAY:[J
putfield java.time.zone.ZoneRules.standardTransitions:[J
6: aload 0
getstatic java.time.zone.ZoneRules.EMPTY_LONG_ARRAY:[J
putfield java.time.zone.ZoneRules.savingsInstantTransitions:[J
7: aload 0
getstatic java.time.zone.ZoneRules.EMPTY_LDT_ARRAY:[Ljava/time/LocalDateTime;
putfield java.time.zone.ZoneRules.savingsLocalTransitions:[Ljava/time/LocalDateTime;
8: aload 0
aload 0
getfield java.time.zone.ZoneRules.standardOffsets:[Ljava/time/ZoneOffset;
putfield java.time.zone.ZoneRules.wallOffsets:[Ljava/time/ZoneOffset;
9: aload 0
getstatic java.time.zone.ZoneRules.EMPTY_LASTRULES:[Ljava/time/zone/ZoneOffsetTransitionRule;
putfield java.time.zone.ZoneRules.lastRules:[Ljava/time/zone/ZoneOffsetTransitionRule;
10: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ljava/time/zone/ZoneRules;
0 11 1 offset Ljava/time/ZoneOffset;
MethodParameters:
Name Flags
offset
private void readObject(java.io.ObjectInputStream);
descriptor: (Ljava/io/ObjectInputStream;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: new java.io.InvalidObjectException
dup
ldc "Deserialization via serialization delegate"
invokespecial java.io.InvalidObjectException.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/time/zone/ZoneRules;
0 1 1 s Ljava/io/ObjectInputStream;
Exceptions:
throws java.io.InvalidObjectException
MethodParameters:
Name Flags
s
private java.lang.Object writeReplace();
descriptor: ()Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=1, args_size=1
start local 0 0: new java.time.zone.Ser
dup
iconst_1
aload 0
invokespecial java.time.zone.Ser.<init>:(BLjava/lang/Object;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/time/zone/ZoneRules;
void writeExternal(java.io.DataOutput);
descriptor: (Ljava/io/DataOutput;)V
flags: (0x0000)
Code:
stack=3, locals=7, args_size=2
start local 0 start local 1 0: aload 1
aload 0
getfield java.time.zone.ZoneRules.standardTransitions:[J
arraylength
invokeinterface java.io.DataOutput.writeInt:(I)V
1: aload 0
getfield java.time.zone.ZoneRules.standardTransitions:[J
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 5
StackMap locals: java.time.zone.ZoneRules java.io.DataOutput top top int int long[]
StackMap stack:
2: aload 6
iload 4
laload
lstore 2
start local 2 3: lload 2
aload 1
invokestatic java.time.zone.Ser.writeEpochSec:(JLjava/io/DataOutput;)V
end local 2 4: iinc 4 1
StackMap locals:
StackMap stack:
5: iload 4
iload 5
if_icmplt 2
6: aload 0
getfield java.time.zone.ZoneRules.standardOffsets:[Ljava/time/ZoneOffset;
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 10
StackMap locals: java.time.zone.ZoneRules java.io.DataOutput top int int java.time.ZoneOffset[]
StackMap stack:
7: aload 5
iload 3
aaload
astore 2
start local 2 8: aload 2
aload 1
invokestatic java.time.zone.Ser.writeOffset:(Ljava/time/ZoneOffset;Ljava/io/DataOutput;)V
end local 2 9: iinc 3 1
StackMap locals:
StackMap stack:
10: iload 3
iload 4
if_icmplt 7
11: aload 1
aload 0
getfield java.time.zone.ZoneRules.savingsInstantTransitions:[J
arraylength
invokeinterface java.io.DataOutput.writeInt:(I)V
12: aload 0
getfield java.time.zone.ZoneRules.savingsInstantTransitions:[J
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 16
StackMap locals: java.time.zone.ZoneRules java.io.DataOutput top top int int long[]
StackMap stack:
13: aload 6
iload 4
laload
lstore 2
start local 2 14: lload 2
aload 1
invokestatic java.time.zone.Ser.writeEpochSec:(JLjava/io/DataOutput;)V
end local 2 15: iinc 4 1
StackMap locals:
StackMap stack:
16: iload 4
iload 5
if_icmplt 13
17: aload 0
getfield java.time.zone.ZoneRules.wallOffsets:[Ljava/time/ZoneOffset;
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 21
StackMap locals: java.time.zone.ZoneRules java.io.DataOutput top int int java.time.ZoneOffset[]
StackMap stack:
18: aload 5
iload 3
aaload
astore 2
start local 2 19: aload 2
aload 1
invokestatic java.time.zone.Ser.writeOffset:(Ljava/time/ZoneOffset;Ljava/io/DataOutput;)V
end local 2 20: iinc 3 1
StackMap locals:
StackMap stack:
21: iload 3
iload 4
if_icmplt 18
22: aload 1
aload 0
getfield java.time.zone.ZoneRules.lastRules:[Ljava/time/zone/ZoneOffsetTransitionRule;
arraylength
invokeinterface java.io.DataOutput.writeByte:(I)V
23: aload 0
getfield java.time.zone.ZoneRules.lastRules:[Ljava/time/zone/ZoneOffsetTransitionRule;
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 27
StackMap locals: java.time.zone.ZoneRules java.io.DataOutput top int int java.time.zone.ZoneOffsetTransitionRule[]
StackMap stack:
24: aload 5
iload 3
aaload
astore 2
start local 2 25: aload 2
aload 1
invokevirtual java.time.zone.ZoneOffsetTransitionRule.writeExternal:(Ljava/io/DataOutput;)V
end local 2 26: iinc 3 1
StackMap locals:
StackMap stack:
27: iload 3
iload 4
if_icmplt 24
28: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Ljava/time/zone/ZoneRules;
0 29 1 out Ljava/io/DataOutput;
3 4 2 trans J
8 9 2 offset Ljava/time/ZoneOffset;
14 15 2 trans J
19 20 2 offset Ljava/time/ZoneOffset;
25 26 2 rule Ljava/time/zone/ZoneOffsetTransitionRule;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
out
static java.time.zone.ZoneRules readExternal(java.io.DataInput);
descriptor: (Ljava/io/DataInput;)Ljava/time/zone/ZoneRules;
flags: (0x0008) ACC_STATIC
Code:
stack=7, locals=10, args_size=1
start local 0 0: aload 0
invokeinterface java.io.DataInput.readInt:()I
istore 1
start local 1 1: iload 1
ifne 2
getstatic java.time.zone.ZoneRules.EMPTY_LONG_ARRAY:[J
goto 3
2: StackMap locals: int
StackMap stack:
iload 1
newarray 11
3: StackMap locals:
StackMap stack: long[]
astore 2
start local 2 4: iconst_0
istore 3
start local 3 5: goto 8
6: StackMap locals: long[] int
StackMap stack:
aload 2
iload 3
aload 0
invokestatic java.time.zone.Ser.readEpochSec:(Ljava/io/DataInput;)J
lastore
7: iinc 3 1
StackMap locals:
StackMap stack:
8: iload 3
iload 1
if_icmplt 6
end local 3 9: iload 1
iconst_1
iadd
anewarray java.time.ZoneOffset
astore 3
start local 3 10: iconst_0
istore 4
start local 4 11: goto 14
12: StackMap locals: java.io.DataInput int long[] java.time.ZoneOffset[] int
StackMap stack:
aload 3
iload 4
aload 0
invokestatic java.time.zone.Ser.readOffset:(Ljava/io/DataInput;)Ljava/time/ZoneOffset;
aastore
13: iinc 4 1
StackMap locals:
StackMap stack:
14: iload 4
aload 3
arraylength
if_icmplt 12
end local 4 15: aload 0
invokeinterface java.io.DataInput.readInt:()I
istore 4
start local 4 16: iload 4
ifne 17
getstatic java.time.zone.ZoneRules.EMPTY_LONG_ARRAY:[J
goto 18
17: StackMap locals:
StackMap stack:
iload 4
newarray 11
18: StackMap locals:
StackMap stack: long[]
astore 5
start local 5 19: iconst_0
istore 6
start local 6 20: goto 23
21: StackMap locals: long[] int
StackMap stack:
aload 5
iload 6
aload 0
invokestatic java.time.zone.Ser.readEpochSec:(Ljava/io/DataInput;)J
lastore
22: iinc 6 1
StackMap locals:
StackMap stack:
23: iload 6
iload 4
if_icmplt 21
end local 6 24: iload 4
iconst_1
iadd
anewarray java.time.ZoneOffset
astore 6
start local 6 25: iconst_0
istore 7
start local 7 26: goto 29
27: StackMap locals: java.io.DataInput int long[] java.time.ZoneOffset[] int long[] java.time.ZoneOffset[] int
StackMap stack:
aload 6
iload 7
aload 0
invokestatic java.time.zone.Ser.readOffset:(Ljava/io/DataInput;)Ljava/time/ZoneOffset;
aastore
28: iinc 7 1
StackMap locals:
StackMap stack:
29: iload 7
aload 6
arraylength
if_icmplt 27
end local 7 30: aload 0
invokeinterface java.io.DataInput.readByte:()B
istore 7
start local 7 31: iload 7
ifne 33
32: getstatic java.time.zone.ZoneRules.EMPTY_LASTRULES:[Ljava/time/zone/ZoneOffsetTransitionRule;
goto 34
StackMap locals:
StackMap stack:
33: iload 7
anewarray java.time.zone.ZoneOffsetTransitionRule
34: StackMap locals:
StackMap stack: java.time.zone.ZoneOffsetTransitionRule[]
astore 8
start local 8 35: iconst_0
istore 9
start local 9 36: goto 39
37: StackMap locals: java.time.zone.ZoneOffsetTransitionRule[] int
StackMap stack:
aload 8
iload 9
aload 0
invokestatic java.time.zone.ZoneOffsetTransitionRule.readExternal:(Ljava/io/DataInput;)Ljava/time/zone/ZoneOffsetTransitionRule;
aastore
38: iinc 9 1
StackMap locals:
StackMap stack:
39: iload 9
iload 7
if_icmplt 37
end local 9 40: new java.time.zone.ZoneRules
dup
aload 2
aload 3
aload 5
aload 6
aload 8
invokespecial java.time.zone.ZoneRules.<init>:([J[Ljava/time/ZoneOffset;[J[Ljava/time/ZoneOffset;[Ljava/time/zone/ZoneOffsetTransitionRule;)V
areturn
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 41 0 in Ljava/io/DataInput;
1 41 1 stdSize I
4 41 2 stdTrans [J
5 9 3 i I
10 41 3 stdOffsets [Ljava/time/ZoneOffset;
11 15 4 i I
16 41 4 savSize I
19 41 5 savTrans [J
20 24 6 i I
25 41 6 savOffsets [Ljava/time/ZoneOffset;
26 30 7 i I
31 41 7 ruleSize I
35 41 8 rules [Ljava/time/zone/ZoneOffsetTransitionRule;
36 40 9 i I
Exceptions:
throws java.io.IOException, java.lang.ClassNotFoundException
MethodParameters:
Name Flags
in
public boolean isFixedOffset();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.time.zone.ZoneRules.savingsInstantTransitions:[J
arraylength
ifne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/time/zone/ZoneRules;
public java.time.ZoneOffset getOffset(java.time.Instant);
descriptor: (Ljava/time/Instant;)Ljava/time/ZoneOffset;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=8, args_size=2
start local 0 start local 1 0: aload 0
getfield java.time.zone.ZoneRules.savingsInstantTransitions:[J
arraylength
ifne 2
1: aload 0
getfield java.time.zone.ZoneRules.standardOffsets:[Ljava/time/ZoneOffset;
iconst_0
aaload
areturn
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.time.Instant.getEpochSecond:()J
lstore 2
start local 2 3: aload 0
getfield java.time.zone.ZoneRules.lastRules:[Ljava/time/zone/ZoneOffsetTransitionRule;
arraylength
ifle 16
4: lload 2
aload 0
getfield java.time.zone.ZoneRules.savingsInstantTransitions:[J
aload 0
getfield java.time.zone.ZoneRules.savingsInstantTransitions:[J
arraylength
iconst_1
isub
laload
lcmp
ifle 16
5: aload 0
lload 2
aload 0
getfield java.time.zone.ZoneRules.wallOffsets:[Ljava/time/ZoneOffset;
aload 0
getfield java.time.zone.ZoneRules.wallOffsets:[Ljava/time/ZoneOffset;
arraylength
iconst_1
isub
aaload
invokevirtual java.time.zone.ZoneRules.findYear:(JLjava/time/ZoneOffset;)I
istore 4
start local 4 6: aload 0
iload 4
invokevirtual java.time.zone.ZoneRules.findTransitionArray:(I)[Ljava/time/zone/ZoneOffsetTransition;
astore 5
start local 5 7: aconst_null
astore 6
start local 6 8: iconst_0
istore 7
start local 7 9: goto 14
10: StackMap locals: java.time.zone.ZoneRules java.time.Instant long int java.time.zone.ZoneOffsetTransition[] java.time.zone.ZoneOffsetTransition int
StackMap stack:
aload 5
iload 7
aaload
astore 6
11: lload 2
aload 6
invokevirtual java.time.zone.ZoneOffsetTransition.toEpochSecond:()J
lcmp
ifge 13
12: aload 6
invokevirtual java.time.zone.ZoneOffsetTransition.getOffsetBefore:()Ljava/time/ZoneOffset;
areturn
13: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
14: iload 7
aload 5
arraylength
if_icmplt 10
end local 7 15: aload 6
invokevirtual java.time.zone.ZoneOffsetTransition.getOffsetAfter:()Ljava/time/ZoneOffset;
areturn
end local 6 end local 5 end local 4 16: StackMap locals: java.time.zone.ZoneRules java.time.Instant long
StackMap stack:
aload 0
getfield java.time.zone.ZoneRules.savingsInstantTransitions:[J
lload 2
invokestatic java.util.Arrays.binarySearch:([JJ)I
istore 4
start local 4 17: iload 4
ifge 19
18: iload 4
ineg
iconst_2
isub
istore 4
19: StackMap locals: int
StackMap stack:
aload 0
getfield java.time.zone.ZoneRules.wallOffsets:[Ljava/time/ZoneOffset;
iload 4
iconst_1
iadd
aaload
areturn
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Ljava/time/zone/ZoneRules;
0 20 1 instant Ljava/time/Instant;
3 20 2 epochSec J
6 16 4 year I
7 16 5 transArray [Ljava/time/zone/ZoneOffsetTransition;
8 16 6 trans Ljava/time/zone/ZoneOffsetTransition;
9 15 7 i I
17 20 4 index I
MethodParameters:
Name Flags
instant
public java.time.ZoneOffset getOffset(java.time.LocalDateTime);
descriptor: (Ljava/time/LocalDateTime;)Ljava/time/ZoneOffset;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual java.time.zone.ZoneRules.getOffsetInfo:(Ljava/time/LocalDateTime;)Ljava/lang/Object;
astore 2
start local 2 1: aload 2
instanceof java.time.zone.ZoneOffsetTransition
ifeq 3
2: aload 2
checkcast java.time.zone.ZoneOffsetTransition
invokevirtual java.time.zone.ZoneOffsetTransition.getOffsetBefore:()Ljava/time/ZoneOffset;
areturn
3: StackMap locals: java.lang.Object
StackMap stack:
aload 2
checkcast java.time.ZoneOffset
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/time/zone/ZoneRules;
0 4 1 localDateTime Ljava/time/LocalDateTime;
1 4 2 info Ljava/lang/Object;
MethodParameters:
Name Flags
localDateTime
public java.util.List<java.time.ZoneOffset> getValidOffsets(java.time.LocalDateTime);
descriptor: (Ljava/time/LocalDateTime;)Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual java.time.zone.ZoneRules.getOffsetInfo:(Ljava/time/LocalDateTime;)Ljava/lang/Object;
astore 2
start local 2 1: aload 2
instanceof java.time.zone.ZoneOffsetTransition
ifeq 3
2: aload 2
checkcast java.time.zone.ZoneOffsetTransition
invokevirtual java.time.zone.ZoneOffsetTransition.getValidOffsets:()Ljava/util/List;
areturn
3: StackMap locals: java.lang.Object
StackMap stack:
aload 2
checkcast java.time.ZoneOffset
invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/time/zone/ZoneRules;
0 4 1 localDateTime Ljava/time/LocalDateTime;
1 4 2 info Ljava/lang/Object;
Signature: (Ljava/time/LocalDateTime;)Ljava/util/List<Ljava/time/ZoneOffset;>;
MethodParameters:
Name Flags
localDateTime
public java.time.zone.ZoneOffsetTransition getTransition(java.time.LocalDateTime);
descriptor: (Ljava/time/LocalDateTime;)Ljava/time/zone/ZoneOffsetTransition;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual java.time.zone.ZoneRules.getOffsetInfo:(Ljava/time/LocalDateTime;)Ljava/lang/Object;
astore 2
start local 2 1: aload 2
instanceof java.time.zone.ZoneOffsetTransition
ifeq 2
aload 2
checkcast java.time.zone.ZoneOffsetTransition
goto 3
StackMap locals: java.lang.Object
StackMap stack:
2: aconst_null
StackMap locals:
StackMap stack: java.time.zone.ZoneOffsetTransition
3: areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/time/zone/ZoneRules;
0 4 1 localDateTime Ljava/time/LocalDateTime;
1 4 2 info Ljava/lang/Object;
MethodParameters:
Name Flags
localDateTime
private java.lang.Object getOffsetInfo(java.time.LocalDateTime);
descriptor: (Ljava/time/LocalDateTime;)Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=8, args_size=2
start local 0 start local 1 0: aload 0
getfield java.time.zone.ZoneRules.savingsInstantTransitions:[J
arraylength
ifne 2
1: aload 0
getfield java.time.zone.ZoneRules.standardOffsets:[Ljava/time/ZoneOffset;
iconst_0
aaload
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield java.time.zone.ZoneRules.lastRules:[Ljava/time/zone/ZoneOffsetTransitionRule;
arraylength
ifle 14
3: aload 1
aload 0
getfield java.time.zone.ZoneRules.savingsLocalTransitions:[Ljava/time/LocalDateTime;
aload 0
getfield java.time.zone.ZoneRules.savingsLocalTransitions:[Ljava/time/LocalDateTime;
arraylength
iconst_1
isub
aaload
invokevirtual java.time.LocalDateTime.isAfter:(Ljava/time/chrono/ChronoLocalDateTime;)Z
ifeq 14
4: aload 0
aload 1
invokevirtual java.time.LocalDateTime.getYear:()I
invokevirtual java.time.zone.ZoneRules.findTransitionArray:(I)[Ljava/time/zone/ZoneOffsetTransition;
astore 2
start local 2 5: aconst_null
astore 3
start local 3 6: aload 2
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 12
StackMap locals: java.time.zone.ZoneRules java.time.LocalDateTime java.time.zone.ZoneOffsetTransition[] java.lang.Object top int int java.time.zone.ZoneOffsetTransition[]
StackMap stack:
7: aload 7
iload 5
aaload
astore 4
start local 4 8: aload 0
aload 1
aload 4
invokevirtual java.time.zone.ZoneRules.findOffsetInfo:(Ljava/time/LocalDateTime;Ljava/time/zone/ZoneOffsetTransition;)Ljava/lang/Object;
astore 3
9: aload 3
instanceof java.time.zone.ZoneOffsetTransition
ifne 10
aload 3
aload 4
invokevirtual java.time.zone.ZoneOffsetTransition.getOffsetBefore:()Ljava/time/ZoneOffset;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 11
10: StackMap locals: java.time.zone.ZoneRules java.time.LocalDateTime java.time.zone.ZoneOffsetTransition[] java.lang.Object java.time.zone.ZoneOffsetTransition int int java.time.zone.ZoneOffsetTransition[]
StackMap stack:
aload 3
areturn
end local 4 11: StackMap locals: java.time.zone.ZoneRules java.time.LocalDateTime java.time.zone.ZoneOffsetTransition[] java.lang.Object top int int java.time.zone.ZoneOffsetTransition[]
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
12: iload 5
iload 6
if_icmplt 7
13: aload 3
areturn
end local 3 end local 2 14: StackMap locals: java.time.zone.ZoneRules java.time.LocalDateTime
StackMap stack:
aload 0
getfield java.time.zone.ZoneRules.savingsLocalTransitions:[Ljava/time/LocalDateTime;
aload 1
invokestatic java.util.Arrays.binarySearch:([Ljava/lang/Object;Ljava/lang/Object;)I
istore 2
start local 2 15: iload 2
iconst_m1
if_icmpne 17
16: aload 0
getfield java.time.zone.ZoneRules.wallOffsets:[Ljava/time/ZoneOffset;
iconst_0
aaload
areturn
17: StackMap locals: int
StackMap stack:
iload 2
ifge 20
18: iload 2
ineg
iconst_2
isub
istore 2
19: goto 23
StackMap locals:
StackMap stack:
20: iload 2
aload 0
getfield java.time.zone.ZoneRules.savingsLocalTransitions:[Ljava/time/LocalDateTime;
arraylength
iconst_1
isub
if_icmpge 23
21: aload 0
getfield java.time.zone.ZoneRules.savingsLocalTransitions:[Ljava/time/LocalDateTime;
iload 2
aaload
aload 0
getfield java.time.zone.ZoneRules.savingsLocalTransitions:[Ljava/time/LocalDateTime;
iload 2
iconst_1
iadd
aaload
invokevirtual java.time.LocalDateTime.equals:(Ljava/lang/Object;)Z
ifeq 23
22: iinc 2 1
23: StackMap locals:
StackMap stack:
iload 2
iconst_1
iand
ifne 31
24: aload 0
getfield java.time.zone.ZoneRules.savingsLocalTransitions:[Ljava/time/LocalDateTime;
iload 2
aaload
astore 3
start local 3 25: aload 0
getfield java.time.zone.ZoneRules.savingsLocalTransitions:[Ljava/time/LocalDateTime;
iload 2
iconst_1
iadd
aaload
astore 4
start local 4 26: aload 0
getfield java.time.zone.ZoneRules.wallOffsets:[Ljava/time/ZoneOffset;
iload 2
iconst_2
idiv
aaload
astore 5
start local 5 27: aload 0
getfield java.time.zone.ZoneRules.wallOffsets:[Ljava/time/ZoneOffset;
iload 2
iconst_2
idiv
iconst_1
iadd
aaload
astore 6
start local 6 28: aload 6
invokevirtual java.time.ZoneOffset.getTotalSeconds:()I
aload 5
invokevirtual java.time.ZoneOffset.getTotalSeconds:()I
if_icmple 30
29: new java.time.zone.ZoneOffsetTransition
dup
aload 3
aload 5
aload 6
invokespecial java.time.zone.ZoneOffsetTransition.<init>:(Ljava/time/LocalDateTime;Ljava/time/ZoneOffset;Ljava/time/ZoneOffset;)V
areturn
30: StackMap locals: java.time.zone.ZoneRules java.time.LocalDateTime int java.time.LocalDateTime java.time.LocalDateTime java.time.ZoneOffset java.time.ZoneOffset
StackMap stack:
new java.time.zone.ZoneOffsetTransition
dup
aload 4
aload 5
aload 6
invokespecial java.time.zone.ZoneOffsetTransition.<init>:(Ljava/time/LocalDateTime;Ljava/time/ZoneOffset;Ljava/time/ZoneOffset;)V
areturn
end local 6 end local 5 end local 4 end local 3 31: StackMap locals: java.time.zone.ZoneRules java.time.LocalDateTime int
StackMap stack:
aload 0
getfield java.time.zone.ZoneRules.wallOffsets:[Ljava/time/ZoneOffset;
iload 2
iconst_2
idiv
iconst_1
iadd
aaload
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 32 0 this Ljava/time/zone/ZoneRules;
0 32 1 dt Ljava/time/LocalDateTime;
5 14 2 transArray [Ljava/time/zone/ZoneOffsetTransition;
6 14 3 info Ljava/lang/Object;
8 11 4 trans Ljava/time/zone/ZoneOffsetTransition;
15 32 2 index I
25 31 3 dtBefore Ljava/time/LocalDateTime;
26 31 4 dtAfter Ljava/time/LocalDateTime;
27 31 5 offsetBefore Ljava/time/ZoneOffset;
28 31 6 offsetAfter Ljava/time/ZoneOffset;
MethodParameters:
Name Flags
dt
private java.lang.Object findOffsetInfo(java.time.LocalDateTime, java.time.zone.ZoneOffsetTransition);
descriptor: (Ljava/time/LocalDateTime;Ljava/time/zone/ZoneOffsetTransition;)Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokevirtual java.time.zone.ZoneOffsetTransition.getDateTimeBefore:()Ljava/time/LocalDateTime;
astore 3
start local 3 1: aload 2
invokevirtual java.time.zone.ZoneOffsetTransition.isGap:()Z
ifeq 7
2: aload 1
aload 3
invokevirtual java.time.LocalDateTime.isBefore:(Ljava/time/chrono/ChronoLocalDateTime;)Z
ifeq 4
3: aload 2
invokevirtual java.time.zone.ZoneOffsetTransition.getOffsetBefore:()Ljava/time/ZoneOffset;
areturn
4: StackMap locals: java.time.LocalDateTime
StackMap stack:
aload 1
aload 2
invokevirtual java.time.zone.ZoneOffsetTransition.getDateTimeAfter:()Ljava/time/LocalDateTime;
invokevirtual java.time.LocalDateTime.isBefore:(Ljava/time/chrono/ChronoLocalDateTime;)Z
ifeq 6
5: aload 2
areturn
6: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.time.zone.ZoneOffsetTransition.getOffsetAfter:()Ljava/time/ZoneOffset;
areturn
7: StackMap locals:
StackMap stack:
aload 1
aload 3
invokevirtual java.time.LocalDateTime.isBefore:(Ljava/time/chrono/ChronoLocalDateTime;)Z
ifne 9
8: aload 2
invokevirtual java.time.zone.ZoneOffsetTransition.getOffsetAfter:()Ljava/time/ZoneOffset;
areturn
9: StackMap locals:
StackMap stack:
aload 1
aload 2
invokevirtual java.time.zone.ZoneOffsetTransition.getDateTimeAfter:()Ljava/time/LocalDateTime;
invokevirtual java.time.LocalDateTime.isBefore:(Ljava/time/chrono/ChronoLocalDateTime;)Z
ifeq 11
10: aload 2
invokevirtual java.time.zone.ZoneOffsetTransition.getOffsetBefore:()Ljava/time/ZoneOffset;
areturn
11: StackMap locals:
StackMap stack:
aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljava/time/zone/ZoneRules;
0 12 1 dt Ljava/time/LocalDateTime;
0 12 2 trans Ljava/time/zone/ZoneOffsetTransition;
1 12 3 localTransition Ljava/time/LocalDateTime;
MethodParameters:
Name Flags
dt
trans
private java.time.zone.ZoneOffsetTransition[] findTransitionArray(int);
descriptor: (I)[Ljava/time/zone/ZoneOffsetTransition;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, args_size=2
start local 0 start local 1 0: iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
astore 2
start local 2 1: aload 0
getfield java.time.zone.ZoneRules.lastRulesCache:Ljava/util/concurrent/ConcurrentMap;
aload 2
invokeinterface java.util.concurrent.ConcurrentMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.time.zone.ZoneOffsetTransition[]
astore 3
start local 3 2: aload 3
ifnull 4
3: aload 3
areturn
4: StackMap locals: java.lang.Integer java.time.zone.ZoneOffsetTransition[]
StackMap stack:
aload 0
getfield java.time.zone.ZoneRules.lastRules:[Ljava/time/zone/ZoneOffsetTransitionRule;
astore 4
start local 4 5: aload 4
arraylength
anewarray java.time.zone.ZoneOffsetTransition
astore 3
6: iconst_0
istore 5
start local 5 7: goto 10
8: StackMap locals: java.time.zone.ZoneOffsetTransitionRule[] int
StackMap stack:
aload 3
iload 5
aload 4
iload 5
aaload
iload 1
invokevirtual java.time.zone.ZoneOffsetTransitionRule.createTransition:(I)Ljava/time/zone/ZoneOffsetTransition;
aastore
9: iinc 5 1
StackMap locals:
StackMap stack:
10: iload 5
aload 4
arraylength
if_icmplt 8
end local 5 11: iload 1
sipush 2100
if_icmpge 13
12: aload 0
getfield java.time.zone.ZoneRules.lastRulesCache:Ljava/util/concurrent/ConcurrentMap;
aload 2
aload 3
invokeinterface java.util.concurrent.ConcurrentMap.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
13: StackMap locals:
StackMap stack:
aload 3
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Ljava/time/zone/ZoneRules;
0 14 1 year I
1 14 2 yearObj Ljava/lang/Integer;
2 14 3 transArray [Ljava/time/zone/ZoneOffsetTransition;
5 14 4 ruleArray [Ljava/time/zone/ZoneOffsetTransitionRule;
7 11 5 i I
MethodParameters:
Name Flags
year
public java.time.ZoneOffset getStandardOffset(java.time.Instant);
descriptor: (Ljava/time/Instant;)Ljava/time/ZoneOffset;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield java.time.zone.ZoneRules.savingsInstantTransitions:[J
arraylength
ifne 2
1: aload 0
getfield java.time.zone.ZoneRules.standardOffsets:[Ljava/time/ZoneOffset;
iconst_0
aaload
areturn
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.time.Instant.getEpochSecond:()J
lstore 2
start local 2 3: aload 0
getfield java.time.zone.ZoneRules.standardTransitions:[J
lload 2
invokestatic java.util.Arrays.binarySearch:([JJ)I
istore 4
start local 4 4: iload 4
ifge 6
5: iload 4
ineg
iconst_2
isub
istore 4
6: StackMap locals: long int
StackMap stack:
aload 0
getfield java.time.zone.ZoneRules.standardOffsets:[Ljava/time/ZoneOffset;
iload 4
iconst_1
iadd
aaload
areturn
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljava/time/zone/ZoneRules;
0 7 1 instant Ljava/time/Instant;
3 7 2 epochSec J
4 7 4 index I
MethodParameters:
Name Flags
instant
public java.time.Duration getDaylightSavings(java.time.Instant);
descriptor: (Ljava/time/Instant;)Ljava/time/Duration;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield java.time.zone.ZoneRules.savingsInstantTransitions:[J
arraylength
ifne 2
1: getstatic java.time.Duration.ZERO:Ljava/time/Duration;
areturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual java.time.zone.ZoneRules.getStandardOffset:(Ljava/time/Instant;)Ljava/time/ZoneOffset;
astore 2
start local 2 3: aload 0
aload 1
invokevirtual java.time.zone.ZoneRules.getOffset:(Ljava/time/Instant;)Ljava/time/ZoneOffset;
astore 3
start local 3 4: aload 3
invokevirtual java.time.ZoneOffset.getTotalSeconds:()I
aload 2
invokevirtual java.time.ZoneOffset.getTotalSeconds:()I
isub
i2l
invokestatic java.time.Duration.ofSeconds:(J)Ljava/time/Duration;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/time/zone/ZoneRules;
0 5 1 instant Ljava/time/Instant;
3 5 2 standardOffset Ljava/time/ZoneOffset;
4 5 3 actualOffset Ljava/time/ZoneOffset;
MethodParameters:
Name Flags
instant
public boolean isDaylightSavings(java.time.Instant);
descriptor: (Ljava/time/Instant;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual java.time.zone.ZoneRules.getStandardOffset:(Ljava/time/Instant;)Ljava/time/ZoneOffset;
aload 0
aload 1
invokevirtual java.time.zone.ZoneRules.getOffset:(Ljava/time/Instant;)Ljava/time/ZoneOffset;
invokevirtual java.time.ZoneOffset.equals:(Ljava/lang/Object;)Z
ifeq 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/time/zone/ZoneRules;
0 2 1 instant Ljava/time/Instant;
MethodParameters:
Name Flags
instant
public boolean isValidOffset(java.time.LocalDateTime, java.time.ZoneOffset);
descriptor: (Ljava/time/LocalDateTime;Ljava/time/ZoneOffset;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual java.time.zone.ZoneRules.getValidOffsets:(Ljava/time/LocalDateTime;)Ljava/util/List;
aload 2
invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/time/zone/ZoneRules;
0 1 1 localDateTime Ljava/time/LocalDateTime;
0 1 2 offset Ljava/time/ZoneOffset;
MethodParameters:
Name Flags
localDateTime
offset
public java.time.zone.ZoneOffsetTransition nextTransition(java.time.Instant);
descriptor: (Ljava/time/Instant;)Ljava/time/zone/ZoneOffsetTransition;
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=10, args_size=2
start local 0 start local 1 0: aload 0
getfield java.time.zone.ZoneRules.savingsInstantTransitions:[J
arraylength
ifne 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.time.Instant.getEpochSecond:()J
lstore 2
start local 2 3: lload 2
aload 0
getfield java.time.zone.ZoneRules.savingsInstantTransitions:[J
aload 0
getfield java.time.zone.ZoneRules.savingsInstantTransitions:[J
arraylength
iconst_1
isub
laload
lcmp
iflt 18
4: aload 0
getfield java.time.zone.ZoneRules.lastRules:[Ljava/time/zone/ZoneOffsetTransitionRule;
arraylength
ifne 6
5: aconst_null
areturn
6: StackMap locals: long
StackMap stack:
aload 0
lload 2
aload 0
getfield java.time.zone.ZoneRules.wallOffsets:[Ljava/time/ZoneOffset;
aload 0
getfield java.time.zone.ZoneRules.wallOffsets:[Ljava/time/ZoneOffset;
arraylength
iconst_1
isub
aaload
invokevirtual java.time.zone.ZoneRules.findYear:(JLjava/time/ZoneOffset;)I
istore 4
start local 4 7: aload 0
iload 4
invokevirtual java.time.zone.ZoneRules.findTransitionArray:(I)[Ljava/time/zone/ZoneOffsetTransition;
astore 5
start local 5 8: aload 5
dup
astore 9
arraylength
istore 8
iconst_0
istore 7
goto 13
StackMap locals: java.time.zone.ZoneRules java.time.Instant long int java.time.zone.ZoneOffsetTransition[] top int int java.time.zone.ZoneOffsetTransition[]
StackMap stack:
9: aload 9
iload 7
aaload
astore 6
start local 6 10: lload 2
aload 6
invokevirtual java.time.zone.ZoneOffsetTransition.toEpochSecond:()J
lcmp
ifge 12
11: aload 6
areturn
end local 6 12: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
13: iload 7
iload 8
if_icmplt 9
14: iload 4
ldc 999999999
if_icmpge 17
15: aload 0
iload 4
iconst_1
iadd
invokevirtual java.time.zone.ZoneRules.findTransitionArray:(I)[Ljava/time/zone/ZoneOffsetTransition;
astore 5
16: aload 5
iconst_0
aaload
areturn
17: StackMap locals: java.time.zone.ZoneRules java.time.Instant long int java.time.zone.ZoneOffsetTransition[]
StackMap stack:
aconst_null
areturn
end local 5 end local 4 18: StackMap locals:
StackMap stack:
aload 0
getfield java.time.zone.ZoneRules.savingsInstantTransitions:[J
lload 2
invokestatic java.util.Arrays.binarySearch:([JJ)I
istore 4
start local 4 19: iload 4
ifge 22
20: iload 4
ineg
iconst_1
isub
istore 4
21: goto 23
22: StackMap locals: int
StackMap stack:
iinc 4 1
23: StackMap locals:
StackMap stack:
new java.time.zone.ZoneOffsetTransition
dup
aload 0
getfield java.time.zone.ZoneRules.savingsInstantTransitions:[J
iload 4
laload
aload 0
getfield java.time.zone.ZoneRules.wallOffsets:[Ljava/time/ZoneOffset;
iload 4
aaload
aload 0
getfield java.time.zone.ZoneRules.wallOffsets:[Ljava/time/ZoneOffset;
iload 4
iconst_1
iadd
aaload
invokespecial java.time.zone.ZoneOffsetTransition.<init>:(JLjava/time/ZoneOffset;Ljava/time/ZoneOffset;)V
areturn
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Ljava/time/zone/ZoneRules;
0 24 1 instant Ljava/time/Instant;
3 24 2 epochSec J
7 18 4 year I
8 18 5 transArray [Ljava/time/zone/ZoneOffsetTransition;
10 12 6 trans Ljava/time/zone/ZoneOffsetTransition;
19 24 4 index I
MethodParameters:
Name Flags
instant
public java.time.zone.ZoneOffsetTransition previousTransition(java.time.Instant);
descriptor: (Ljava/time/Instant;)Ljava/time/zone/ZoneOffsetTransition;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=10, args_size=2
start local 0 start local 1 0: aload 0
getfield java.time.zone.ZoneRules.savingsInstantTransitions:[J
arraylength
ifne 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.time.Instant.getEpochSecond:()J
lstore 2
start local 2 3: aload 1
invokevirtual java.time.Instant.getNano:()I
ifle 5
lload 2
ldc 9223372036854775807
lcmp
ifge 5
4: lload 2
lconst_1
ladd
lstore 2
5: StackMap locals: long
StackMap stack:
aload 0
getfield java.time.zone.ZoneRules.savingsInstantTransitions:[J
aload 0
getfield java.time.zone.ZoneRules.savingsInstantTransitions:[J
arraylength
iconst_1
isub
laload
lstore 4
start local 4 6: aload 0
getfield java.time.zone.ZoneRules.lastRules:[Ljava/time/zone/ZoneOffsetTransitionRule;
arraylength
ifle 20
lload 2
lload 4
lcmp
ifle 20
7: aload 0
getfield java.time.zone.ZoneRules.wallOffsets:[Ljava/time/ZoneOffset;
aload 0
getfield java.time.zone.ZoneRules.wallOffsets:[Ljava/time/ZoneOffset;
arraylength
iconst_1
isub
aaload
astore 6
start local 6 8: aload 0
lload 2
aload 6
invokevirtual java.time.zone.ZoneRules.findYear:(JLjava/time/ZoneOffset;)I
istore 7
start local 7 9: aload 0
iload 7
invokevirtual java.time.zone.ZoneRules.findTransitionArray:(I)[Ljava/time/zone/ZoneOffsetTransition;
astore 8
start local 8 10: aload 8
arraylength
iconst_1
isub
istore 9
start local 9 11: goto 15
12: StackMap locals: java.time.zone.ZoneRules java.time.Instant long long java.time.ZoneOffset int java.time.zone.ZoneOffsetTransition[] int
StackMap stack:
lload 2
aload 8
iload 9
aaload
invokevirtual java.time.zone.ZoneOffsetTransition.toEpochSecond:()J
lcmp
ifle 14
13: aload 8
iload 9
aaload
areturn
14: StackMap locals:
StackMap stack:
iinc 9 -1
StackMap locals:
StackMap stack:
15: iload 9
ifge 12
end local 9 16: aload 0
lload 4
aload 6
invokevirtual java.time.zone.ZoneRules.findYear:(JLjava/time/ZoneOffset;)I
istore 9
start local 9 17: iinc 7 -1
iload 7
iload 9
if_icmple 20
18: aload 0
iload 7
invokevirtual java.time.zone.ZoneRules.findTransitionArray:(I)[Ljava/time/zone/ZoneOffsetTransition;
astore 8
19: aload 8
aload 8
arraylength
iconst_1
isub
aaload
areturn
end local 9 end local 8 end local 7 end local 6 20: StackMap locals: java.time.zone.ZoneRules java.time.Instant long long
StackMap stack:
aload 0
getfield java.time.zone.ZoneRules.savingsInstantTransitions:[J
lload 2
invokestatic java.util.Arrays.binarySearch:([JJ)I
istore 6
start local 6 21: iload 6
ifge 23
22: iload 6
ineg
iconst_1
isub
istore 6
23: StackMap locals: int
StackMap stack:
iload 6
ifgt 25
24: aconst_null
areturn
25: StackMap locals:
StackMap stack:
new java.time.zone.ZoneOffsetTransition
dup
aload 0
getfield java.time.zone.ZoneRules.savingsInstantTransitions:[J
iload 6
iconst_1
isub
laload
aload 0
getfield java.time.zone.ZoneRules.wallOffsets:[Ljava/time/ZoneOffset;
iload 6
iconst_1
isub
aaload
aload 0
getfield java.time.zone.ZoneRules.wallOffsets:[Ljava/time/ZoneOffset;
iload 6
aaload
invokespecial java.time.zone.ZoneOffsetTransition.<init>:(JLjava/time/ZoneOffset;Ljava/time/ZoneOffset;)V
areturn
end local 6 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Ljava/time/zone/ZoneRules;
0 26 1 instant Ljava/time/Instant;
3 26 2 epochSec J
6 26 4 lastHistoric J
8 20 6 lastHistoricOffset Ljava/time/ZoneOffset;
9 20 7 year I
10 20 8 transArray [Ljava/time/zone/ZoneOffsetTransition;
11 16 9 i I
17 20 9 lastHistoricYear I
21 26 6 index I
MethodParameters:
Name Flags
instant
private int findYear(long, java.time.ZoneOffset);
descriptor: (JLjava/time/ZoneOffset;)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=8, args_size=3
start local 0 start local 1 start local 3 0: lload 1
aload 3
invokevirtual java.time.ZoneOffset.getTotalSeconds:()I
i2l
ladd
lstore 4
start local 4 1: lload 4
ldc 86400
invokestatic java.lang.Math.floorDiv:(JI)J
lstore 6
start local 6 2: lload 6
invokestatic java.time.LocalDate.ofEpochDay:(J)Ljava/time/LocalDate;
invokevirtual java.time.LocalDate.getYear:()I
ireturn
end local 6 end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/time/zone/ZoneRules;
0 3 1 epochSecond J
0 3 3 offset Ljava/time/ZoneOffset;
1 3 4 localSecond J
2 3 6 localEpochDay J
MethodParameters:
Name Flags
epochSecond
offset
public java.util.List<java.time.zone.ZoneOffsetTransition> getTransitions();
descriptor: ()Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=3, args_size=1
start local 0 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 1
start local 1 1: iconst_0
istore 2
start local 2 2: goto 5
3: StackMap locals: java.util.List int
StackMap stack:
aload 1
new java.time.zone.ZoneOffsetTransition
dup
aload 0
getfield java.time.zone.ZoneRules.savingsInstantTransitions:[J
iload 2
laload
aload 0
getfield java.time.zone.ZoneRules.wallOffsets:[Ljava/time/ZoneOffset;
iload 2
aaload
aload 0
getfield java.time.zone.ZoneRules.wallOffsets:[Ljava/time/ZoneOffset;
iload 2
iconst_1
iadd
aaload
invokespecial java.time.zone.ZoneOffsetTransition.<init>:(JLjava/time/ZoneOffset;Ljava/time/ZoneOffset;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
4: iinc 2 1
StackMap locals:
StackMap stack:
5: iload 2
aload 0
getfield java.time.zone.ZoneRules.savingsInstantTransitions:[J
arraylength
if_icmplt 3
end local 2 6: aload 1
invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljava/time/zone/ZoneRules;
1 7 1 list Ljava/util/List<Ljava/time/zone/ZoneOffsetTransition;>;
2 6 2 i I
Signature: ()Ljava/util/List<Ljava/time/zone/ZoneOffsetTransition;>;
public java.util.List<java.time.zone.ZoneOffsetTransitionRule> getTransitionRules();
descriptor: ()Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.time.zone.ZoneRules.lastRules:[Ljava/time/zone/ZoneOffsetTransitionRule;
invokestatic java.util.List.of:([Ljava/lang/Object;)Ljava/util/List;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/time/zone/ZoneRules;
Signature: ()Ljava/util/List<Ljava/time/zone/ZoneOffsetTransitionRule;>;
public boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
if_acmpne 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 1
instanceof java.time.zone.ZoneRules
ifeq 11
3: aload 1
checkcast java.time.zone.ZoneRules
astore 2
start local 2 4: aload 0
getfield java.time.zone.ZoneRules.standardTransitions:[J
aload 2
getfield java.time.zone.ZoneRules.standardTransitions:[J
invokestatic java.util.Arrays.equals:([J[J)Z
ifeq 10
5: aload 0
getfield java.time.zone.ZoneRules.standardOffsets:[Ljava/time/ZoneOffset;
aload 2
getfield java.time.zone.ZoneRules.standardOffsets:[Ljava/time/ZoneOffset;
invokestatic java.util.Arrays.equals:([Ljava/lang/Object;[Ljava/lang/Object;)Z
ifeq 10
6: aload 0
getfield java.time.zone.ZoneRules.savingsInstantTransitions:[J
aload 2
getfield java.time.zone.ZoneRules.savingsInstantTransitions:[J
invokestatic java.util.Arrays.equals:([J[J)Z
ifeq 10
7: aload 0
getfield java.time.zone.ZoneRules.wallOffsets:[Ljava/time/ZoneOffset;
aload 2
getfield java.time.zone.ZoneRules.wallOffsets:[Ljava/time/ZoneOffset;
invokestatic java.util.Arrays.equals:([Ljava/lang/Object;[Ljava/lang/Object;)Z
ifeq 10
8: aload 0
getfield java.time.zone.ZoneRules.lastRules:[Ljava/time/zone/ZoneOffsetTransitionRule;
aload 2
getfield java.time.zone.ZoneRules.lastRules:[Ljava/time/zone/ZoneOffsetTransitionRule;
invokestatic java.util.Arrays.equals:([Ljava/lang/Object;[Ljava/lang/Object;)Z
ifeq 10
9: iconst_1
ireturn
StackMap locals: java.time.zone.ZoneRules
StackMap stack:
10: iconst_0
ireturn
end local 2 11: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljava/time/zone/ZoneRules;
0 12 1 otherRules Ljava/lang/Object;
4 11 2 other Ljava/time/zone/ZoneRules;
MethodParameters:
Name Flags
otherRules
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield java.time.zone.ZoneRules.standardTransitions:[J
invokestatic java.util.Arrays.hashCode:([J)I
1: aload 0
getfield java.time.zone.ZoneRules.standardOffsets:[Ljava/time/ZoneOffset;
invokestatic java.util.Arrays.hashCode:([Ljava/lang/Object;)I
2: ixor
3: aload 0
getfield java.time.zone.ZoneRules.savingsInstantTransitions:[J
invokestatic java.util.Arrays.hashCode:([J)I
4: ixor
5: aload 0
getfield java.time.zone.ZoneRules.wallOffsets:[Ljava/time/ZoneOffset;
invokestatic java.util.Arrays.hashCode:([Ljava/lang/Object;)I
6: ixor
7: aload 0
getfield java.time.zone.ZoneRules.lastRules:[Ljava/time/zone/ZoneOffsetTransitionRule;
invokestatic java.util.Arrays.hashCode:([Ljava/lang/Object;)I
8: ixor
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljava/time/zone/ZoneRules;
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "ZoneRules[currentStandardOffset="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield java.time.zone.ZoneRules.standardOffsets:[Ljava/time/ZoneOffset;
aload 0
getfield java.time.zone.ZoneRules.standardOffsets:[Ljava/time/ZoneOffset;
arraylength
iconst_1
isub
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/time/zone/ZoneRules;
}
SourceFile: "ZoneRules.java"