public final class sun.util.calendar.Era
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: sun.util.calendar.Era
  super_class: java.lang.Object
{
  private final java.lang.String name;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String abbr;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final long since;
    descriptor: J
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final sun.util.calendar.CalendarDate sinceDate;
    descriptor: Lsun/util/calendar/CalendarDate;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean localTime;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private int hash;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  public void <init>(java.lang.String, java.lang.String, long, boolean);
    descriptor: (Ljava/lang/String;Ljava/lang/String;JZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=8, args_size=5
        start local 0 // sun.util.calendar.Era this
        start local 1 // java.lang.String name
        start local 2 // java.lang.String abbr
        start local 3 // long since
        start local 5 // boolean localTime
         0: .line 77
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 131
            aload 0 /* this */
            iconst_0
            putfield sun.util.calendar.Era.hash:I
         2: .line 78
            aload 0 /* this */
            aload 1 /* name */
            putfield sun.util.calendar.Era.name:Ljava/lang/String;
         3: .line 79
            aload 0 /* this */
            aload 2 /* abbr */
            putfield sun.util.calendar.Era.abbr:Ljava/lang/String;
         4: .line 80
            aload 0 /* this */
            lload 3 /* since */
            putfield sun.util.calendar.Era.since:J
         5: .line 81
            aload 0 /* this */
            iload 5 /* localTime */
            putfield sun.util.calendar.Era.localTime:Z
         6: .line 82
            invokestatic sun.util.calendar.CalendarSystem.getGregorianCalendar:()Lsun/util/calendar/Gregorian;
            astore 6 /* gcal */
        start local 6 // sun.util.calendar.Gregorian gcal
         7: .line 83
            aload 6 /* gcal */
            aconst_null
            invokevirtual sun.util.calendar.Gregorian.newCalendarDate:(Ljava/util/TimeZone;)Lsun/util/calendar/Gregorian$Date;
            astore 7 /* d */
        start local 7 // sun.util.calendar.BaseCalendar$Date d
         8: .line 84
            aload 6 /* gcal */
            lload 3 /* since */
            aload 7 /* d */
            invokevirtual sun.util.calendar.Gregorian.getCalendarDate:(JLsun/util/calendar/CalendarDate;)Lsun/util/calendar/Gregorian$Date;
            pop
         9: .line 85
            aload 0 /* this */
            new sun.util.calendar.ImmutableGregorianDate
            dup
            aload 7 /* d */
            invokespecial sun.util.calendar.ImmutableGregorianDate.<init>:(Lsun/util/calendar/BaseCalendar$Date;)V
            putfield sun.util.calendar.Era.sinceDate:Lsun/util/calendar/CalendarDate;
        10: .line 86
            return
        end local 7 // sun.util.calendar.BaseCalendar$Date d
        end local 6 // sun.util.calendar.Gregorian gcal
        end local 5 // boolean localTime
        end local 3 // long since
        end local 2 // java.lang.String abbr
        end local 1 // java.lang.String name
        end local 0 // sun.util.calendar.Era this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0       this  Lsun/util/calendar/Era;
            0   11     1       name  Ljava/lang/String;
            0   11     2       abbr  Ljava/lang/String;
            0   11     3      since  J
            0   11     5  localTime  Z
            7   11     6       gcal  Lsun/util/calendar/Gregorian;
            8   11     7          d  Lsun/util/calendar/BaseCalendar$Date;
    MethodParameters:
           Name  Flags
      name       
      abbr       
      since      
      localTime  

  public java.lang.String getName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.util.calendar.Era this
         0: .line 89
            aload 0 /* this */
            getfield sun.util.calendar.Era.name:Ljava/lang/String;
            areturn
        end local 0 // sun.util.calendar.Era this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/util/calendar/Era;

  public java.lang.String getDisplayName(java.util.Locale);
    descriptor: (Ljava/util/Locale;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // sun.util.calendar.Era this
        start local 1 // java.util.Locale locale
         0: .line 93
            aload 0 /* this */
            getfield sun.util.calendar.Era.name:Ljava/lang/String;
            areturn
        end local 1 // java.util.Locale locale
        end local 0 // sun.util.calendar.Era this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lsun/util/calendar/Era;
            0    1     1  locale  Ljava/util/Locale;
    MethodParameters:
        Name  Flags
      locale  

  public java.lang.String getAbbreviation();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.util.calendar.Era this
         0: .line 97
            aload 0 /* this */
            getfield sun.util.calendar.Era.abbr:Ljava/lang/String;
            areturn
        end local 0 // sun.util.calendar.Era this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/util/calendar/Era;

  public java.lang.String getDiaplayAbbreviation(java.util.Locale);
    descriptor: (Ljava/util/Locale;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // sun.util.calendar.Era this
        start local 1 // java.util.Locale locale
         0: .line 101
            aload 0 /* this */
            getfield sun.util.calendar.Era.abbr:Ljava/lang/String;
            areturn
        end local 1 // java.util.Locale locale
        end local 0 // sun.util.calendar.Era this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lsun/util/calendar/Era;
            0    1     1  locale  Ljava/util/Locale;
    MethodParameters:
        Name  Flags
      locale  

  public long getSince(java.util.TimeZone);
    descriptor: (Ljava/util/TimeZone;)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // sun.util.calendar.Era this
        start local 1 // java.util.TimeZone zone
         0: .line 105
            aload 1 /* zone */
            ifnull 1
            aload 0 /* this */
            getfield sun.util.calendar.Era.localTime:Z
            ifne 2
         1: .line 106
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.util.calendar.Era.since:J
            lreturn
         2: .line 108
      StackMap locals:
      StackMap stack:
            aload 1 /* zone */
            aload 0 /* this */
            getfield sun.util.calendar.Era.since:J
            invokevirtual java.util.TimeZone.getOffset:(J)I
            istore 2 /* offset */
        start local 2 // int offset
         3: .line 109
            aload 0 /* this */
            getfield sun.util.calendar.Era.since:J
            iload 2 /* offset */
            i2l
            lsub
            lreturn
        end local 2 // int offset
        end local 1 // java.util.TimeZone zone
        end local 0 // sun.util.calendar.Era this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lsun/util/calendar/Era;
            0    4     1    zone  Ljava/util/TimeZone;
            3    4     2  offset  I
    MethodParameters:
      Name  Flags
      zone  

  public sun.util.calendar.CalendarDate getSinceDate();
    descriptor: ()Lsun/util/calendar/CalendarDate;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.util.calendar.Era this
         0: .line 113
            aload 0 /* this */
            getfield sun.util.calendar.Era.sinceDate:Lsun/util/calendar/CalendarDate;
            areturn
        end local 0 // sun.util.calendar.Era this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/util/calendar/Era;

  public boolean isLocalTime();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.util.calendar.Era this
         0: .line 117
            aload 0 /* this */
            getfield sun.util.calendar.Era.localTime:Z
            ireturn
        end local 0 // sun.util.calendar.Era this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/util/calendar/Era;

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // sun.util.calendar.Era this
        start local 1 // java.lang.Object o
         0: .line 121
            aload 1 /* o */
            instanceof sun.util.calendar.Era
            ifne 2
         1: .line 122
            iconst_0
            ireturn
         2: .line 124
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            checkcast sun.util.calendar.Era
            astore 2 /* that */
        start local 2 // sun.util.calendar.Era that
         3: .line 125
            aload 0 /* this */
            getfield sun.util.calendar.Era.name:Ljava/lang/String;
            aload 2 /* that */
            getfield sun.util.calendar.Era.name:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 8
         4: .line 126
            aload 0 /* this */
            getfield sun.util.calendar.Era.abbr:Ljava/lang/String;
            aload 2 /* that */
            getfield sun.util.calendar.Era.abbr:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 8
         5: .line 127
            aload 0 /* this */
            getfield sun.util.calendar.Era.since:J
            aload 2 /* that */
            getfield sun.util.calendar.Era.since:J
            lcmp
            ifne 8
         6: .line 128
            aload 0 /* this */
            getfield sun.util.calendar.Era.localTime:Z
            aload 2 /* that */
            getfield sun.util.calendar.Era.localTime:Z
            if_icmpne 8
         7: .line 125
            iconst_1
            ireturn
      StackMap locals: sun.util.calendar.Era
      StackMap stack:
         8: iconst_0
            ireturn
        end local 2 // sun.util.calendar.Era that
        end local 1 // java.lang.Object o
        end local 0 // sun.util.calendar.Era this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lsun/util/calendar/Era;
            0    9     1     o  Ljava/lang/Object;
            3    9     2  that  Lsun/util/calendar/Era;
    MethodParameters:
      Name  Flags
      o     

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // sun.util.calendar.Era this
         0: .line 134
            aload 0 /* this */
            getfield sun.util.calendar.Era.hash:I
            ifne 6
         1: .line 135
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.util.calendar.Era.name:Ljava/lang/String;
            invokevirtual java.lang.String.hashCode:()I
            aload 0 /* this */
            getfield sun.util.calendar.Era.abbr:Ljava/lang/String;
            invokevirtual java.lang.String.hashCode:()I
            ixor
            aload 0 /* this */
            getfield sun.util.calendar.Era.since:J
            l2i
            ixor
            aload 0 /* this */
            getfield sun.util.calendar.Era.since:J
            bipush 32
            lshr
            l2i
            ixor
         2: .line 136
            aload 0 /* this */
            getfield sun.util.calendar.Era.localTime:Z
            ifeq 3
            iconst_1
            goto 4
      StackMap locals: sun.util.calendar.Era
      StackMap stack: sun.util.calendar.Era int
         3: iconst_0
      StackMap locals: sun.util.calendar.Era
      StackMap stack: sun.util.calendar.Era int int
         4: ixor
         5: .line 135
            putfield sun.util.calendar.Era.hash:I
         6: .line 138
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.util.calendar.Era.hash:I
            ireturn
        end local 0 // sun.util.calendar.Era this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lsun/util/calendar/Era;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // sun.util.calendar.Era this
         0: .line 142
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 1 /* sb */
        start local 1 // java.lang.StringBuilder sb
         1: .line 143
            aload 1 /* sb */
            bipush 91
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         2: .line 144
            aload 1 /* sb */
            aload 0 /* this */
            invokevirtual sun.util.calendar.Era.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " ("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         3: .line 145
            aload 1 /* sb */
            aload 0 /* this */
            invokevirtual sun.util.calendar.Era.getAbbreviation:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 41
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         4: .line 146
            aload 1 /* sb */
            ldc " since "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual sun.util.calendar.Era.getSinceDate:()Lsun/util/calendar/CalendarDate;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            pop
         5: .line 147
            aload 0 /* this */
            getfield sun.util.calendar.Era.localTime:Z
            ifeq 8
         6: .line 148
            aload 1 /* sb */
            aload 1 /* sb */
            invokevirtual java.lang.StringBuilder.length:()I
            iconst_1
            isub
            invokevirtual java.lang.StringBuilder.setLength:(I)V
         7: .line 149
            aload 1 /* sb */
            ldc " local time"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         8: .line 151
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            aload 1 /* sb */
            bipush 93
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         9: .line 152
            aload 1 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuilder sb
        end local 0 // sun.util.calendar.Era this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lsun/util/calendar/Era;
            1   10     1    sb  Ljava/lang/StringBuilder;
}
SourceFile: "Era.java"
InnerClasses:
  public abstract Date = sun.util.calendar.BaseCalendar$Date of sun.util.calendar.BaseCalendar
  Date = sun.util.calendar.Gregorian$Date of sun.util.calendar.Gregorian