public abstract class org.joda.time.base.AbstractPeriod implements org.joda.time.ReadablePeriod
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.joda.time.base.AbstractPeriod
  super_class: java.lang.Object
{
  protected void <init>();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.joda.time.base.AbstractPeriod this
         0: .line 45
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 46
            return
        end local 0 // org.joda.time.base.AbstractPeriod this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/joda/time/base/AbstractPeriod;

  public int size();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.joda.time.base.AbstractPeriod this
         0: .line 56
            aload 0 /* this */
            invokevirtual org.joda.time.base.AbstractPeriod.getPeriodType:()Lorg/joda/time/PeriodType;
            invokevirtual org.joda.time.PeriodType.size:()I
            ireturn
        end local 0 // org.joda.time.base.AbstractPeriod this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/joda/time/base/AbstractPeriod;

  public org.joda.time.DurationFieldType getFieldType(int);
    descriptor: (I)Lorg/joda/time/DurationFieldType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.joda.time.base.AbstractPeriod this
        start local 1 // int index
         0: .line 68
            aload 0 /* this */
            invokevirtual org.joda.time.base.AbstractPeriod.getPeriodType:()Lorg/joda/time/PeriodType;
            iload 1 /* index */
            invokevirtual org.joda.time.PeriodType.getFieldType:(I)Lorg/joda/time/DurationFieldType;
            areturn
        end local 1 // int index
        end local 0 // org.joda.time.base.AbstractPeriod this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/joda/time/base/AbstractPeriod;
            0    1     1  index  I
    MethodParameters:
       Name  Flags
      index  

  public org.joda.time.DurationFieldType[] getFieldTypes();
    descriptor: ()[Lorg/joda/time/DurationFieldType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // org.joda.time.base.AbstractPeriod this
         0: .line 79
            aload 0 /* this */
            invokevirtual org.joda.time.base.AbstractPeriod.size:()I
            anewarray org.joda.time.DurationFieldType
            astore 1 /* result */
        start local 1 // org.joda.time.DurationFieldType[] result
         1: .line 80
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 5
         3: .line 81
      StackMap locals: org.joda.time.DurationFieldType[] int
      StackMap stack:
            aload 1 /* result */
            iload 2 /* i */
            aload 0 /* this */
            iload 2 /* i */
            invokevirtual org.joda.time.base.AbstractPeriod.getFieldType:(I)Lorg/joda/time/DurationFieldType;
            aastore
         4: .line 80
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            aload 1 /* result */
            arraylength
            if_icmplt 3
        end local 2 // int i
         6: .line 83
            aload 1 /* result */
            areturn
        end local 1 // org.joda.time.DurationFieldType[] result
        end local 0 // org.joda.time.base.AbstractPeriod this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lorg/joda/time/base/AbstractPeriod;
            1    7     1  result  [Lorg/joda/time/DurationFieldType;
            2    6     2       i  I

  public int[] getValues();
    descriptor: ()[I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // org.joda.time.base.AbstractPeriod this
         0: .line 95
            aload 0 /* this */
            invokevirtual org.joda.time.base.AbstractPeriod.size:()I
            newarray 10
            astore 1 /* result */
        start local 1 // int[] result
         1: .line 96
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 5
         3: .line 97
      StackMap locals: int[] int
      StackMap stack:
            aload 1 /* result */
            iload 2 /* i */
            aload 0 /* this */
            iload 2 /* i */
            invokevirtual org.joda.time.base.AbstractPeriod.getValue:(I)I
            iastore
         4: .line 96
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            aload 1 /* result */
            arraylength
            if_icmplt 3
        end local 2 // int i
         6: .line 99
            aload 1 /* result */
            areturn
        end local 1 // int[] result
        end local 0 // org.joda.time.base.AbstractPeriod this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lorg/joda/time/base/AbstractPeriod;
            1    7     1  result  [I
            2    6     2       i  I

  public int get(org.joda.time.DurationFieldType);
    descriptor: (Lorg/joda/time/DurationFieldType;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.joda.time.base.AbstractPeriod this
        start local 1 // org.joda.time.DurationFieldType type
         0: .line 113
            aload 0 /* this */
            aload 1 /* type */
            invokevirtual org.joda.time.base.AbstractPeriod.indexOf:(Lorg/joda/time/DurationFieldType;)I
            istore 2 /* index */
        start local 2 // int index
         1: .line 114
            iload 2 /* index */
            iconst_m1
            if_icmpne 3
         2: .line 115
            iconst_0
            ireturn
         3: .line 117
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 2 /* index */
            invokevirtual org.joda.time.base.AbstractPeriod.getValue:(I)I
            ireturn
        end local 2 // int index
        end local 1 // org.joda.time.DurationFieldType type
        end local 0 // org.joda.time.base.AbstractPeriod this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lorg/joda/time/base/AbstractPeriod;
            0    4     1   type  Lorg/joda/time/DurationFieldType;
            1    4     2  index  I
    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 // org.joda.time.base.AbstractPeriod this
        start local 1 // org.joda.time.DurationFieldType type
         0: .line 127
            aload 0 /* this */
            invokevirtual org.joda.time.base.AbstractPeriod.getPeriodType:()Lorg/joda/time/PeriodType;
            aload 1 /* type */
            invokevirtual org.joda.time.PeriodType.isSupported:(Lorg/joda/time/DurationFieldType;)Z
            ireturn
        end local 1 // org.joda.time.DurationFieldType type
        end local 0 // org.joda.time.base.AbstractPeriod this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/joda/time/base/AbstractPeriod;
            0    1     1  type  Lorg/joda/time/DurationFieldType;
    MethodParameters:
      Name  Flags
      type  

  public int indexOf(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 // org.joda.time.base.AbstractPeriod this
        start local 1 // org.joda.time.DurationFieldType type
         0: .line 137
            aload 0 /* this */
            invokevirtual org.joda.time.base.AbstractPeriod.getPeriodType:()Lorg/joda/time/PeriodType;
            aload 1 /* type */
            invokevirtual org.joda.time.PeriodType.indexOf:(Lorg/joda/time/DurationFieldType;)I
            ireturn
        end local 1 // org.joda.time.DurationFieldType type
        end local 0 // org.joda.time.base.AbstractPeriod this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/joda/time/base/AbstractPeriod;
            0    1     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=3, locals=1, args_size=1
        start local 0 // org.joda.time.base.AbstractPeriod this
         0: .line 147
            new org.joda.time.Period
            dup
            aload 0 /* this */
            invokespecial org.joda.time.Period.<init>:(Ljava/lang/Object;)V
            areturn
        end local 0 // org.joda.time.base.AbstractPeriod this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/joda/time/base/AbstractPeriod;

  public org.joda.time.MutablePeriod toMutablePeriod();
    descriptor: ()Lorg/joda/time/MutablePeriod;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.joda.time.base.AbstractPeriod this
         0: .line 158
            new org.joda.time.MutablePeriod
            dup
            aload 0 /* this */
            invokespecial org.joda.time.MutablePeriod.<init>:(Ljava/lang/Object;)V
            areturn
        end local 0 // org.joda.time.base.AbstractPeriod this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/joda/time/base/AbstractPeriod;

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // org.joda.time.base.AbstractPeriod this
        start local 1 // java.lang.Object period
         0: .line 183
            aload 0 /* this */
            aload 1 /* period */
            if_acmpne 2
         1: .line 184
            iconst_1
            ireturn
         2: .line 186
      StackMap locals:
      StackMap stack:
            aload 1 /* period */
            instanceof org.joda.time.ReadablePeriod
            ifne 4
         3: .line 187
            iconst_0
            ireturn
         4: .line 189
      StackMap locals:
      StackMap stack:
            aload 1 /* period */
            checkcast org.joda.time.ReadablePeriod
            astore 2 /* other */
        start local 2 // org.joda.time.ReadablePeriod other
         5: .line 190
            aload 0 /* this */
            invokevirtual org.joda.time.base.AbstractPeriod.size:()I
            aload 2 /* other */
            invokeinterface org.joda.time.ReadablePeriod.size:()I
            if_icmpeq 7
         6: .line 191
            iconst_0
            ireturn
         7: .line 193
      StackMap locals: org.joda.time.ReadablePeriod
      StackMap stack:
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         8: aload 0 /* this */
            invokevirtual org.joda.time.base.AbstractPeriod.size:()I
            istore 4 /* isize */
        start local 4 // int isize
         9: goto 13
        10: .line 194
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            iload 3 /* i */
            invokevirtual org.joda.time.base.AbstractPeriod.getValue:(I)I
            aload 2 /* other */
            iload 3 /* i */
            invokeinterface org.joda.time.ReadablePeriod.getValue:(I)I
            if_icmpne 11
            aload 0 /* this */
            iload 3 /* i */
            invokevirtual org.joda.time.base.AbstractPeriod.getFieldType:(I)Lorg/joda/time/DurationFieldType;
            aload 2 /* other */
            iload 3 /* i */
            invokeinterface org.joda.time.ReadablePeriod.getFieldType:(I)Lorg/joda/time/DurationFieldType;
            if_acmpeq 12
        11: .line 195
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        12: .line 193
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 3 /* i */
            iload 4 /* isize */
            if_icmplt 10
        end local 4 // int isize
        end local 3 // int i
        14: .line 198
            iconst_1
            ireturn
        end local 2 // org.joda.time.ReadablePeriod other
        end local 1 // java.lang.Object period
        end local 0 // org.joda.time.base.AbstractPeriod this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   15     0    this  Lorg/joda/time/base/AbstractPeriod;
            0   15     1  period  Ljava/lang/Object;
            5   15     2   other  Lorg/joda/time/ReadablePeriod;
            8   14     3       i  I
            9   14     4   isize  I
    MethodParameters:
        Name  Flags
      period  

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // org.joda.time.base.AbstractPeriod this
         0: .line 207
            bipush 17
            istore 1 /* total */
        start local 1 // int total
         1: .line 208
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: aload 0 /* this */
            invokevirtual org.joda.time.base.AbstractPeriod.size:()I
            istore 3 /* isize */
        start local 3 // int isize
         3: goto 7
         4: .line 209
      StackMap locals: int int int
      StackMap stack:
            bipush 27
            iload 1 /* total */
            imul
            aload 0 /* this */
            iload 2 /* i */
            invokevirtual org.joda.time.base.AbstractPeriod.getValue:(I)I
            iadd
            istore 1 /* total */
         5: .line 210
            bipush 27
            iload 1 /* total */
            imul
            aload 0 /* this */
            iload 2 /* i */
            invokevirtual org.joda.time.base.AbstractPeriod.getFieldType:(I)Lorg/joda/time/DurationFieldType;
            invokevirtual java.lang.Object.hashCode:()I
            iadd
            istore 1 /* total */
         6: .line 208
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 2 /* i */
            iload 3 /* isize */
            if_icmplt 4
        end local 3 // int isize
        end local 2 // int i
         8: .line 212
            iload 1 /* total */
            ireturn
        end local 1 // int total
        end local 0 // org.joda.time.base.AbstractPeriod this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    9     0   this  Lorg/joda/time/base/AbstractPeriod;
            1    9     1  total  I
            2    8     2      i  I
            3    8     3  isize  I

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.joda.time.base.AbstractPeriod this
         0: .line 228
            invokestatic org.joda.time.format.ISOPeriodFormat.standard:()Lorg/joda/time/format/PeriodFormatter;
            aload 0 /* this */
            invokevirtual org.joda.time.format.PeriodFormatter.print:(Lorg/joda/time/ReadablePeriod;)Ljava/lang/String;
            areturn
        end local 0 // org.joda.time.base.AbstractPeriod this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/joda/time/base/AbstractPeriod;
    RuntimeVisibleAnnotations: 
      org.joda.convert.ToString()

  public java.lang.String toString(org.joda.time.format.PeriodFormatter);
    descriptor: (Lorg/joda/time/format/PeriodFormatter;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.joda.time.base.AbstractPeriod this
        start local 1 // org.joda.time.format.PeriodFormatter formatter
         0: .line 240
            aload 1 /* formatter */
            ifnonnull 2
         1: .line 241
            aload 0 /* this */
            invokevirtual org.joda.time.base.AbstractPeriod.toString:()Ljava/lang/String;
            areturn
         2: .line 243
      StackMap locals:
      StackMap stack:
            aload 1 /* formatter */
            aload 0 /* this */
            invokevirtual org.joda.time.format.PeriodFormatter.print:(Lorg/joda/time/ReadablePeriod;)Ljava/lang/String;
            areturn
        end local 1 // org.joda.time.format.PeriodFormatter formatter
        end local 0 // org.joda.time.base.AbstractPeriod this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lorg/joda/time/base/AbstractPeriod;
            0    3     1  formatter  Lorg/joda/time/format/PeriodFormatter;
    MethodParameters:
           Name  Flags
      formatter  
}
SourceFile: "AbstractPeriod.java"