public abstract class org.joda.time.base.BaseSingleFieldPeriod implements org.joda.time.ReadablePeriod, java.lang.Comparable<org.joda.time.base.BaseSingleFieldPeriod>, java.io.Serializable
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.joda.time.base.BaseSingleFieldPeriod
super_class: java.lang.Object
{
private static final long serialVersionUID;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 9386874258972
private static final long START_1972;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 63072000000
private volatile int iPeriod;
descriptor: I
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
protected static int between(org.joda.time.ReadableInstant, org.joda.time.ReadableInstant, org.joda.time.DurationFieldType);
descriptor: (Lorg/joda/time/ReadableInstant;Lorg/joda/time/ReadableInstant;Lorg/joda/time/DurationFieldType;)I
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
ifnull 1
aload 1
ifnonnull 2
1: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "ReadableInstant objects must not be null"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
invokestatic org.joda.time.DateTimeUtils.getInstantChronology:(Lorg/joda/time/ReadableInstant;)Lorg/joda/time/Chronology;
astore 3
start local 3 3: aload 2
aload 3
invokevirtual org.joda.time.DurationFieldType.getField:(Lorg/joda/time/Chronology;)Lorg/joda/time/DurationField;
aload 1
invokeinterface org.joda.time.ReadableInstant.getMillis:()J
aload 0
invokeinterface org.joda.time.ReadableInstant.getMillis:()J
invokevirtual org.joda.time.DurationField.getDifference:(JJ)I
istore 4
start local 4 4: iload 4
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 start Lorg/joda/time/ReadableInstant;
0 5 1 end Lorg/joda/time/ReadableInstant;
0 5 2 field Lorg/joda/time/DurationFieldType;
3 5 3 chrono Lorg/joda/time/Chronology;
4 5 4 amount I
MethodParameters:
Name Flags
start
end
field
protected static int between(org.joda.time.ReadablePartial, org.joda.time.ReadablePartial, org.joda.time.ReadablePeriod);
descriptor: (Lorg/joda/time/ReadablePartial;Lorg/joda/time/ReadablePartial;Lorg/joda/time/ReadablePeriod;)I
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=8, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
ifnull 1
aload 1
ifnonnull 2
1: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "ReadablePartial objects must not be null"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
invokeinterface org.joda.time.ReadablePartial.size:()I
aload 1
invokeinterface org.joda.time.ReadablePartial.size:()I
if_icmpeq 4
3: new java.lang.IllegalArgumentException
dup
ldc "ReadablePartial objects must have the same set of fields"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
iconst_0
istore 3
start local 3 5: aload 0
invokeinterface org.joda.time.ReadablePartial.size:()I
istore 4
start local 4 6: goto 10
7: StackMap locals: int int
StackMap stack:
aload 0
iload 3
invokeinterface org.joda.time.ReadablePartial.getFieldType:(I)Lorg/joda/time/DateTimeFieldType;
aload 1
iload 3
invokeinterface org.joda.time.ReadablePartial.getFieldType:(I)Lorg/joda/time/DateTimeFieldType;
if_acmpeq 9
8: new java.lang.IllegalArgumentException
dup
ldc "ReadablePartial objects must have the same set of fields"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
10: iload 3
iload 4
if_icmplt 7
end local 4 end local 3 11: aload 0
invokestatic org.joda.time.DateTimeUtils.isContiguous:(Lorg/joda/time/ReadablePartial;)Z
ifne 13
12: new java.lang.IllegalArgumentException
dup
ldc "ReadablePartial objects must be contiguous"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
13: StackMap locals:
StackMap stack:
aload 0
invokeinterface org.joda.time.ReadablePartial.getChronology:()Lorg/joda/time/Chronology;
invokestatic org.joda.time.DateTimeUtils.getChronology:(Lorg/joda/time/Chronology;)Lorg/joda/time/Chronology;
invokevirtual org.joda.time.Chronology.withUTC:()Lorg/joda/time/Chronology;
astore 3
start local 3 14: aload 3
aload 2
aload 3
aload 0
ldc 63072000000
invokevirtual org.joda.time.Chronology.set:(Lorg/joda/time/ReadablePartial;J)J
aload 3
aload 1
ldc 63072000000
invokevirtual org.joda.time.Chronology.set:(Lorg/joda/time/ReadablePartial;J)J
invokevirtual org.joda.time.Chronology.get:(Lorg/joda/time/ReadablePeriod;JJ)[I
astore 4
start local 4 15: aload 4
iconst_0
iaload
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 start Lorg/joda/time/ReadablePartial;
0 16 1 end Lorg/joda/time/ReadablePartial;
0 16 2 zeroInstance Lorg/joda/time/ReadablePeriod;
5 11 3 i I
6 11 4 isize I
14 16 3 chrono Lorg/joda/time/Chronology;
15 16 4 values [I
MethodParameters:
Name Flags
start
end
zeroInstance
protected static int standardPeriodIn(org.joda.time.ReadablePeriod, long);
descriptor: (Lorg/joda/time/ReadablePeriod;J)I
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=5, locals=9, args_size=2
start local 0 start local 1 0: aload 0
ifnonnull 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
invokestatic org.joda.time.chrono.ISOChronology.getInstanceUTC:()Lorg/joda/time/chrono/ISOChronology;
astore 3
start local 3 3: lconst_0
lstore 4
start local 4 4: iconst_0
istore 6
start local 6 5: goto 17
6: StackMap locals: org.joda.time.Chronology long int
StackMap stack:
aload 0
iload 6
invokeinterface org.joda.time.ReadablePeriod.getValue:(I)I
istore 7
start local 7 7: iload 7
ifeq 16
8: aload 0
iload 6
invokeinterface org.joda.time.ReadablePeriod.getFieldType:(I)Lorg/joda/time/DurationFieldType;
aload 3
invokevirtual org.joda.time.DurationFieldType.getField:(Lorg/joda/time/Chronology;)Lorg/joda/time/DurationField;
astore 8
start local 8 9: aload 8
invokevirtual org.joda.time.DurationField.isPrecise:()Z
ifne 15
10: new java.lang.IllegalArgumentException
dup
11: new java.lang.StringBuilder
dup
ldc "Cannot convert period to duration as "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 8
invokevirtual org.joda.time.DurationField.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
12: ldc " is not precise in the period "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
13: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
14: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
15: StackMap locals: int org.joda.time.DurationField
StackMap stack:
lload 4
aload 8
invokevirtual org.joda.time.DurationField.getUnitMillis:()J
iload 7
invokestatic org.joda.time.field.FieldUtils.safeMultiply:(JI)J
invokestatic org.joda.time.field.FieldUtils.safeAdd:(JJ)J
lstore 4
end local 8 end local 7 16: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
17: iload 6
aload 0
invokeinterface org.joda.time.ReadablePeriod.size:()I
if_icmplt 6
end local 6 18: lload 4
lload 1
ldiv
invokestatic org.joda.time.field.FieldUtils.safeToInt:(J)I
ireturn
end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 period Lorg/joda/time/ReadablePeriod;
0 19 1 millisPerUnit J
3 19 3 iso Lorg/joda/time/Chronology;
4 19 4 duration J
5 18 6 i I
7 16 7 value I
9 16 8 field Lorg/joda/time/DurationField;
MethodParameters:
Name Flags
period
millisPerUnit
protected void <init>(int);
descriptor: (I)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iload 1
putfield org.joda.time.base.BaseSingleFieldPeriod.iPeriod:I
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/joda/time/base/BaseSingleFieldPeriod;
0 3 1 period I
MethodParameters:
Name Flags
period
protected int getValue();
descriptor: ()I
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.joda.time.base.BaseSingleFieldPeriod.iPeriod:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/joda/time/base/BaseSingleFieldPeriod;
protected void setValue(int);
descriptor: (I)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield org.joda.time.base.BaseSingleFieldPeriod.iPeriod:I
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/joda/time/base/BaseSingleFieldPeriod;
0 2 1 value I
MethodParameters:
Name Flags
value
public abstract org.joda.time.DurationFieldType getFieldType();
descriptor: ()Lorg/joda/time/DurationFieldType;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public abstract org.joda.time.PeriodType getPeriodType();
descriptor: ()Lorg/joda/time/PeriodType;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public int size();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/joda/time/base/BaseSingleFieldPeriod;
public org.joda.time.DurationFieldType getFieldType(int);
descriptor: (I)Lorg/joda/time/DurationFieldType;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: iload 1
ifeq 2
1: new java.lang.IndexOutOfBoundsException
dup
iload 1
invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.joda.time.base.BaseSingleFieldPeriod.getFieldType:()Lorg/joda/time/DurationFieldType;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/joda/time/base/BaseSingleFieldPeriod;
0 3 1 index I
MethodParameters:
Name Flags
index
public int getValue(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: iload 1
ifeq 2
1: new java.lang.IndexOutOfBoundsException
dup
iload 1
invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.joda.time.base.BaseSingleFieldPeriod.getValue:()I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/joda/time/base/BaseSingleFieldPeriod;
0 3 1 index I
MethodParameters:
Name Flags
index
public int get(org.joda.time.DurationFieldType);
descriptor: (Lorg/joda/time/DurationFieldType;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
invokevirtual org.joda.time.base.BaseSingleFieldPeriod.getFieldType:()Lorg/joda/time/DurationFieldType;
if_acmpne 2
1: aload 0
invokevirtual org.joda.time.base.BaseSingleFieldPeriod.getValue:()I
ireturn
2: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/joda/time/base/BaseSingleFieldPeriod;
0 3 1 type Lorg/joda/time/DurationFieldType;
MethodParameters:
Name Flags
type
public boolean isSupported(org.joda.time.DurationFieldType);
descriptor: (Lorg/joda/time/DurationFieldType;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
invokevirtual org.joda.time.base.BaseSingleFieldPeriod.getFieldType:()Lorg/joda/time/DurationFieldType;
if_acmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/joda/time/base/BaseSingleFieldPeriod;
0 2 1 type Lorg/joda/time/DurationFieldType;
MethodParameters:
Name Flags
type
public org.joda.time.Period toPeriod();
descriptor: ()Lorg/joda/time/Period;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic org.joda.time.Period.ZERO:Lorg/joda/time/Period;
aload 0
invokevirtual org.joda.time.Period.withFields:(Lorg/joda/time/ReadablePeriod;)Lorg/joda/time/Period;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/joda/time/base/BaseSingleFieldPeriod;
public org.joda.time.MutablePeriod toMutablePeriod();
descriptor: ()Lorg/joda/time/MutablePeriod;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: new org.joda.time.MutablePeriod
dup
invokespecial org.joda.time.MutablePeriod.<init>:()V
astore 1
start local 1 1: aload 1
aload 0
invokevirtual org.joda.time.MutablePeriod.add:(Lorg/joda/time/ReadablePeriod;)V
2: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/joda/time/base/BaseSingleFieldPeriod;
1 3 1 period Lorg/joda/time/MutablePeriod;
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 org.joda.time.ReadablePeriod
ifne 4
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 1
checkcast org.joda.time.ReadablePeriod
astore 2
start local 2 5: aload 2
invokeinterface org.joda.time.ReadablePeriod.getPeriodType:()Lorg/joda/time/PeriodType;
aload 0
invokevirtual org.joda.time.base.BaseSingleFieldPeriod.getPeriodType:()Lorg/joda/time/PeriodType;
if_acmpne 6
aload 2
iconst_0
invokeinterface org.joda.time.ReadablePeriod.getValue:(I)I
aload 0
invokevirtual org.joda.time.base.BaseSingleFieldPeriod.getValue:()I
if_icmpne 6
iconst_1
ireturn
StackMap locals: org.joda.time.ReadablePeriod
StackMap stack:
6: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/joda/time/base/BaseSingleFieldPeriod;
0 7 1 period Ljava/lang/Object;
5 7 2 other Lorg/joda/time/ReadablePeriod;
MethodParameters:
Name Flags
period
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: bipush 17
istore 1
start local 1 1: bipush 27
iload 1
imul
aload 0
invokevirtual org.joda.time.base.BaseSingleFieldPeriod.getValue:()I
iadd
istore 1
2: bipush 27
iload 1
imul
aload 0
invokevirtual org.joda.time.base.BaseSingleFieldPeriod.getFieldType:()Lorg/joda/time/DurationFieldType;
invokevirtual java.lang.Object.hashCode:()I
iadd
istore 1
3: iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/joda/time/base/BaseSingleFieldPeriod;
1 4 1 total I
public int compareTo(org.joda.time.base.BaseSingleFieldPeriod);
descriptor: (Lorg/joda/time/base/BaseSingleFieldPeriod;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
if_acmpeq 2
1: new java.lang.ClassCastException
dup
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " cannot be compared to "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.ClassCastException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.joda.time.base.BaseSingleFieldPeriod.getValue:()I
istore 2
start local 2 3: aload 0
invokevirtual org.joda.time.base.BaseSingleFieldPeriod.getValue:()I
istore 3
start local 3 4: iload 3
iload 2
if_icmple 6
5: iconst_1
ireturn
6: StackMap locals: int int
StackMap stack:
iload 3
iload 2
if_icmpge 8
7: iconst_m1
ireturn
8: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/joda/time/base/BaseSingleFieldPeriod;
0 9 1 other Lorg/joda/time/base/BaseSingleFieldPeriod;
3 9 2 otherValue I
4 9 3 thisValue I
MethodParameters:
Name Flags
other
public int compareTo(java.lang.Object);
descriptor: (Ljava/lang/Object;)I
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
checkcast org.joda.time.base.BaseSingleFieldPeriod
invokevirtual org.joda.time.base.BaseSingleFieldPeriod.compareTo:(Lorg/joda/time/base/BaseSingleFieldPeriod;)I
ireturn
LocalVariableTable:
Start End Slot Name Signature
}
Signature: Ljava/lang/Object;Lorg/joda/time/ReadablePeriod;Ljava/lang/Comparable<Lorg/joda/time/base/BaseSingleFieldPeriod;>;Ljava/io/Serializable;
SourceFile: "BaseSingleFieldPeriod.java"