public final class java.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: java.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 // java.security.spec.DSAGenParameterSpec this
        start local 1 // int primePLen
        start local 2 // int subprimeQLen
         0: .line 54
            aload 0 /* this */
            iload 1 /* primePLen */
            iload 2 /* subprimeQLen */
            iload 2 /* subprimeQLen */
            invokespecial java.security.spec.DSAGenParameterSpec.<init>:(III)V
         1: .line 55
            return
        end local 2 // int subprimeQLen
        end local 1 // int primePLen
        end local 0 // java.security.spec.DSAGenParameterSpec this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Ljava/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 // java.security.spec.DSAGenParameterSpec this
        start local 1 // int primePLen
        start local 2 // int subprimeQLen
        start local 3 // int seedLen
         0: .line 69
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 70
            iload 1 /* primePLen */
            lookupswitch { // 3
                 1024: 2
                 2048: 6
                 3072: 10
              default: 14
          }
         2: .line 72
      StackMap locals: java.security.spec.DSAGenParameterSpec int int int
      StackMap stack:
            iload 2 /* subprimeQLen */
            sipush 160
            if_icmpeq 17
         3: .line 73
            new java.lang.IllegalArgumentException
            dup
         4: .line 74
            ldc "subprimeQLen must be 160 when primePLen=1024"
         5: .line 73
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 78
      StackMap locals:
      StackMap stack:
            iload 2 /* subprimeQLen */
            sipush 224
            if_icmpeq 17
            iload 2 /* subprimeQLen */
            sipush 256
            if_icmpeq 17
         7: .line 79
            new java.lang.IllegalArgumentException
            dup
         8: .line 80
            ldc "subprimeQLen must be 224 or 256 when primePLen=2048"
         9: .line 79
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        10: .line 84
      StackMap locals:
      StackMap stack:
            iload 2 /* subprimeQLen */
            sipush 256
            if_icmpeq 17
        11: .line 85
            new java.lang.IllegalArgumentException
            dup
        12: .line 86
            ldc "subprimeQLen must be 256 when primePLen=3072"
        13: .line 85
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        14: .line 90
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
        15: .line 91
            ldc "primePLen must be 1024, 2048, or 3072"
        16: .line 90
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        17: .line 93
      StackMap locals:
      StackMap stack:
            iload 3 /* seedLen */
            iload 2 /* subprimeQLen */
            if_icmpge 21
        18: .line 94
            new java.lang.IllegalArgumentException
            dup
        19: .line 95
            ldc "seedLen must be equal to or greater than subprimeQLen"
        20: .line 94
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        21: .line 97
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* primePLen */
            putfield java.security.spec.DSAGenParameterSpec.pLen:I
        22: .line 98
            aload 0 /* this */
            iload 2 /* subprimeQLen */
            putfield java.security.spec.DSAGenParameterSpec.qLen:I
        23: .line 99
            aload 0 /* this */
            iload 3 /* seedLen */
            putfield java.security.spec.DSAGenParameterSpec.seedLen:I
        24: .line 100
            return
        end local 3 // int seedLen
        end local 2 // int subprimeQLen
        end local 1 // int primePLen
        end local 0 // java.security.spec.DSAGenParameterSpec this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   25     0          this  Ljava/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 // java.security.spec.DSAGenParameterSpec this
         0: .line 108
            aload 0 /* this */
            getfield java.security.spec.DSAGenParameterSpec.pLen:I
            ireturn
        end local 0 // java.security.spec.DSAGenParameterSpec this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/security/spec/DSAGenParameterSpec;

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

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