class org.joda.time.chrono.BasicYearDateTimeField extends org.joda.time.field.ImpreciseDateTimeField
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.joda.time.chrono.BasicYearDateTimeField
  super_class: org.joda.time.field.ImpreciseDateTimeField
{
  private static final long serialVersionUID;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -98628754872287

  protected final org.joda.time.chrono.BasicChronology iChronology;
    descriptor: Lorg/joda/time/chrono/BasicChronology;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  void <init>(org.joda.time.chrono.BasicChronology);
    descriptor: (Lorg/joda/time/chrono/BasicChronology;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.joda.time.chrono.BasicYearDateTimeField this
        start local 1 // org.joda.time.chrono.BasicChronology chronology
         0: .line 46
            aload 0 /* this */
            invokestatic org.joda.time.DateTimeFieldType.year:()Lorg/joda/time/DateTimeFieldType;
            aload 1 /* chronology */
            invokevirtual org.joda.time.chrono.BasicChronology.getAverageMillisPerYear:()J
            invokespecial org.joda.time.field.ImpreciseDateTimeField.<init>:(Lorg/joda/time/DateTimeFieldType;J)V
         1: .line 47
            aload 0 /* this */
            aload 1 /* chronology */
            putfield org.joda.time.chrono.BasicYearDateTimeField.iChronology:Lorg/joda/time/chrono/BasicChronology;
         2: .line 48
            return
        end local 1 // org.joda.time.chrono.BasicChronology chronology
        end local 0 // org.joda.time.chrono.BasicYearDateTimeField this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Lorg/joda/time/chrono/BasicYearDateTimeField;
            0    3     1  chronology  Lorg/joda/time/chrono/BasicChronology;
    MethodParameters:
            Name  Flags
      chronology  

  public boolean isLenient();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.joda.time.chrono.BasicYearDateTimeField this
         0: .line 51
            iconst_0
            ireturn
        end local 0 // org.joda.time.chrono.BasicYearDateTimeField this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/joda/time/chrono/BasicYearDateTimeField;

  public int get(long);
    descriptor: (J)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.joda.time.chrono.BasicYearDateTimeField this
        start local 1 // long instant
         0: .line 55
            aload 0 /* this */
            getfield org.joda.time.chrono.BasicYearDateTimeField.iChronology:Lorg/joda/time/chrono/BasicChronology;
            lload 1 /* instant */
            invokevirtual org.joda.time.chrono.BasicChronology.getYear:(J)I
            ireturn
        end local 1 // long instant
        end local 0 // org.joda.time.chrono.BasicYearDateTimeField this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/joda/time/chrono/BasicYearDateTimeField;
            0    1     1  instant  J
    MethodParameters:
         Name  Flags
      instant  

  public long add(long, int);
    descriptor: (JI)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // org.joda.time.chrono.BasicYearDateTimeField this
        start local 1 // long instant
        start local 3 // int years
         0: .line 59
            iload 3 /* years */
            ifne 2
         1: .line 60
            lload 1 /* instant */
            lreturn
         2: .line 62
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 1 /* instant */
            invokevirtual org.joda.time.chrono.BasicYearDateTimeField.get:(J)I
            istore 4 /* thisYear */
        start local 4 // int thisYear
         3: .line 63
            iload 4 /* thisYear */
            iload 3 /* years */
            invokestatic org.joda.time.field.FieldUtils.safeAdd:(II)I
            istore 5 /* newYear */
        start local 5 // int newYear
         4: .line 64
            aload 0 /* this */
            lload 1 /* instant */
            iload 5 /* newYear */
            invokevirtual org.joda.time.chrono.BasicYearDateTimeField.set:(JI)J
            lreturn
        end local 5 // int newYear
        end local 4 // int thisYear
        end local 3 // int years
        end local 1 // long instant
        end local 0 // org.joda.time.chrono.BasicYearDateTimeField this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lorg/joda/time/chrono/BasicYearDateTimeField;
            0    5     1   instant  J
            0    5     3     years  I
            3    5     4  thisYear  I
            4    5     5   newYear  I
    MethodParameters:
         Name  Flags
      instant  
      years    

  public long add(long, long);
    descriptor: (JJ)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // org.joda.time.chrono.BasicYearDateTimeField this
        start local 1 // long instant
        start local 3 // long years
         0: .line 68
            aload 0 /* this */
            lload 1 /* instant */
            lload 3 /* years */
            invokestatic org.joda.time.field.FieldUtils.safeToInt:(J)I
            invokevirtual org.joda.time.chrono.BasicYearDateTimeField.add:(JI)J
            lreturn
        end local 3 // long years
        end local 1 // long instant
        end local 0 // org.joda.time.chrono.BasicYearDateTimeField this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/joda/time/chrono/BasicYearDateTimeField;
            0    1     1  instant  J
            0    1     3    years  J
    MethodParameters:
         Name  Flags
      instant  
      years    

  public long addWrapField(long, int);
    descriptor: (JI)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // org.joda.time.chrono.BasicYearDateTimeField this
        start local 1 // long instant
        start local 3 // int years
         0: .line 72
            iload 3 /* years */
            ifne 2
         1: .line 73
            lload 1 /* instant */
            lreturn
         2: .line 76
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.joda.time.chrono.BasicYearDateTimeField.iChronology:Lorg/joda/time/chrono/BasicChronology;
            lload 1 /* instant */
            invokevirtual org.joda.time.chrono.BasicChronology.getYear:(J)I
            istore 4 /* thisYear */
        start local 4 // int thisYear
         3: .line 78
            iload 4 /* thisYear */
            iload 3 /* years */
            aload 0 /* this */
            getfield org.joda.time.chrono.BasicYearDateTimeField.iChronology:Lorg/joda/time/chrono/BasicChronology;
            invokevirtual org.joda.time.chrono.BasicChronology.getMinYear:()I
            aload 0 /* this */
            getfield org.joda.time.chrono.BasicYearDateTimeField.iChronology:Lorg/joda/time/chrono/BasicChronology;
            invokevirtual org.joda.time.chrono.BasicChronology.getMaxYear:()I
         4: .line 77
            invokestatic org.joda.time.field.FieldUtils.getWrappedValue:(IIII)I
            istore 5 /* wrappedYear */
        start local 5 // int wrappedYear
         5: .line 79
            aload 0 /* this */
            lload 1 /* instant */
            iload 5 /* wrappedYear */
            invokevirtual org.joda.time.chrono.BasicYearDateTimeField.set:(JI)J
            lreturn
        end local 5 // int wrappedYear
        end local 4 // int thisYear
        end local 3 // int years
        end local 1 // long instant
        end local 0 // org.joda.time.chrono.BasicYearDateTimeField this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    6     0         this  Lorg/joda/time/chrono/BasicYearDateTimeField;
            0    6     1      instant  J
            0    6     3        years  I
            3    6     4     thisYear  I
            5    6     5  wrappedYear  I
    MethodParameters:
         Name  Flags
      instant  
      years    

  public long set(long, int);
    descriptor: (JI)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.joda.time.chrono.BasicYearDateTimeField this
        start local 1 // long instant
        start local 3 // int year
         0: .line 84
            aload 0 /* this */
            iload 3 /* year */
            aload 0 /* this */
            getfield org.joda.time.chrono.BasicYearDateTimeField.iChronology:Lorg/joda/time/chrono/BasicChronology;
            invokevirtual org.joda.time.chrono.BasicChronology.getMinYear:()I
            aload 0 /* this */
            getfield org.joda.time.chrono.BasicYearDateTimeField.iChronology:Lorg/joda/time/chrono/BasicChronology;
            invokevirtual org.joda.time.chrono.BasicChronology.getMaxYear:()I
         1: .line 83
            invokestatic org.joda.time.field.FieldUtils.verifyValueBounds:(Lorg/joda/time/DateTimeField;III)V
         2: .line 85
            aload 0 /* this */
            getfield org.joda.time.chrono.BasicYearDateTimeField.iChronology:Lorg/joda/time/chrono/BasicChronology;
            lload 1 /* instant */
            iload 3 /* year */
            invokevirtual org.joda.time.chrono.BasicChronology.setYear:(JI)J
            lreturn
        end local 3 // int year
        end local 1 // long instant
        end local 0 // org.joda.time.chrono.BasicYearDateTimeField this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/joda/time/chrono/BasicYearDateTimeField;
            0    3     1  instant  J
            0    3     3     year  I
    MethodParameters:
         Name  Flags
      instant  
      year     

  public long setExtended(long, int);
    descriptor: (JI)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // org.joda.time.chrono.BasicYearDateTimeField this
        start local 1 // long instant
        start local 3 // int year
         0: .line 91
            aload 0 /* this */
            iload 3 /* year */
            aload 0 /* this */
            getfield org.joda.time.chrono.BasicYearDateTimeField.iChronology:Lorg/joda/time/chrono/BasicChronology;
            invokevirtual org.joda.time.chrono.BasicChronology.getMinYear:()I
            iconst_1
            isub
            aload 0 /* this */
            getfield org.joda.time.chrono.BasicYearDateTimeField.iChronology:Lorg/joda/time/chrono/BasicChronology;
            invokevirtual org.joda.time.chrono.BasicChronology.getMaxYear:()I
            iconst_1
            iadd
         1: .line 90
            invokestatic org.joda.time.field.FieldUtils.verifyValueBounds:(Lorg/joda/time/DateTimeField;III)V
         2: .line 92
            aload 0 /* this */
            getfield org.joda.time.chrono.BasicYearDateTimeField.iChronology:Lorg/joda/time/chrono/BasicChronology;
            lload 1 /* instant */
            iload 3 /* year */
            invokevirtual org.joda.time.chrono.BasicChronology.setYear:(JI)J
            lreturn
        end local 3 // int year
        end local 1 // long instant
        end local 0 // org.joda.time.chrono.BasicYearDateTimeField this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/joda/time/chrono/BasicYearDateTimeField;
            0    3     1  instant  J
            0    3     3     year  I
    MethodParameters:
         Name  Flags
      instant  
      year     

  public long getDifferenceAsLong(long, long);
    descriptor: (JJ)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // org.joda.time.chrono.BasicYearDateTimeField this
        start local 1 // long minuendInstant
        start local 3 // long subtrahendInstant
         0: .line 96
            lload 1 /* minuendInstant */
            lload 3 /* subtrahendInstant */
            lcmp
            ifge 2
         1: .line 97
            aload 0 /* this */
            getfield org.joda.time.chrono.BasicYearDateTimeField.iChronology:Lorg/joda/time/chrono/BasicChronology;
            lload 3 /* subtrahendInstant */
            lload 1 /* minuendInstant */
            invokevirtual org.joda.time.chrono.BasicChronology.getYearDifference:(JJ)J
            lneg
            lreturn
         2: .line 99
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.joda.time.chrono.BasicYearDateTimeField.iChronology:Lorg/joda/time/chrono/BasicChronology;
            lload 1 /* minuendInstant */
            lload 3 /* subtrahendInstant */
            invokevirtual org.joda.time.chrono.BasicChronology.getYearDifference:(JJ)J
            lreturn
        end local 3 // long subtrahendInstant
        end local 1 // long minuendInstant
        end local 0 // org.joda.time.chrono.BasicYearDateTimeField this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    3     0               this  Lorg/joda/time/chrono/BasicYearDateTimeField;
            0    3     1     minuendInstant  J
            0    3     3  subtrahendInstant  J
    MethodParameters:
                   Name  Flags
      minuendInstant     
      subtrahendInstant  

  public org.joda.time.DurationField getRangeDurationField();
    descriptor: ()Lorg/joda/time/DurationField;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.joda.time.chrono.BasicYearDateTimeField this
         0: .line 103
            aconst_null
            areturn
        end local 0 // org.joda.time.chrono.BasicYearDateTimeField this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/joda/time/chrono/BasicYearDateTimeField;

  public boolean isLeap(long);
    descriptor: (J)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.joda.time.chrono.BasicYearDateTimeField this
        start local 1 // long instant
         0: .line 107
            aload 0 /* this */
            getfield org.joda.time.chrono.BasicYearDateTimeField.iChronology:Lorg/joda/time/chrono/BasicChronology;
            aload 0 /* this */
            lload 1 /* instant */
            invokevirtual org.joda.time.chrono.BasicYearDateTimeField.get:(J)I
            invokevirtual org.joda.time.chrono.BasicChronology.isLeapYear:(I)Z
            ireturn
        end local 1 // long instant
        end local 0 // org.joda.time.chrono.BasicYearDateTimeField this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/joda/time/chrono/BasicYearDateTimeField;
            0    1     1  instant  J
    MethodParameters:
         Name  Flags
      instant  

  public int getLeapAmount(long);
    descriptor: (J)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.joda.time.chrono.BasicYearDateTimeField this
        start local 1 // long instant
         0: .line 111
            aload 0 /* this */
            getfield org.joda.time.chrono.BasicYearDateTimeField.iChronology:Lorg/joda/time/chrono/BasicChronology;
            aload 0 /* this */
            lload 1 /* instant */
            invokevirtual org.joda.time.chrono.BasicYearDateTimeField.get:(J)I
            invokevirtual org.joda.time.chrono.BasicChronology.isLeapYear:(I)Z
            ifeq 2
         1: .line 112
            iconst_1
            ireturn
         2: .line 114
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // long instant
        end local 0 // org.joda.time.chrono.BasicYearDateTimeField this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/joda/time/chrono/BasicYearDateTimeField;
            0    3     1  instant  J
    MethodParameters:
         Name  Flags
      instant  

  public org.joda.time.DurationField getLeapDurationField();
    descriptor: ()Lorg/joda/time/DurationField;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.joda.time.chrono.BasicYearDateTimeField this
         0: .line 119
            aload 0 /* this */
            getfield org.joda.time.chrono.BasicYearDateTimeField.iChronology:Lorg/joda/time/chrono/BasicChronology;
            invokevirtual org.joda.time.chrono.BasicChronology.days:()Lorg/joda/time/DurationField;
            areturn
        end local 0 // org.joda.time.chrono.BasicYearDateTimeField this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/joda/time/chrono/BasicYearDateTimeField;

  public int getMinimumValue();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.joda.time.chrono.BasicYearDateTimeField this
         0: .line 123
            aload 0 /* this */
            getfield org.joda.time.chrono.BasicYearDateTimeField.iChronology:Lorg/joda/time/chrono/BasicChronology;
            invokevirtual org.joda.time.chrono.BasicChronology.getMinYear:()I
            ireturn
        end local 0 // org.joda.time.chrono.BasicYearDateTimeField this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/joda/time/chrono/BasicYearDateTimeField;

  public int getMaximumValue();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.joda.time.chrono.BasicYearDateTimeField this
         0: .line 127
            aload 0 /* this */
            getfield org.joda.time.chrono.BasicYearDateTimeField.iChronology:Lorg/joda/time/chrono/BasicChronology;
            invokevirtual org.joda.time.chrono.BasicChronology.getMaxYear:()I
            ireturn
        end local 0 // org.joda.time.chrono.BasicYearDateTimeField this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/joda/time/chrono/BasicYearDateTimeField;

  public long roundFloor(long);
    descriptor: (J)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.joda.time.chrono.BasicYearDateTimeField this
        start local 1 // long instant
         0: .line 131
            aload 0 /* this */
            getfield org.joda.time.chrono.BasicYearDateTimeField.iChronology:Lorg/joda/time/chrono/BasicChronology;
            aload 0 /* this */
            lload 1 /* instant */
            invokevirtual org.joda.time.chrono.BasicYearDateTimeField.get:(J)I
            invokevirtual org.joda.time.chrono.BasicChronology.getYearMillis:(I)J
            lreturn
        end local 1 // long instant
        end local 0 // org.joda.time.chrono.BasicYearDateTimeField this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/joda/time/chrono/BasicYearDateTimeField;
            0    1     1  instant  J
    MethodParameters:
         Name  Flags
      instant  

  public long roundCeiling(long);
    descriptor: (J)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // org.joda.time.chrono.BasicYearDateTimeField this
        start local 1 // long instant
         0: .line 135
            aload 0 /* this */
            lload 1 /* instant */
            invokevirtual org.joda.time.chrono.BasicYearDateTimeField.get:(J)I
            istore 3 /* year */
        start local 3 // int year
         1: .line 136
            aload 0 /* this */
            getfield org.joda.time.chrono.BasicYearDateTimeField.iChronology:Lorg/joda/time/chrono/BasicChronology;
            iload 3 /* year */
            invokevirtual org.joda.time.chrono.BasicChronology.getYearMillis:(I)J
            lstore 4 /* yearStartMillis */
        start local 4 // long yearStartMillis
         2: .line 137
            lload 1 /* instant */
            lload 4 /* yearStartMillis */
            lcmp
            ifeq 4
         3: .line 139
            aload 0 /* this */
            getfield org.joda.time.chrono.BasicYearDateTimeField.iChronology:Lorg/joda/time/chrono/BasicChronology;
            iload 3 /* year */
            iconst_1
            iadd
            invokevirtual org.joda.time.chrono.BasicChronology.getYearMillis:(I)J
            lstore 1 /* instant */
         4: .line 141
      StackMap locals: int long
      StackMap stack:
            lload 1 /* instant */
            lreturn
        end local 4 // long yearStartMillis
        end local 3 // int year
        end local 1 // long instant
        end local 0 // org.joda.time.chrono.BasicYearDateTimeField this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    5     0             this  Lorg/joda/time/chrono/BasicYearDateTimeField;
            0    5     1          instant  J
            1    5     3             year  I
            2    5     4  yearStartMillis  J
    MethodParameters:
         Name  Flags
      instant  

  public long remainder(long);
    descriptor: (J)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.joda.time.chrono.BasicYearDateTimeField this
        start local 1 // long instant
         0: .line 145
            lload 1 /* instant */
            aload 0 /* this */
            lload 1 /* instant */
            invokevirtual org.joda.time.chrono.BasicYearDateTimeField.roundFloor:(J)J
            lsub
            lreturn
        end local 1 // long instant
        end local 0 // org.joda.time.chrono.BasicYearDateTimeField this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/joda/time/chrono/BasicYearDateTimeField;
            0    1     1  instant  J
    MethodParameters:
         Name  Flags
      instant  

  private java.lang.Object readResolve();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.joda.time.chrono.BasicYearDateTimeField this
         0: .line 152
            aload 0 /* this */
            getfield org.joda.time.chrono.BasicYearDateTimeField.iChronology:Lorg/joda/time/chrono/BasicChronology;
            invokevirtual org.joda.time.chrono.BasicChronology.year:()Lorg/joda/time/DateTimeField;
            areturn
        end local 0 // org.joda.time.chrono.BasicYearDateTimeField this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/joda/time/chrono/BasicYearDateTimeField;
}
SourceFile: "BasicYearDateTimeField.java"