public final class sun.security.spec.DSAGenParameterSpec implements java.security.spec.AlgorithmParameterSpec
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: sun.security.spec.DSAGenParameterSpec
  super_class: java.lang.Object
{
  private final int pLen;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int qLen;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int seedLen;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public void <init>(int, int);
    descriptor: (II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // sun.security.spec.DSAGenParameterSpec this
        start local 1 // int primePLen
        start local 2 // int subprimeQLen
         0: .line 56
            aload 0 /* this */
            iload 1 /* primePLen */
            iload 2 /* subprimeQLen */
            iload 2 /* subprimeQLen */
            invokespecial sun.security.spec.DSAGenParameterSpec.<init>:(III)V
         1: .line 57
            return
        end local 2 // int subprimeQLen
        end local 1 // int primePLen
        end local 0 // sun.security.spec.DSAGenParameterSpec this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lsun/security/spec/DSAGenParameterSpec;
            0    2     1     primePLen  I
            0    2     2  subprimeQLen  I
    MethodParameters:
              Name  Flags
      primePLen     
      subprimeQLen  

  public void <init>(int, int, int);
    descriptor: (III)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // sun.security.spec.DSAGenParameterSpec this
        start local 1 // int primePLen
        start local 2 // int subprimeQLen
        start local 3 // int seedLen
         0: .line 71
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 72
            iload 1 /* primePLen */
            lookupswitch { // 3
                 1024: 2
                 2048: 6
                 3072: 10
              default: 14
          }
         2: .line 74
      StackMap locals: sun.security.spec.DSAGenParameterSpec int int int
      StackMap stack:
            iload 2 /* subprimeQLen */
            sipush 160
            if_icmpeq 17
         3: .line 75
            new java.lang.IllegalArgumentException
            dup
         4: .line 76
            ldc "subprimeQLen must be 160 when primePLen=1024"
         5: .line 75
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 80
      StackMap locals:
      StackMap stack:
            iload 2 /* subprimeQLen */
            sipush 224
            if_icmpeq 17
            iload 2 /* subprimeQLen */
            sipush 256
            if_icmpeq 17
         7: .line 81
            new java.lang.IllegalArgumentException
            dup
         8: .line 82
            ldc "subprimeQLen must be 224 or 256 when primePLen=2048"
         9: .line 81
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        10: .line 86
      StackMap locals:
      StackMap stack:
            iload 2 /* subprimeQLen */
            sipush 256
            if_icmpeq 17
        11: .line 87
            new java.lang.IllegalArgumentException
            dup
        12: .line 88
            ldc "subprimeQLen must be 256 when primePLen=3072"
        13: .line 87
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        14: .line 92
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
        15: .line 93
            ldc "primePLen must be 1024, 2048, or 3072"
        16: .line 92
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        17: .line 95
      StackMap locals:
      StackMap stack:
            iload 3 /* seedLen */
            iload 2 /* subprimeQLen */
            if_icmpge 21
        18: .line 96
            new java.lang.IllegalArgumentException
            dup
        19: .line 97
            ldc "seedLen must be equal to or greater than subprimeQLen"
        20: .line 96
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        21: .line 99
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* primePLen */
            putfield sun.security.spec.DSAGenParameterSpec.pLen:I
        22: .line 100
            aload 0 /* this */
            iload 2 /* subprimeQLen */
            putfield sun.security.spec.DSAGenParameterSpec.qLen:I
        23: .line 101
            aload 0 /* this */
            iload 3 /* seedLen */
            putfield sun.security.spec.DSAGenParameterSpec.seedLen:I
        24: .line 102
            return
        end local 3 // int seedLen
        end local 2 // int subprimeQLen
        end local 1 // int primePLen
        end local 0 // sun.security.spec.DSAGenParameterSpec this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   25     0          this  Lsun/security/spec/DSAGenParameterSpec;
            0   25     1     primePLen  I
            0   25     2  subprimeQLen  I
            0   25     3       seedLen  I
    MethodParameters:
              Name  Flags
      primePLen     
      subprimeQLen  
      seedLen       

  public int getPrimePLength();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.spec.DSAGenParameterSpec this
         0: .line 110
            aload 0 /* this */
            getfield sun.security.spec.DSAGenParameterSpec.pLen:I
            ireturn
        end local 0 // sun.security.spec.DSAGenParameterSpec this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/spec/DSAGenParameterSpec;

  public int getSubprimeQLength();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.spec.DSAGenParameterSpec this
         0: .line 119
            aload 0 /* this */
            getfield sun.security.spec.DSAGenParameterSpec.qLen:I
            ireturn
        end local 0 // sun.security.spec.DSAGenParameterSpec this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/spec/DSAGenParameterSpec;

  public int getSeedLength();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.spec.DSAGenParameterSpec this
         0: .line 127
            aload 0 /* this */
            getfield sun.security.spec.DSAGenParameterSpec.seedLen:I
            ireturn
        end local 0 // sun.security.spec.DSAGenParameterSpec this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/spec/DSAGenParameterSpec;
}
SourceFile: "DSAGenParameterSpec.java"