public final class java.time.zone.ZoneOffsetTransitionRule implements java.io.Serializable
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: java.time.zone.ZoneOffsetTransitionRule
super_class: java.lang.Object
{
private static final long serialVersionUID;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 6889046316657758795
private final java.time.Month month;
descriptor: Ljava/time/Month;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final byte dom;
descriptor: B
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.time.DayOfWeek dow;
descriptor: Ljava/time/DayOfWeek;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.time.LocalTime time;
descriptor: Ljava/time/LocalTime;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean timeEndOfDay;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.time.zone.ZoneOffsetTransitionRule$TimeDefinition timeDefinition;
descriptor: Ljava/time/zone/ZoneOffsetTransitionRule$TimeDefinition;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.time.ZoneOffset standardOffset;
descriptor: Ljava/time/ZoneOffset;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.time.ZoneOffset offsetBefore;
descriptor: Ljava/time/ZoneOffset;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.time.ZoneOffset offsetAfter;
descriptor: Ljava/time/ZoneOffset;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public static java.time.zone.ZoneOffsetTransitionRule of(java.time.Month, int, java.time.DayOfWeek, java.time.LocalTime, boolean, java.time.zone.ZoneOffsetTransitionRule$TimeDefinition, java.time.ZoneOffset, java.time.ZoneOffset, java.time.ZoneOffset);
descriptor: (Ljava/time/Month;ILjava/time/DayOfWeek;Ljava/time/LocalTime;ZLjava/time/zone/ZoneOffsetTransitionRule$TimeDefinition;Ljava/time/ZoneOffset;Ljava/time/ZoneOffset;Ljava/time/ZoneOffset;)Ljava/time/zone/ZoneOffsetTransitionRule;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=11, locals=9, args_size=9
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 0: aload 0
ldc "month"
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
1: aload 3
ldc "time"
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
2: aload 5
ldc "timeDefnition"
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
3: aload 6
ldc "standardOffset"
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
4: aload 7
ldc "offsetBefore"
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
5: aload 8
ldc "offsetAfter"
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
6: iload 1
bipush -28
if_icmplt 7
iload 1
bipush 31
if_icmpgt 7
iload 1
ifne 8
7: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "Day of month indicator must be between -28 and 31 inclusive excluding zero"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals:
StackMap stack:
iload 4
ifeq 10
aload 3
getstatic java.time.LocalTime.MIDNIGHT:Ljava/time/LocalTime;
invokevirtual java.time.LocalTime.equals:(Ljava/lang/Object;)Z
ifne 10
9: new java.lang.IllegalArgumentException
dup
ldc "Time must be midnight when end of day flag is true"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
10: StackMap locals:
StackMap stack:
new java.time.zone.ZoneOffsetTransitionRule
dup
aload 0
iload 1
aload 2
aload 3
iload 4
aload 5
aload 6
aload 7
aload 8
invokespecial java.time.zone.ZoneOffsetTransitionRule.<init>:(Ljava/time/Month;ILjava/time/DayOfWeek;Ljava/time/LocalTime;ZLjava/time/zone/ZoneOffsetTransitionRule$TimeDefinition;Ljava/time/ZoneOffset;Ljava/time/ZoneOffset;Ljava/time/ZoneOffset;)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 11 0 month Ljava/time/Month;
0 11 1 dayOfMonthIndicator I
0 11 2 dayOfWeek Ljava/time/DayOfWeek;
0 11 3 time Ljava/time/LocalTime;
0 11 4 timeEndOfDay Z
0 11 5 timeDefnition Ljava/time/zone/ZoneOffsetTransitionRule$TimeDefinition;
0 11 6 standardOffset Ljava/time/ZoneOffset;
0 11 7 offsetBefore Ljava/time/ZoneOffset;
0 11 8 offsetAfter Ljava/time/ZoneOffset;
MethodParameters:
Name Flags
month
dayOfMonthIndicator
dayOfWeek
time
timeEndOfDay
timeDefnition
standardOffset
offsetBefore
offsetAfter
void <init>(java.time.Month, int, java.time.DayOfWeek, java.time.LocalTime, boolean, java.time.zone.ZoneOffsetTransitionRule$TimeDefinition, java.time.ZoneOffset, java.time.ZoneOffset, java.time.ZoneOffset);
descriptor: (Ljava/time/Month;ILjava/time/DayOfWeek;Ljava/time/LocalTime;ZLjava/time/zone/ZoneOffsetTransitionRule$TimeDefinition;Ljava/time/ZoneOffset;Ljava/time/ZoneOffset;Ljava/time/ZoneOffset;)V
flags: (0x0000)
Code:
stack=2, locals=10, args_size=10
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 start local 9 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield java.time.zone.ZoneOffsetTransitionRule.month:Ljava/time/Month;
2: aload 0
iload 2
i2b
putfield java.time.zone.ZoneOffsetTransitionRule.dom:B
3: aload 0
aload 3
putfield java.time.zone.ZoneOffsetTransitionRule.dow:Ljava/time/DayOfWeek;
4: aload 0
aload 4
putfield java.time.zone.ZoneOffsetTransitionRule.time:Ljava/time/LocalTime;
5: aload 0
iload 5
putfield java.time.zone.ZoneOffsetTransitionRule.timeEndOfDay:Z
6: aload 0
aload 6
putfield java.time.zone.ZoneOffsetTransitionRule.timeDefinition:Ljava/time/zone/ZoneOffsetTransitionRule$TimeDefinition;
7: aload 0
aload 7
putfield java.time.zone.ZoneOffsetTransitionRule.standardOffset:Ljava/time/ZoneOffset;
8: aload 0
aload 8
putfield java.time.zone.ZoneOffsetTransitionRule.offsetBefore:Ljava/time/ZoneOffset;
9: aload 0
aload 9
putfield java.time.zone.ZoneOffsetTransitionRule.offsetAfter:Ljava/time/ZoneOffset;
10: return
end local 9 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 11 0 this Ljava/time/zone/ZoneOffsetTransitionRule;
0 11 1 month Ljava/time/Month;
0 11 2 dayOfMonthIndicator I
0 11 3 dayOfWeek Ljava/time/DayOfWeek;
0 11 4 time Ljava/time/LocalTime;
0 11 5 timeEndOfDay Z
0 11 6 timeDefnition Ljava/time/zone/ZoneOffsetTransitionRule$TimeDefinition;
0 11 7 standardOffset Ljava/time/ZoneOffset;
0 11 8 offsetBefore Ljava/time/ZoneOffset;
0 11 9 offsetAfter Ljava/time/ZoneOffset;
MethodParameters:
Name Flags
month
dayOfMonthIndicator
dayOfWeek
time
timeEndOfDay
timeDefnition
standardOffset
offsetBefore
offsetAfter
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/ZoneOffsetTransitionRule;
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_3
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/ZoneOffsetTransitionRule;
void writeExternal(java.io.DataOutput);
descriptor: (Ljava/io/DataOutput;)V
flags: (0x0000)
Code:
stack=3, locals=12, args_size=2
start local 0 start local 1 0: aload 0
getfield java.time.zone.ZoneOffsetTransitionRule.timeEndOfDay:Z
ifeq 1
ldc 86400
goto 2
StackMap locals:
StackMap stack:
1: aload 0
getfield java.time.zone.ZoneOffsetTransitionRule.time:Ljava/time/LocalTime;
invokevirtual java.time.LocalTime.toSecondOfDay:()I
StackMap locals:
StackMap stack: int
2: istore 2
start local 2 3: aload 0
getfield java.time.zone.ZoneOffsetTransitionRule.standardOffset:Ljava/time/ZoneOffset;
invokevirtual java.time.ZoneOffset.getTotalSeconds:()I
istore 3
start local 3 4: aload 0
getfield java.time.zone.ZoneOffsetTransitionRule.offsetBefore:Ljava/time/ZoneOffset;
invokevirtual java.time.ZoneOffset.getTotalSeconds:()I
iload 3
isub
istore 4
start local 4 5: aload 0
getfield java.time.zone.ZoneOffsetTransitionRule.offsetAfter:Ljava/time/ZoneOffset;
invokevirtual java.time.ZoneOffset.getTotalSeconds:()I
iload 3
isub
istore 5
start local 5 6: iload 2
sipush 3600
irem
ifne 8
aload 0
getfield java.time.zone.ZoneOffsetTransitionRule.timeEndOfDay:Z
ifeq 7
bipush 24
goto 9
StackMap locals: java.time.zone.ZoneOffsetTransitionRule java.io.DataOutput int int int int
StackMap stack:
7: aload 0
getfield java.time.zone.ZoneOffsetTransitionRule.time:Ljava/time/LocalTime;
invokevirtual java.time.LocalTime.getHour:()I
goto 9
StackMap locals:
StackMap stack:
8: bipush 31
StackMap locals:
StackMap stack: int
9: istore 6
start local 6 10: iload 3
sipush 900
irem
ifne 11
iload 3
sipush 900
idiv
sipush 128
iadd
goto 12
StackMap locals: int
StackMap stack:
11: sipush 255
StackMap locals:
StackMap stack: int
12: istore 7
start local 7 13: iload 4
ifeq 14
iload 4
sipush 1800
if_icmpeq 14
iload 4
sipush 3600
if_icmpne 15
StackMap locals: int
StackMap stack:
14: iload 4
sipush 1800
idiv
goto 16
StackMap locals:
StackMap stack:
15: iconst_3
StackMap locals:
StackMap stack: int
16: istore 8
start local 8 17: iload 5
ifeq 18
iload 5
sipush 1800
if_icmpeq 18
iload 5
sipush 3600
if_icmpne 19
StackMap locals: int
StackMap stack:
18: iload 5
sipush 1800
idiv
goto 20
StackMap locals:
StackMap stack:
19: iconst_3
StackMap locals:
StackMap stack: int
20: istore 9
start local 9 21: aload 0
getfield java.time.zone.ZoneOffsetTransitionRule.dow:Ljava/time/DayOfWeek;
ifnonnull 22
iconst_0
goto 23
StackMap locals: int
StackMap stack:
22: aload 0
getfield java.time.zone.ZoneOffsetTransitionRule.dow:Ljava/time/DayOfWeek;
invokevirtual java.time.DayOfWeek.getValue:()I
StackMap locals:
StackMap stack: int
23: istore 10
start local 10 24: aload 0
getfield java.time.zone.ZoneOffsetTransitionRule.month:Ljava/time/Month;
invokevirtual java.time.Month.getValue:()I
bipush 28
ishl
25: aload 0
getfield java.time.zone.ZoneOffsetTransitionRule.dom:B
bipush 32
iadd
bipush 22
ishl
26: iadd
27: iload 10
bipush 19
ishl
28: iadd
29: iload 6
bipush 14
ishl
30: iadd
31: aload 0
getfield java.time.zone.ZoneOffsetTransitionRule.timeDefinition:Ljava/time/zone/ZoneOffsetTransitionRule$TimeDefinition;
invokevirtual java.time.zone.ZoneOffsetTransitionRule$TimeDefinition.ordinal:()I
bipush 12
ishl
32: iadd
33: iload 7
iconst_4
ishl
34: iadd
35: iload 8
iconst_2
ishl
36: iadd
37: iload 9
38: iadd
istore 11
start local 11 39: aload 1
iload 11
invokeinterface java.io.DataOutput.writeInt:(I)V
40: iload 6
bipush 31
if_icmpne 42
41: aload 1
iload 2
invokeinterface java.io.DataOutput.writeInt:(I)V
42: StackMap locals: int int
StackMap stack:
iload 7
sipush 255
if_icmpne 44
43: aload 1
iload 3
invokeinterface java.io.DataOutput.writeInt:(I)V
44: StackMap locals:
StackMap stack:
iload 8
iconst_3
if_icmpne 46
45: aload 1
aload 0
getfield java.time.zone.ZoneOffsetTransitionRule.offsetBefore:Ljava/time/ZoneOffset;
invokevirtual java.time.ZoneOffset.getTotalSeconds:()I
invokeinterface java.io.DataOutput.writeInt:(I)V
46: StackMap locals:
StackMap stack:
iload 9
iconst_3
if_icmpne 48
47: aload 1
aload 0
getfield java.time.zone.ZoneOffsetTransitionRule.offsetAfter:Ljava/time/ZoneOffset;
invokevirtual java.time.ZoneOffset.getTotalSeconds:()I
invokeinterface java.io.DataOutput.writeInt:(I)V
48: StackMap locals:
StackMap stack:
return
end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 49 0 this Ljava/time/zone/ZoneOffsetTransitionRule;
0 49 1 out Ljava/io/DataOutput;
3 49 2 timeSecs I
4 49 3 stdOffset I
5 49 4 beforeDiff I
6 49 5 afterDiff I
10 49 6 timeByte I
13 49 7 stdOffsetByte I
17 49 8 beforeByte I
21 49 9 afterByte I
24 49 10 dowByte I
39 49 11 b I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
out
static java.time.zone.ZoneOffsetTransitionRule readExternal(java.io.DataInput);
descriptor: (Ljava/io/DataInput;)Ljava/time/zone/ZoneOffsetTransitionRule;
flags: (0x0008) ACC_STATIC
Code:
stack=9, locals=15, args_size=1
start local 0 0: aload 0
invokeinterface java.io.DataInput.readInt:()I
istore 1
start local 1 1: iload 1
bipush 28
iushr
invokestatic java.time.Month.of:(I)Ljava/time/Month;
astore 2
start local 2 2: iload 1
ldc 264241152
iand
bipush 22
iushr
bipush 32
isub
istore 3
start local 3 3: iload 1
ldc 3670016
iand
bipush 19
iushr
istore 4
start local 4 4: iload 4
ifne 5
aconst_null
goto 6
StackMap locals: java.io.DataInput int java.time.Month int int
StackMap stack:
5: iload 4
invokestatic java.time.DayOfWeek.of:(I)Ljava/time/DayOfWeek;
StackMap locals:
StackMap stack: java.time.DayOfWeek
6: astore 5
start local 5 7: iload 1
ldc 507904
iand
bipush 14
iushr
istore 6
start local 6 8: invokestatic java.time.zone.ZoneOffsetTransitionRule$TimeDefinition.values:()[Ljava/time/zone/ZoneOffsetTransitionRule$TimeDefinition;
iload 1
sipush 12288
iand
bipush 12
iushr
aaload
astore 7
start local 7 9: iload 1
sipush 4080
iand
iconst_4
iushr
istore 8
start local 8 10: iload 1
bipush 12
iand
iconst_2
iushr
istore 9
start local 9 11: iload 1
iconst_3
iand
istore 10
start local 10 12: iload 6
bipush 31
if_icmpne 13
aload 0
invokeinterface java.io.DataInput.readInt:()I
i2l
invokestatic java.time.LocalTime.ofSecondOfDay:(J)Ljava/time/LocalTime;
goto 14
StackMap locals: java.io.DataInput int java.time.Month int int java.time.DayOfWeek int java.time.zone.ZoneOffsetTransitionRule$TimeDefinition int int int
StackMap stack:
13: iload 6
bipush 24
irem
iconst_0
invokestatic java.time.LocalTime.of:(II)Ljava/time/LocalTime;
StackMap locals:
StackMap stack: java.time.LocalTime
14: astore 11
start local 11 15: iload 8
sipush 255
if_icmpne 16
aload 0
invokeinterface java.io.DataInput.readInt:()I
invokestatic java.time.ZoneOffset.ofTotalSeconds:(I)Ljava/time/ZoneOffset;
goto 17
StackMap locals: java.time.LocalTime
StackMap stack:
16: iload 8
sipush 128
isub
sipush 900
imul
invokestatic java.time.ZoneOffset.ofTotalSeconds:(I)Ljava/time/ZoneOffset;
StackMap locals:
StackMap stack: java.time.ZoneOffset
17: astore 12
start local 12 18: iload 9
iconst_3
if_icmpne 19
aload 0
invokeinterface java.io.DataInput.readInt:()I
invokestatic java.time.ZoneOffset.ofTotalSeconds:(I)Ljava/time/ZoneOffset;
goto 20
StackMap locals: java.time.ZoneOffset
StackMap stack:
19: aload 12
invokevirtual java.time.ZoneOffset.getTotalSeconds:()I
iload 9
sipush 1800
imul
iadd
invokestatic java.time.ZoneOffset.ofTotalSeconds:(I)Ljava/time/ZoneOffset;
StackMap locals:
StackMap stack: java.time.ZoneOffset
20: astore 13
start local 13 21: iload 10
iconst_3
if_icmpne 22
aload 0
invokeinterface java.io.DataInput.readInt:()I
invokestatic java.time.ZoneOffset.ofTotalSeconds:(I)Ljava/time/ZoneOffset;
goto 23
StackMap locals: java.time.ZoneOffset
StackMap stack:
22: aload 12
invokevirtual java.time.ZoneOffset.getTotalSeconds:()I
iload 10
sipush 1800
imul
iadd
invokestatic java.time.ZoneOffset.ofTotalSeconds:(I)Ljava/time/ZoneOffset;
StackMap locals:
StackMap stack: java.time.ZoneOffset
23: astore 14
start local 14 24: aload 2
iload 3
aload 5
aload 11
iload 6
bipush 24
if_icmpne 25
iconst_1
goto 26
StackMap locals: java.io.DataInput int java.time.Month int int java.time.DayOfWeek int java.time.zone.ZoneOffsetTransitionRule$TimeDefinition int int int java.time.LocalTime java.time.ZoneOffset java.time.ZoneOffset java.time.ZoneOffset
StackMap stack: java.time.Month int java.time.DayOfWeek java.time.LocalTime
25: iconst_0
StackMap locals: java.io.DataInput int java.time.Month int int java.time.DayOfWeek int java.time.zone.ZoneOffsetTransitionRule$TimeDefinition int int int java.time.LocalTime java.time.ZoneOffset java.time.ZoneOffset java.time.ZoneOffset
StackMap stack: java.time.Month int java.time.DayOfWeek java.time.LocalTime int
26: aload 7
aload 12
aload 13
aload 14
invokestatic java.time.zone.ZoneOffsetTransitionRule.of:(Ljava/time/Month;ILjava/time/DayOfWeek;Ljava/time/LocalTime;ZLjava/time/zone/ZoneOffsetTransitionRule$TimeDefinition;Ljava/time/ZoneOffset;Ljava/time/ZoneOffset;Ljava/time/ZoneOffset;)Ljava/time/zone/ZoneOffsetTransitionRule;
areturn
end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 in Ljava/io/DataInput;
1 27 1 data I
2 27 2 month Ljava/time/Month;
3 27 3 dom I
4 27 4 dowByte I
7 27 5 dow Ljava/time/DayOfWeek;
8 27 6 timeByte I
9 27 7 defn Ljava/time/zone/ZoneOffsetTransitionRule$TimeDefinition;
10 27 8 stdByte I
11 27 9 beforeByte I
12 27 10 afterByte I
15 27 11 time Ljava/time/LocalTime;
18 27 12 std Ljava/time/ZoneOffset;
21 27 13 before Ljava/time/ZoneOffset;
24 27 14 after Ljava/time/ZoneOffset;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
in
public java.time.Month getMonth();
descriptor: ()Ljava/time/Month;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.time.zone.ZoneOffsetTransitionRule.month:Ljava/time/Month;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/time/zone/ZoneOffsetTransitionRule;
public int getDayOfMonthIndicator();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.time.zone.ZoneOffsetTransitionRule.dom:B
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/time/zone/ZoneOffsetTransitionRule;
public java.time.DayOfWeek getDayOfWeek();
descriptor: ()Ljava/time/DayOfWeek;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.time.zone.ZoneOffsetTransitionRule.dow:Ljava/time/DayOfWeek;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/time/zone/ZoneOffsetTransitionRule;
public java.time.LocalTime getLocalTime();
descriptor: ()Ljava/time/LocalTime;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.time.zone.ZoneOffsetTransitionRule.time:Ljava/time/LocalTime;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/time/zone/ZoneOffsetTransitionRule;
public boolean isMidnightEndOfDay();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.time.zone.ZoneOffsetTransitionRule.timeEndOfDay:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/time/zone/ZoneOffsetTransitionRule;
public java.time.zone.ZoneOffsetTransitionRule$TimeDefinition getTimeDefinition();
descriptor: ()Ljava/time/zone/ZoneOffsetTransitionRule$TimeDefinition;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.time.zone.ZoneOffsetTransitionRule.timeDefinition:Ljava/time/zone/ZoneOffsetTransitionRule$TimeDefinition;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/time/zone/ZoneOffsetTransitionRule;
public java.time.ZoneOffset getStandardOffset();
descriptor: ()Ljava/time/ZoneOffset;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.time.zone.ZoneOffsetTransitionRule.standardOffset:Ljava/time/ZoneOffset;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/time/zone/ZoneOffsetTransitionRule;
public java.time.ZoneOffset getOffsetBefore();
descriptor: ()Ljava/time/ZoneOffset;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.time.zone.ZoneOffsetTransitionRule.offsetBefore:Ljava/time/ZoneOffset;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/time/zone/ZoneOffsetTransitionRule;
public java.time.ZoneOffset getOffsetAfter();
descriptor: ()Ljava/time/ZoneOffset;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.time.zone.ZoneOffsetTransitionRule.offsetAfter:Ljava/time/ZoneOffset;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/time/zone/ZoneOffsetTransitionRule;
public java.time.zone.ZoneOffsetTransition createTransition(int);
descriptor: (I)Ljava/time/zone/ZoneOffsetTransition;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield java.time.zone.ZoneOffsetTransitionRule.dom:B
ifge 5
1: iload 1
aload 0
getfield java.time.zone.ZoneOffsetTransitionRule.month:Ljava/time/Month;
aload 0
getfield java.time.zone.ZoneOffsetTransitionRule.month:Ljava/time/Month;
getstatic java.time.chrono.IsoChronology.INSTANCE:Ljava/time/chrono/IsoChronology;
iload 1
i2l
invokevirtual java.time.chrono.IsoChronology.isLeapYear:(J)Z
invokevirtual java.time.Month.length:(Z)I
iconst_1
iadd
aload 0
getfield java.time.zone.ZoneOffsetTransitionRule.dom:B
iadd
invokestatic java.time.LocalDate.of:(ILjava/time/Month;I)Ljava/time/LocalDate;
astore 2
start local 2 2: aload 0
getfield java.time.zone.ZoneOffsetTransitionRule.dow:Ljava/time/DayOfWeek;
ifnull 8
3: aload 2
aload 0
getfield java.time.zone.ZoneOffsetTransitionRule.dow:Ljava/time/DayOfWeek;
invokestatic java.time.temporal.TemporalAdjusters.previousOrSame:(Ljava/time/DayOfWeek;)Ljava/time/temporal/TemporalAdjuster;
invokevirtual java.time.LocalDate.with:(Ljava/time/temporal/TemporalAdjuster;)Ljava/time/LocalDate;
astore 2
4: goto 8
end local 2 5: StackMap locals:
StackMap stack:
iload 1
aload 0
getfield java.time.zone.ZoneOffsetTransitionRule.month:Ljava/time/Month;
aload 0
getfield java.time.zone.ZoneOffsetTransitionRule.dom:B
invokestatic java.time.LocalDate.of:(ILjava/time/Month;I)Ljava/time/LocalDate;
astore 2
start local 2 6: aload 0
getfield java.time.zone.ZoneOffsetTransitionRule.dow:Ljava/time/DayOfWeek;
ifnull 8
7: aload 2
aload 0
getfield java.time.zone.ZoneOffsetTransitionRule.dow:Ljava/time/DayOfWeek;
invokestatic java.time.temporal.TemporalAdjusters.nextOrSame:(Ljava/time/DayOfWeek;)Ljava/time/temporal/TemporalAdjuster;
invokevirtual java.time.LocalDate.with:(Ljava/time/temporal/TemporalAdjuster;)Ljava/time/LocalDate;
astore 2
8: StackMap locals: java.time.LocalDate
StackMap stack:
aload 0
getfield java.time.zone.ZoneOffsetTransitionRule.timeEndOfDay:Z
ifeq 10
9: aload 2
lconst_1
invokevirtual java.time.LocalDate.plusDays:(J)Ljava/time/LocalDate;
astore 2
10: StackMap locals:
StackMap stack:
aload 2
aload 0
getfield java.time.zone.ZoneOffsetTransitionRule.time:Ljava/time/LocalTime;
invokestatic java.time.LocalDateTime.of:(Ljava/time/LocalDate;Ljava/time/LocalTime;)Ljava/time/LocalDateTime;
astore 3
start local 3 11: aload 0
getfield java.time.zone.ZoneOffsetTransitionRule.timeDefinition:Ljava/time/zone/ZoneOffsetTransitionRule$TimeDefinition;
aload 3
aload 0
getfield java.time.zone.ZoneOffsetTransitionRule.standardOffset:Ljava/time/ZoneOffset;
aload 0
getfield java.time.zone.ZoneOffsetTransitionRule.offsetBefore:Ljava/time/ZoneOffset;
invokevirtual java.time.zone.ZoneOffsetTransitionRule$TimeDefinition.createDateTime:(Ljava/time/LocalDateTime;Ljava/time/ZoneOffset;Ljava/time/ZoneOffset;)Ljava/time/LocalDateTime;
astore 4
start local 4 12: new java.time.zone.ZoneOffsetTransition
dup
aload 4
aload 0
getfield java.time.zone.ZoneOffsetTransitionRule.offsetBefore:Ljava/time/ZoneOffset;
aload 0
getfield java.time.zone.ZoneOffsetTransitionRule.offsetAfter:Ljava/time/ZoneOffset;
invokespecial java.time.zone.ZoneOffsetTransition.<init>:(Ljava/time/LocalDateTime;Ljava/time/ZoneOffset;Ljava/time/ZoneOffset;)V
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Ljava/time/zone/ZoneOffsetTransitionRule;
0 13 1 year I
2 5 2 date Ljava/time/LocalDate;
6 13 2 date Ljava/time/LocalDate;
11 13 3 localDT Ljava/time/LocalDateTime;
12 13 4 transition Ljava/time/LocalDateTime;
MethodParameters:
Name Flags
year
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 1
aload 0
if_acmpne 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 1
instanceof java.time.zone.ZoneOffsetTransitionRule
ifeq 13
3: aload 1
checkcast java.time.zone.ZoneOffsetTransitionRule
astore 2
start local 2 4: aload 0
getfield java.time.zone.ZoneOffsetTransitionRule.month:Ljava/time/Month;
aload 2
getfield java.time.zone.ZoneOffsetTransitionRule.month:Ljava/time/Month;
if_acmpne 12
aload 0
getfield java.time.zone.ZoneOffsetTransitionRule.dom:B
aload 2
getfield java.time.zone.ZoneOffsetTransitionRule.dom:B
if_icmpne 12
aload 0
getfield java.time.zone.ZoneOffsetTransitionRule.dow:Ljava/time/DayOfWeek;
aload 2
getfield java.time.zone.ZoneOffsetTransitionRule.dow:Ljava/time/DayOfWeek;
if_acmpne 12
5: aload 0
getfield java.time.zone.ZoneOffsetTransitionRule.timeDefinition:Ljava/time/zone/ZoneOffsetTransitionRule$TimeDefinition;
aload 2
getfield java.time.zone.ZoneOffsetTransitionRule.timeDefinition:Ljava/time/zone/ZoneOffsetTransitionRule$TimeDefinition;
if_acmpne 12
6: aload 0
getfield java.time.zone.ZoneOffsetTransitionRule.time:Ljava/time/LocalTime;
aload 2
getfield java.time.zone.ZoneOffsetTransitionRule.time:Ljava/time/LocalTime;
invokevirtual java.time.LocalTime.equals:(Ljava/lang/Object;)Z
ifeq 12
7: aload 0
getfield java.time.zone.ZoneOffsetTransitionRule.timeEndOfDay:Z
aload 2
getfield java.time.zone.ZoneOffsetTransitionRule.timeEndOfDay:Z
if_icmpne 12
8: aload 0
getfield java.time.zone.ZoneOffsetTransitionRule.standardOffset:Ljava/time/ZoneOffset;
aload 2
getfield java.time.zone.ZoneOffsetTransitionRule.standardOffset:Ljava/time/ZoneOffset;
invokevirtual java.time.ZoneOffset.equals:(Ljava/lang/Object;)Z
ifeq 12
9: aload 0
getfield java.time.zone.ZoneOffsetTransitionRule.offsetBefore:Ljava/time/ZoneOffset;
aload 2
getfield java.time.zone.ZoneOffsetTransitionRule.offsetBefore:Ljava/time/ZoneOffset;
invokevirtual java.time.ZoneOffset.equals:(Ljava/lang/Object;)Z
ifeq 12
10: aload 0
getfield java.time.zone.ZoneOffsetTransitionRule.offsetAfter:Ljava/time/ZoneOffset;
aload 2
getfield java.time.zone.ZoneOffsetTransitionRule.offsetAfter:Ljava/time/ZoneOffset;
invokevirtual java.time.ZoneOffset.equals:(Ljava/lang/Object;)Z
ifeq 12
11: iconst_1
ireturn
StackMap locals: java.time.zone.ZoneOffsetTransitionRule
StackMap stack:
12: iconst_0
ireturn
end local 2 13: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Ljava/time/zone/ZoneOffsetTransitionRule;
0 14 1 otherRule Ljava/lang/Object;
4 13 2 other Ljava/time/zone/ZoneOffsetTransitionRule;
MethodParameters:
Name Flags
otherRule
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield java.time.zone.ZoneOffsetTransitionRule.time:Ljava/time/LocalTime;
invokevirtual java.time.LocalTime.toSecondOfDay:()I
aload 0
getfield java.time.zone.ZoneOffsetTransitionRule.timeEndOfDay:Z
ifeq 1
iconst_1
goto 2
StackMap locals:
StackMap stack: int
1: iconst_0
StackMap locals: java.time.zone.ZoneOffsetTransitionRule
StackMap stack: int int
2: iadd
bipush 15
ishl
3: aload 0
getfield java.time.zone.ZoneOffsetTransitionRule.month:Ljava/time/Month;
invokevirtual java.time.Month.ordinal:()I
bipush 11
ishl
4: iadd
5: aload 0
getfield java.time.zone.ZoneOffsetTransitionRule.dom:B
bipush 32
iadd
iconst_5
ishl
6: iadd
7: aload 0
getfield java.time.zone.ZoneOffsetTransitionRule.dow:Ljava/time/DayOfWeek;
ifnonnull 8
bipush 7
goto 9
StackMap locals:
StackMap stack: int
8: aload 0
getfield java.time.zone.ZoneOffsetTransitionRule.dow:Ljava/time/DayOfWeek;
invokevirtual java.time.DayOfWeek.ordinal:()I
StackMap locals: java.time.zone.ZoneOffsetTransitionRule
StackMap stack: int int
9: iconst_2
ishl
10: iadd
11: aload 0
getfield java.time.zone.ZoneOffsetTransitionRule.timeDefinition:Ljava/time/zone/ZoneOffsetTransitionRule$TimeDefinition;
invokevirtual java.time.zone.ZoneOffsetTransitionRule$TimeDefinition.ordinal:()I
12: iadd
istore 1
start local 1 13: iload 1
aload 0
getfield java.time.zone.ZoneOffsetTransitionRule.standardOffset:Ljava/time/ZoneOffset;
invokevirtual java.time.ZoneOffset.hashCode:()I
ixor
14: aload 0
getfield java.time.zone.ZoneOffsetTransitionRule.offsetBefore:Ljava/time/ZoneOffset;
invokevirtual java.time.ZoneOffset.hashCode:()I
15: ixor
16: aload 0
getfield java.time.zone.ZoneOffsetTransitionRule.offsetAfter:Ljava/time/ZoneOffset;
invokevirtual java.time.ZoneOffset.hashCode:()I
17: ixor
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Ljava/time/zone/ZoneOffsetTransitionRule;
13 18 1 hash I
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 1
start local 1 1: aload 1
ldc "TransitionRule["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
2: aload 0
getfield java.time.zone.ZoneOffsetTransitionRule.offsetBefore:Ljava/time/ZoneOffset;
aload 0
getfield java.time.zone.ZoneOffsetTransitionRule.offsetAfter:Ljava/time/ZoneOffset;
invokevirtual java.time.ZoneOffset.compareTo:(Ljava/time/ZoneOffset;)I
ifle 3
ldc "Gap "
goto 4
StackMap locals: java.time.zone.ZoneOffsetTransitionRule java.lang.StringBuilder
StackMap stack: java.lang.StringBuilder
3: ldc "Overlap "
StackMap locals: java.time.zone.ZoneOffsetTransitionRule java.lang.StringBuilder
StackMap stack: java.lang.StringBuilder java.lang.String
4: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
5: aload 0
getfield java.time.zone.ZoneOffsetTransitionRule.offsetBefore:Ljava/time/ZoneOffset;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " to "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield java.time.zone.ZoneOffsetTransitionRule.offsetAfter:Ljava/time/ZoneOffset;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
6: aload 0
getfield java.time.zone.ZoneOffsetTransitionRule.dow:Ljava/time/DayOfWeek;
ifnull 15
7: aload 0
getfield java.time.zone.ZoneOffsetTransitionRule.dom:B
iconst_m1
if_icmpne 10
8: aload 1
aload 0
getfield java.time.zone.ZoneOffsetTransitionRule.dow:Ljava/time/DayOfWeek;
invokevirtual java.time.DayOfWeek.name:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " on or before last day of "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield java.time.zone.ZoneOffsetTransitionRule.month:Ljava/time/Month;
invokevirtual java.time.Month.name:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
9: goto 16
StackMap locals:
StackMap stack:
10: aload 0
getfield java.time.zone.ZoneOffsetTransitionRule.dom:B
ifge 13
11: aload 1
aload 0
getfield java.time.zone.ZoneOffsetTransitionRule.dow:Ljava/time/DayOfWeek;
invokevirtual java.time.DayOfWeek.name:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " on or before last day minus "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield java.time.zone.ZoneOffsetTransitionRule.dom:B
ineg
iconst_1
isub
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " of "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield java.time.zone.ZoneOffsetTransitionRule.month:Ljava/time/Month;
invokevirtual java.time.Month.name:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
12: goto 16
13: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield java.time.zone.ZoneOffsetTransitionRule.dow:Ljava/time/DayOfWeek;
invokevirtual java.time.DayOfWeek.name:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " on or after "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield java.time.zone.ZoneOffsetTransitionRule.month:Ljava/time/Month;
invokevirtual java.time.Month.name:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
bipush 32
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
aload 0
getfield java.time.zone.ZoneOffsetTransitionRule.dom:B
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
pop
14: goto 16
15: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield java.time.zone.ZoneOffsetTransitionRule.month:Ljava/time/Month;
invokevirtual java.time.Month.name:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
bipush 32
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
aload 0
getfield java.time.zone.ZoneOffsetTransitionRule.dom:B
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
pop
16: StackMap locals:
StackMap stack:
aload 1
ldc " at "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield java.time.zone.ZoneOffsetTransitionRule.timeEndOfDay:Z
ifeq 17
ldc "24:00"
goto 18
StackMap locals:
StackMap stack: java.lang.StringBuilder
17: aload 0
getfield java.time.zone.ZoneOffsetTransitionRule.time:Ljava/time/LocalTime;
invokevirtual java.time.LocalTime.toString:()Ljava/lang/String;
StackMap locals: java.time.zone.ZoneOffsetTransitionRule java.lang.StringBuilder
StackMap stack: java.lang.StringBuilder java.lang.String
18: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
19: ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield java.time.zone.ZoneOffsetTransitionRule.timeDefinition:Ljava/time/zone/ZoneOffsetTransitionRule$TimeDefinition;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
20: ldc ", standard offset "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield java.time.zone.ZoneOffsetTransitionRule.standardOffset:Ljava/time/ZoneOffset;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
21: bipush 93
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
22: aload 1
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Ljava/time/zone/ZoneOffsetTransitionRule;
1 23 1 buf Ljava/lang/StringBuilder;
}
SourceFile: "ZoneOffsetTransitionRule.java"
NestMembers:
java.time.zone.ZoneOffsetTransitionRule$TimeDefinition
InnerClasses:
public final TimeDefinition = java.time.zone.ZoneOffsetTransitionRule$TimeDefinition of java.time.zone.ZoneOffsetTransitionRule