public class sun.security.x509.DistributionPoint
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.security.x509.DistributionPoint
  super_class: java.lang.Object
{
  public static final int KEY_COMPROMISE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public static final int CA_COMPROMISE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  public static final int AFFILIATION_CHANGED;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 3

  public static final int SUPERSEDED;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  public static final int CESSATION_OF_OPERATION;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 5

  public static final int CERTIFICATE_HOLD;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 6

  public static final int PRIVILEGE_WITHDRAWN;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 7

  public static final int AA_COMPROMISE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 8

  private static final java.lang.String[] REASON_STRINGS;
    descriptor: [Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final byte TAG_DIST_PT;
    descriptor: B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  private static final byte TAG_REASONS;
    descriptor: B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  private static final byte TAG_ISSUER;
    descriptor: B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  private static final byte TAG_FULL_NAME;
    descriptor: B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  private static final byte TAG_REL_NAME;
    descriptor: B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  private sun.security.x509.GeneralNames fullName;
    descriptor: Lsun/security/x509/GeneralNames;
    flags: (0x0002) ACC_PRIVATE

  private sun.security.x509.RDN relativeName;
    descriptor: Lsun/security/x509/RDN;
    flags: (0x0002) ACC_PRIVATE

  private boolean[] reasonFlags;
    descriptor: [Z
    flags: (0x0002) ACC_PRIVATE

  private sun.security.x509.GeneralNames crlIssuer;
    descriptor: Lsun/security/x509/GeneralNames;
    flags: (0x0002) ACC_PRIVATE

  private volatile int hashCode;
    descriptor: I
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 109
            bipush 9
            anewarray java.lang.String
            dup
            iconst_1
         1: .line 111
            ldc "key compromise"
            aastore
            dup
            iconst_2
         2: .line 112
            ldc "CA compromise"
            aastore
            dup
            iconst_3
         3: .line 113
            ldc "affiliation changed"
            aastore
            dup
            iconst_4
         4: .line 114
            ldc "superseded"
            aastore
            dup
            iconst_5
         5: .line 115
            ldc "cessation of operation"
            aastore
            dup
            bipush 6
         6: .line 116
            ldc "certificate hold"
            aastore
            dup
            bipush 7
         7: .line 117
            ldc "privilege withdrawn"
            aastore
            dup
            bipush 8
         8: .line 118
            ldc "AA compromise"
            aastore
         9: .line 109
            putstatic sun.security.x509.DistributionPoint.REASON_STRINGS:[Ljava/lang/String;
        10: .line 127
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(sun.security.x509.GeneralNames, boolean[], sun.security.x509.GeneralNames);
    descriptor: (Lsun/security/x509/GeneralNames;[ZLsun/security/x509/GeneralNames;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // sun.security.x509.DistributionPoint this
        start local 1 // sun.security.x509.GeneralNames fullName
        start local 2 // boolean[] reasonFlags
        start local 3 // sun.security.x509.GeneralNames crlIssuer
         0: .line 151
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 153
            aload 1 /* fullName */
            ifnonnull 5
            aload 3 /* crlIssuer */
            ifnonnull 5
         2: .line 154
            new java.lang.IllegalArgumentException
            dup
         3: .line 155
            ldc "fullName and crlIssuer may not both be null"
         4: .line 154
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 157
      StackMap locals: sun.security.x509.DistributionPoint sun.security.x509.GeneralNames boolean[] sun.security.x509.GeneralNames
      StackMap stack:
            aload 0 /* this */
            aload 1 /* fullName */
            putfield sun.security.x509.DistributionPoint.fullName:Lsun/security/x509/GeneralNames;
         6: .line 158
            aload 0 /* this */
            aload 2 /* reasonFlags */
            putfield sun.security.x509.DistributionPoint.reasonFlags:[Z
         7: .line 159
            aload 0 /* this */
            aload 3 /* crlIssuer */
            putfield sun.security.x509.DistributionPoint.crlIssuer:Lsun/security/x509/GeneralNames;
         8: .line 160
            return
        end local 3 // sun.security.x509.GeneralNames crlIssuer
        end local 2 // boolean[] reasonFlags
        end local 1 // sun.security.x509.GeneralNames fullName
        end local 0 // sun.security.x509.DistributionPoint this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    9     0         this  Lsun/security/x509/DistributionPoint;
            0    9     1     fullName  Lsun/security/x509/GeneralNames;
            0    9     2  reasonFlags  [Z
            0    9     3    crlIssuer  Lsun/security/x509/GeneralNames;
    MethodParameters:
             Name  Flags
      fullName     
      reasonFlags  
      crlIssuer    

  public void <init>(sun.security.x509.RDN, boolean[], sun.security.x509.GeneralNames);
    descriptor: (Lsun/security/x509/RDN;[ZLsun/security/x509/GeneralNames;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // sun.security.x509.DistributionPoint this
        start local 1 // sun.security.x509.RDN relativeName
        start local 2 // boolean[] reasonFlags
        start local 3 // sun.security.x509.GeneralNames crlIssuer
         0: .line 173
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 175
            aload 1 /* relativeName */
            ifnonnull 5
            aload 3 /* crlIssuer */
            ifnonnull 5
         2: .line 176
            new java.lang.IllegalArgumentException
            dup
         3: .line 177
            ldc "relativeName and crlIssuer may not both be null"
         4: .line 176
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 179
      StackMap locals: sun.security.x509.DistributionPoint sun.security.x509.RDN boolean[] sun.security.x509.GeneralNames
      StackMap stack:
            aload 0 /* this */
            aload 1 /* relativeName */
            putfield sun.security.x509.DistributionPoint.relativeName:Lsun/security/x509/RDN;
         6: .line 180
            aload 0 /* this */
            aload 2 /* reasonFlags */
            putfield sun.security.x509.DistributionPoint.reasonFlags:[Z
         7: .line 181
            aload 0 /* this */
            aload 3 /* crlIssuer */
            putfield sun.security.x509.DistributionPoint.crlIssuer:Lsun/security/x509/GeneralNames;
         8: .line 182
            return
        end local 3 // sun.security.x509.GeneralNames crlIssuer
        end local 2 // boolean[] reasonFlags
        end local 1 // sun.security.x509.RDN relativeName
        end local 0 // sun.security.x509.DistributionPoint this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    9     0          this  Lsun/security/x509/DistributionPoint;
            0    9     1  relativeName  Lsun/security/x509/RDN;
            0    9     2   reasonFlags  [Z
            0    9     3     crlIssuer  Lsun/security/x509/GeneralNames;
    MethodParameters:
              Name  Flags
      relativeName  
      reasonFlags   
      crlIssuer     

  public void <init>(sun.security.util.DerValue);
    descriptor: (Lsun/security/util/DerValue;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // sun.security.x509.DistributionPoint this
        start local 1 // sun.security.util.DerValue val
         0: .line 190
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 191
            aload 1 /* val */
            getfield sun.security.util.DerValue.tag:B
            bipush 48
            if_icmpeq 34
         2: .line 192
            new java.io.IOException
            dup
            ldc "Invalid encoding of DistributionPoint."
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 199
      StackMap locals: sun.security.x509.DistributionPoint sun.security.util.DerValue
      StackMap stack:
            aload 1 /* val */
            getfield sun.security.util.DerValue.data:Lsun/security/util/DerInputStream;
            invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
            astore 2 /* opt */
        start local 2 // sun.security.util.DerValue opt
         4: .line 201
            aload 2 /* opt */
            iconst_0
            invokevirtual sun.security.util.DerValue.isContextSpecific:(B)Z
            ifeq 19
            aload 2 /* opt */
            invokevirtual sun.security.util.DerValue.isConstructed:()Z
            ifeq 19
         5: .line 202
            aload 0 /* this */
            getfield sun.security.x509.DistributionPoint.fullName:Lsun/security/x509/GeneralNames;
            ifnonnull 6
            aload 0 /* this */
            getfield sun.security.x509.DistributionPoint.relativeName:Lsun/security/x509/RDN;
            ifnull 7
         6: .line 203
      StackMap locals: sun.security.util.DerValue
      StackMap stack:
            new java.io.IOException
            dup
            ldc "Duplicate DistributionPointName in DistributionPoint."
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 206
      StackMap locals:
      StackMap stack:
            aload 2 /* opt */
            getfield sun.security.util.DerValue.data:Lsun/security/util/DerInputStream;
            invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
            astore 3 /* distPnt */
        start local 3 // sun.security.util.DerValue distPnt
         8: .line 207
            aload 3 /* distPnt */
            iconst_0
            invokevirtual sun.security.util.DerValue.isContextSpecific:(B)Z
            ifeq 13
         9: .line 208
            aload 3 /* distPnt */
            invokevirtual sun.security.util.DerValue.isConstructed:()Z
            ifeq 13
        10: .line 209
            aload 3 /* distPnt */
            bipush 48
            invokevirtual sun.security.util.DerValue.resetTag:(B)V
        11: .line 210
            aload 0 /* this */
            new sun.security.x509.GeneralNames
            dup
            aload 3 /* distPnt */
            invokespecial sun.security.x509.GeneralNames.<init>:(Lsun/security/util/DerValue;)V
            putfield sun.security.x509.DistributionPoint.fullName:Lsun/security/x509/GeneralNames;
        12: .line 211
            goto 34
      StackMap locals: sun.security.util.DerValue
      StackMap stack:
        13: aload 3 /* distPnt */
            iconst_1
            invokevirtual sun.security.util.DerValue.isContextSpecific:(B)Z
            ifeq 18
        14: .line 212
            aload 3 /* distPnt */
            invokevirtual sun.security.util.DerValue.isConstructed:()Z
            ifeq 18
        15: .line 213
            aload 3 /* distPnt */
            bipush 49
            invokevirtual sun.security.util.DerValue.resetTag:(B)V
        16: .line 214
            aload 0 /* this */
            new sun.security.x509.RDN
            dup
            aload 3 /* distPnt */
            invokespecial sun.security.x509.RDN.<init>:(Lsun/security/util/DerValue;)V
            putfield sun.security.x509.DistributionPoint.relativeName:Lsun/security/x509/RDN;
        17: .line 215
            goto 34
        18: .line 216
      StackMap locals:
      StackMap stack:
            new java.io.IOException
            dup
            ldc "Invalid DistributionPointName in DistributionPoint"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // sun.security.util.DerValue distPnt
        19: .line 219
      StackMap locals:
      StackMap stack:
            aload 2 /* opt */
            iconst_1
            invokevirtual sun.security.util.DerValue.isContextSpecific:(B)Z
            ifeq 26
        20: .line 220
            aload 2 /* opt */
            invokevirtual sun.security.util.DerValue.isConstructed:()Z
            ifne 26
        21: .line 221
            aload 0 /* this */
            getfield sun.security.x509.DistributionPoint.reasonFlags:[Z
            ifnull 23
        22: .line 222
            new java.io.IOException
            dup
            ldc "Duplicate Reasons in DistributionPoint."
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        23: .line 225
      StackMap locals:
      StackMap stack:
            aload 2 /* opt */
            iconst_3
            invokevirtual sun.security.util.DerValue.resetTag:(B)V
        24: .line 226
            aload 0 /* this */
            aload 2 /* opt */
            invokevirtual sun.security.util.DerValue.getUnalignedBitString:()Lsun/security/util/BitArray;
            invokevirtual sun.security.util.BitArray.toBooleanArray:()[Z
            putfield sun.security.x509.DistributionPoint.reasonFlags:[Z
        25: .line 227
            goto 34
      StackMap locals:
      StackMap stack:
        26: aload 2 /* opt */
            iconst_2
            invokevirtual sun.security.util.DerValue.isContextSpecific:(B)Z
            ifeq 33
        27: .line 228
            aload 2 /* opt */
            invokevirtual sun.security.util.DerValue.isConstructed:()Z
            ifeq 33
        28: .line 229
            aload 0 /* this */
            getfield sun.security.x509.DistributionPoint.crlIssuer:Lsun/security/x509/GeneralNames;
            ifnull 30
        29: .line 230
            new java.io.IOException
            dup
            ldc "Duplicate CRLIssuer in DistributionPoint."
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        30: .line 233
      StackMap locals:
      StackMap stack:
            aload 2 /* opt */
            bipush 48
            invokevirtual sun.security.util.DerValue.resetTag:(B)V
        31: .line 234
            aload 0 /* this */
            new sun.security.x509.GeneralNames
            dup
            aload 2 /* opt */
            invokespecial sun.security.x509.GeneralNames.<init>:(Lsun/security/util/DerValue;)V
            putfield sun.security.x509.DistributionPoint.crlIssuer:Lsun/security/x509/GeneralNames;
        32: .line 235
            goto 34
        33: .line 236
      StackMap locals:
      StackMap stack:
            new java.io.IOException
            dup
            ldc "Invalid encoding of DistributionPoint."
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // sun.security.util.DerValue opt
        34: .line 198
      StackMap locals:
      StackMap stack:
            aload 1 /* val */
            getfield sun.security.util.DerValue.data:Lsun/security/util/DerInputStream;
            ifnull 35
            aload 1 /* val */
            getfield sun.security.util.DerValue.data:Lsun/security/util/DerInputStream;
            invokevirtual sun.security.util.DerInputStream.available:()I
            ifne 3
        35: .line 240
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.x509.DistributionPoint.crlIssuer:Lsun/security/x509/GeneralNames;
            ifnonnull 37
            aload 0 /* this */
            getfield sun.security.x509.DistributionPoint.fullName:Lsun/security/x509/GeneralNames;
            ifnonnull 37
            aload 0 /* this */
            getfield sun.security.x509.DistributionPoint.relativeName:Lsun/security/x509/RDN;
            ifnonnull 37
        36: .line 241
            new java.io.IOException
            dup
            ldc "One of fullName, relativeName,  and crlIssuer has to be set"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        37: .line 244
      StackMap locals:
      StackMap stack:
            return
        end local 1 // sun.security.util.DerValue val
        end local 0 // sun.security.x509.DistributionPoint this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   38     0     this  Lsun/security/x509/DistributionPoint;
            0   38     1      val  Lsun/security/util/DerValue;
            4   34     2      opt  Lsun/security/util/DerValue;
            8   19     3  distPnt  Lsun/security/util/DerValue;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      val   

  public sun.security.x509.GeneralNames getFullName();
    descriptor: ()Lsun/security/x509/GeneralNames;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.x509.DistributionPoint this
         0: .line 250
            aload 0 /* this */
            getfield sun.security.x509.DistributionPoint.fullName:Lsun/security/x509/GeneralNames;
            areturn
        end local 0 // sun.security.x509.DistributionPoint this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/x509/DistributionPoint;

  public sun.security.x509.RDN getRelativeName();
    descriptor: ()Lsun/security/x509/RDN;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.x509.DistributionPoint this
         0: .line 257
            aload 0 /* this */
            getfield sun.security.x509.DistributionPoint.relativeName:Lsun/security/x509/RDN;
            areturn
        end local 0 // sun.security.x509.DistributionPoint this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/x509/DistributionPoint;

  public boolean[] getReasonFlags();
    descriptor: ()[Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.x509.DistributionPoint this
         0: .line 264
            aload 0 /* this */
            getfield sun.security.x509.DistributionPoint.reasonFlags:[Z
            areturn
        end local 0 // sun.security.x509.DistributionPoint this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/x509/DistributionPoint;

  public sun.security.x509.GeneralNames getCRLIssuer();
    descriptor: ()Lsun/security/x509/GeneralNames;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.x509.DistributionPoint this
         0: .line 271
            aload 0 /* this */
            getfield sun.security.x509.DistributionPoint.crlIssuer:Lsun/security/x509/GeneralNames;
            areturn
        end local 0 // sun.security.x509.DistributionPoint this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/x509/DistributionPoint;

  public void encode(sun.security.util.DerOutputStream);
    descriptor: (Lsun/security/util/DerOutputStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // sun.security.x509.DistributionPoint this
        start local 1 // sun.security.util.DerOutputStream out
         0: .line 281
            new sun.security.util.DerOutputStream
            dup
            invokespecial sun.security.util.DerOutputStream.<init>:()V
            astore 2 /* tagged */
        start local 2 // sun.security.util.DerOutputStream tagged
         1: .line 284
            aload 0 /* this */
            getfield sun.security.x509.DistributionPoint.fullName:Lsun/security/x509/GeneralNames;
            ifnonnull 2
            aload 0 /* this */
            getfield sun.security.x509.DistributionPoint.relativeName:Lsun/security/x509/RDN;
            ifnull 22
         2: .line 285
      StackMap locals: sun.security.util.DerOutputStream
      StackMap stack:
            new sun.security.util.DerOutputStream
            dup
            invokespecial sun.security.util.DerOutputStream.<init>:()V
            astore 3 /* distributionPoint */
        start local 3 // sun.security.util.DerOutputStream distributionPoint
         3: .line 286
            aload 0 /* this */
            getfield sun.security.x509.DistributionPoint.fullName:Lsun/security/x509/GeneralNames;
            ifnull 11
         4: .line 287
            new sun.security.util.DerOutputStream
            dup
            invokespecial sun.security.util.DerOutputStream.<init>:()V
            astore 4 /* derOut */
        start local 4 // sun.security.util.DerOutputStream derOut
         5: .line 288
            aload 0 /* this */
            getfield sun.security.x509.DistributionPoint.fullName:Lsun/security/x509/GeneralNames;
            aload 4 /* derOut */
            invokevirtual sun.security.x509.GeneralNames.encode:(Lsun/security/util/DerOutputStream;)V
         6: .line 289
            aload 3 /* distributionPoint */
         7: .line 290
            bipush -128
            iconst_1
            iconst_0
            invokestatic sun.security.util.DerValue.createTag:(BZB)B
         8: .line 291
            aload 4 /* derOut */
         9: .line 289
            invokevirtual sun.security.util.DerOutputStream.writeImplicit:(BLsun/security/util/DerOutputStream;)V
        end local 4 // sun.security.util.DerOutputStream derOut
        10: .line 292
            goto 18
      StackMap locals: sun.security.util.DerOutputStream
      StackMap stack:
        11: aload 0 /* this */
            getfield sun.security.x509.DistributionPoint.relativeName:Lsun/security/x509/RDN;
            ifnull 18
        12: .line 293
            new sun.security.util.DerOutputStream
            dup
            invokespecial sun.security.util.DerOutputStream.<init>:()V
            astore 4 /* derOut */
        start local 4 // sun.security.util.DerOutputStream derOut
        13: .line 294
            aload 0 /* this */
            getfield sun.security.x509.DistributionPoint.relativeName:Lsun/security/x509/RDN;
            aload 4 /* derOut */
            invokevirtual sun.security.x509.RDN.encode:(Lsun/security/util/DerOutputStream;)V
        14: .line 295
            aload 3 /* distributionPoint */
        15: .line 296
            bipush -128
            iconst_1
            iconst_1
            invokestatic sun.security.util.DerValue.createTag:(BZB)B
        16: .line 297
            aload 4 /* derOut */
        17: .line 295
            invokevirtual sun.security.util.DerOutputStream.writeImplicit:(BLsun/security/util/DerOutputStream;)V
        end local 4 // sun.security.util.DerOutputStream derOut
        18: .line 299
      StackMap locals:
      StackMap stack:
            aload 2 /* tagged */
        19: .line 300
            bipush -128
            iconst_1
            iconst_0
            invokestatic sun.security.util.DerValue.createTag:(BZB)B
        20: .line 301
            aload 3 /* distributionPoint */
        21: .line 299
            invokevirtual sun.security.util.DerOutputStream.write:(BLsun/security/util/DerOutputStream;)V
        end local 3 // sun.security.util.DerOutputStream distributionPoint
        22: .line 303
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.x509.DistributionPoint.reasonFlags:[Z
            ifnull 30
        23: .line 304
            new sun.security.util.DerOutputStream
            dup
            invokespecial sun.security.util.DerOutputStream.<init>:()V
            astore 3 /* reasons */
        start local 3 // sun.security.util.DerOutputStream reasons
        24: .line 305
            new sun.security.util.BitArray
            dup
            aload 0 /* this */
            getfield sun.security.x509.DistributionPoint.reasonFlags:[Z
            invokespecial sun.security.util.BitArray.<init>:([Z)V
            astore 4 /* rf */
        start local 4 // sun.security.util.BitArray rf
        25: .line 306
            aload 3 /* reasons */
            aload 4 /* rf */
            invokevirtual sun.security.util.DerOutputStream.putTruncatedUnalignedBitString:(Lsun/security/util/BitArray;)V
        26: .line 307
            aload 2 /* tagged */
        27: .line 308
            bipush -128
            iconst_0
            iconst_1
            invokestatic sun.security.util.DerValue.createTag:(BZB)B
        28: .line 309
            aload 3 /* reasons */
        29: .line 307
            invokevirtual sun.security.util.DerOutputStream.writeImplicit:(BLsun/security/util/DerOutputStream;)V
        end local 4 // sun.security.util.BitArray rf
        end local 3 // sun.security.util.DerOutputStream reasons
        30: .line 311
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.x509.DistributionPoint.crlIssuer:Lsun/security/x509/GeneralNames;
            ifnull 37
        31: .line 312
            new sun.security.util.DerOutputStream
            dup
            invokespecial sun.security.util.DerOutputStream.<init>:()V
            astore 3 /* issuer */
        start local 3 // sun.security.util.DerOutputStream issuer
        32: .line 313
            aload 0 /* this */
            getfield sun.security.x509.DistributionPoint.crlIssuer:Lsun/security/x509/GeneralNames;
            aload 3 /* issuer */
            invokevirtual sun.security.x509.GeneralNames.encode:(Lsun/security/util/DerOutputStream;)V
        33: .line 314
            aload 2 /* tagged */
        34: .line 315
            bipush -128
            iconst_1
            iconst_2
            invokestatic sun.security.util.DerValue.createTag:(BZB)B
        35: .line 316
            aload 3 /* issuer */
        36: .line 314
            invokevirtual sun.security.util.DerOutputStream.writeImplicit:(BLsun/security/util/DerOutputStream;)V
        end local 3 // sun.security.util.DerOutputStream issuer
        37: .line 318
      StackMap locals:
      StackMap stack:
            aload 1 /* out */
            bipush 48
            aload 2 /* tagged */
            invokevirtual sun.security.util.DerOutputStream.write:(BLsun/security/util/DerOutputStream;)V
        38: .line 319
            return
        end local 2 // sun.security.util.DerOutputStream tagged
        end local 1 // sun.security.util.DerOutputStream out
        end local 0 // sun.security.x509.DistributionPoint this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   39     0               this  Lsun/security/x509/DistributionPoint;
            0   39     1                out  Lsun/security/util/DerOutputStream;
            1   39     2             tagged  Lsun/security/util/DerOutputStream;
            3   22     3  distributionPoint  Lsun/security/util/DerOutputStream;
            5   10     4             derOut  Lsun/security/util/DerOutputStream;
           13   18     4             derOut  Lsun/security/util/DerOutputStream;
           24   30     3            reasons  Lsun/security/util/DerOutputStream;
           25   30     4                 rf  Lsun/security/util/BitArray;
           32   37     3             issuer  Lsun/security/util/DerOutputStream;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      out   

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // sun.security.x509.DistributionPoint this
        start local 1 // java.lang.Object obj
         0: .line 328
            aload 0 /* this */
            aload 1 /* obj */
            if_acmpne 2
         1: .line 329
            iconst_1
            ireturn
         2: .line 331
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            instanceof sun.security.x509.DistributionPoint
            ifne 4
         3: .line 332
            iconst_0
            ireturn
         4: .line 334
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            checkcast sun.security.x509.DistributionPoint
            astore 2 /* other */
        start local 2 // sun.security.x509.DistributionPoint other
         5: .line 336
            aload 0 /* this */
            getfield sun.security.x509.DistributionPoint.fullName:Lsun/security/x509/GeneralNames;
            aload 2 /* other */
            getfield sun.security.x509.DistributionPoint.fullName:Lsun/security/x509/GeneralNames;
            invokestatic java.util.Objects.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifeq 10
         6: .line 337
            aload 0 /* this */
            getfield sun.security.x509.DistributionPoint.relativeName:Lsun/security/x509/RDN;
            aload 2 /* other */
            getfield sun.security.x509.DistributionPoint.relativeName:Lsun/security/x509/RDN;
            invokestatic java.util.Objects.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifeq 10
         7: .line 338
            aload 0 /* this */
            getfield sun.security.x509.DistributionPoint.crlIssuer:Lsun/security/x509/GeneralNames;
            aload 2 /* other */
            getfield sun.security.x509.DistributionPoint.crlIssuer:Lsun/security/x509/GeneralNames;
            invokestatic java.util.Objects.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifeq 10
         8: .line 339
            aload 0 /* this */
            getfield sun.security.x509.DistributionPoint.reasonFlags:[Z
            aload 2 /* other */
            getfield sun.security.x509.DistributionPoint.reasonFlags:[Z
            invokestatic java.util.Arrays.equals:([Z[Z)Z
            ifeq 10
         9: .line 336
            iconst_1
            goto 11
      StackMap locals: sun.security.x509.DistributionPoint
      StackMap stack:
        10: iconst_0
      StackMap locals:
      StackMap stack: int
        11: istore 3 /* equal */
        start local 3 // boolean equal
        12: .line 340
            iload 3 /* equal */
            ireturn
        end local 3 // boolean equal
        end local 2 // sun.security.x509.DistributionPoint other
        end local 1 // java.lang.Object obj
        end local 0 // sun.security.x509.DistributionPoint this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   13     0   this  Lsun/security/x509/DistributionPoint;
            0   13     1    obj  Ljava/lang/Object;
            5   13     2  other  Lsun/security/x509/DistributionPoint;
           12   13     3  equal  Z
    MethodParameters:
      Name  Flags
      obj   

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // sun.security.x509.DistributionPoint this
         0: .line 344
            aload 0 /* this */
            getfield sun.security.x509.DistributionPoint.hashCode:I
            istore 1 /* hash */
        start local 1 // int hash
         1: .line 345
            iload 1 /* hash */
            ifne 17
         2: .line 346
            iconst_1
            istore 1 /* hash */
         3: .line 347
            aload 0 /* this */
            getfield sun.security.x509.DistributionPoint.fullName:Lsun/security/x509/GeneralNames;
            ifnull 5
         4: .line 348
            iload 1 /* hash */
            aload 0 /* this */
            getfield sun.security.x509.DistributionPoint.fullName:Lsun/security/x509/GeneralNames;
            invokevirtual sun.security.x509.GeneralNames.hashCode:()I
            iadd
            istore 1 /* hash */
         5: .line 350
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.x509.DistributionPoint.relativeName:Lsun/security/x509/RDN;
            ifnull 7
         6: .line 351
            iload 1 /* hash */
            aload 0 /* this */
            getfield sun.security.x509.DistributionPoint.relativeName:Lsun/security/x509/RDN;
            invokevirtual sun.security.x509.RDN.hashCode:()I
            iadd
            istore 1 /* hash */
         7: .line 353
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.x509.DistributionPoint.crlIssuer:Lsun/security/x509/GeneralNames;
            ifnull 9
         8: .line 354
            iload 1 /* hash */
            aload 0 /* this */
            getfield sun.security.x509.DistributionPoint.crlIssuer:Lsun/security/x509/GeneralNames;
            invokevirtual sun.security.x509.GeneralNames.hashCode:()I
            iadd
            istore 1 /* hash */
         9: .line 356
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.x509.DistributionPoint.reasonFlags:[Z
            ifnull 16
        10: .line 357
            iconst_0
            istore 2 /* i */
        start local 2 // int i
        11: goto 15
        12: .line 358
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.x509.DistributionPoint.reasonFlags:[Z
            iload 2 /* i */
            baload
            ifeq 14
        13: .line 359
            iload 1 /* hash */
            iload 2 /* i */
            iadd
            istore 1 /* hash */
        14: .line 357
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 2 /* i */
            aload 0 /* this */
            getfield sun.security.x509.DistributionPoint.reasonFlags:[Z
            arraylength
            if_icmplt 12
        end local 2 // int i
        16: .line 363
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* hash */
            putfield sun.security.x509.DistributionPoint.hashCode:I
        17: .line 365
      StackMap locals:
      StackMap stack:
            iload 1 /* hash */
            ireturn
        end local 1 // int hash
        end local 0 // sun.security.x509.DistributionPoint this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   18     0  this  Lsun/security/x509/DistributionPoint;
            1   18     1  hash  I
           11   16     2     i  I

  private static java.lang.String reasonToString(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // int reason
         0: .line 372
            iload 0 /* reason */
            ifle 2
            iload 0 /* reason */
            getstatic sun.security.x509.DistributionPoint.REASON_STRINGS:[Ljava/lang/String;
            arraylength
            if_icmpge 2
         1: .line 373
            getstatic sun.security.x509.DistributionPoint.REASON_STRINGS:[Ljava/lang/String;
            iload 0 /* reason */
            aaload
            areturn
         2: .line 375
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "Unknown reason "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 0 /* reason */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // int reason
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0  reason  I
    MethodParameters:
        Name  Flags
      reason  

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // sun.security.x509.DistributionPoint this
         0: .line 382
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 1 /* sb */
        start local 1 // java.lang.StringBuilder sb
         1: .line 383
            aload 1 /* sb */
            ldc "DistributionPoint:\n     "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         2: .line 384
            aload 0 /* this */
            getfield sun.security.x509.DistributionPoint.fullName:Lsun/security/x509/GeneralNames;
            ifnull 4
         3: .line 385
            aload 1 /* sb */
            aload 0 /* this */
            getfield sun.security.x509.DistributionPoint.fullName:Lsun/security/x509/GeneralNames;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            pop
         4: .line 387
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.x509.DistributionPoint.relativeName:Lsun/security/x509/RDN;
            ifnull 6
         5: .line 388
            aload 1 /* sb */
            aload 0 /* this */
            getfield sun.security.x509.DistributionPoint.relativeName:Lsun/security/x509/RDN;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            pop
         6: .line 390
      StackMap locals:
      StackMap stack:
            aload 1 /* sb */
            bipush 10
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         7: .line 392
            aload 0 /* this */
            getfield sun.security.x509.DistributionPoint.reasonFlags:[Z
            ifnull 17
         8: .line 393
            aload 1 /* sb */
            ldc "   ReasonFlags:\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         9: .line 394
            iconst_0
            istore 2 /* i */
        start local 2 // int i
        10: goto 16
        11: .line 395
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.x509.DistributionPoint.reasonFlags:[Z
            iload 2 /* i */
            baload
            ifeq 15
        12: .line 396
            aload 1 /* sb */
            ldc "    "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        13: .line 397
            iload 2 /* i */
            invokestatic sun.security.x509.DistributionPoint.reasonToString:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        14: .line 398
            bipush 10
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        15: .line 394
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 2 /* i */
            aload 0 /* this */
            getfield sun.security.x509.DistributionPoint.reasonFlags:[Z
            arraylength
            if_icmplt 11
        end local 2 // int i
        17: .line 402
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.x509.DistributionPoint.crlIssuer:Lsun/security/x509/GeneralNames;
            ifnull 21
        18: .line 403
            aload 1 /* sb */
            ldc "   CRLIssuer:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        19: .line 404
            aload 0 /* this */
            getfield sun.security.x509.DistributionPoint.crlIssuer:Lsun/security/x509/GeneralNames;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        20: .line 405
            bipush 10
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        21: .line 407
      StackMap locals:
      StackMap stack:
            aload 1 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuilder sb
        end local 0 // sun.security.x509.DistributionPoint this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   22     0  this  Lsun/security/x509/DistributionPoint;
            1   22     1    sb  Ljava/lang/StringBuilder;
           10   17     2     i  I
}
SourceFile: "DistributionPoint.java"