class sun.security.util.DisabledAlgorithmConstraints$UsageConstraint extends sun.security.util.DisabledAlgorithmConstraints$Constraint
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: sun.security.util.DisabledAlgorithmConstraints$UsageConstraint
  super_class: sun.security.util.DisabledAlgorithmConstraints$Constraint
{
  java.lang.String[] usages;
    descriptor: [Ljava/lang/String;
    flags: (0x0000) 

  void <init>(java.lang.String, java.lang.String[]);
    descriptor: (Ljava/lang/String;[Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // sun.security.util.DisabledAlgorithmConstraints$UsageConstraint this
        start local 1 // java.lang.String algorithm
        start local 2 // java.lang.String[] usages
         0: .line 705
            aload 0 /* this */
            invokespecial sun.security.util.DisabledAlgorithmConstraints$Constraint.<init>:()V
         1: .line 706
            aload 0 /* this */
            aload 1 /* algorithm */
            putfield sun.security.util.DisabledAlgorithmConstraints$UsageConstraint.algorithm:Ljava/lang/String;
         2: .line 707
            aload 0 /* this */
            aload 2 /* usages */
            putfield sun.security.util.DisabledAlgorithmConstraints$UsageConstraint.usages:[Ljava/lang/String;
         3: .line 708
            return
        end local 2 // java.lang.String[] usages
        end local 1 // java.lang.String algorithm
        end local 0 // sun.security.util.DisabledAlgorithmConstraints$UsageConstraint this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Lsun/security/util/DisabledAlgorithmConstraints$UsageConstraint;
            0    4     1  algorithm  Ljava/lang/String;
            0    4     2     usages  [Ljava/lang/String;
    MethodParameters:
           Name  Flags
      algorithm  
      usages     

  public void permits(sun.security.util.ConstraintsParameters);
    descriptor: (Lsun/security/util/ConstraintsParameters;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=7, args_size=2
        start local 0 // sun.security.util.DisabledAlgorithmConstraints$UsageConstraint this
        start local 1 // sun.security.util.ConstraintsParameters cp
         0: .line 713
            aload 0 /* this */
            getfield sun.security.util.DisabledAlgorithmConstraints$UsageConstraint.usages:[Ljava/lang/String;
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 26
      StackMap locals: sun.security.util.DisabledAlgorithmConstraints$UsageConstraint sun.security.util.ConstraintsParameters top int int java.lang.String[]
      StackMap stack:
         1: aload 5
            iload 3
            aaload
            astore 2 /* usage */
        start local 2 // java.lang.String usage
         2: .line 715
            aconst_null
            astore 6 /* v */
        start local 6 // java.lang.String v
         3: .line 716
            aload 2 /* usage */
            ldc "TLSServer"
            invokevirtual java.lang.String.compareToIgnoreCase:(Ljava/lang/String;)I
            ifne 6
         4: .line 717
            ldc "tls server"
            astore 6 /* v */
         5: .line 718
            goto 11
      StackMap locals: sun.security.util.DisabledAlgorithmConstraints$UsageConstraint sun.security.util.ConstraintsParameters java.lang.String int int java.lang.String[] java.lang.String
      StackMap stack:
         6: aload 2 /* usage */
            ldc "TLSClient"
            invokevirtual java.lang.String.compareToIgnoreCase:(Ljava/lang/String;)I
            ifne 9
         7: .line 719
            ldc "tls client"
            astore 6 /* v */
         8: .line 720
            goto 11
      StackMap locals:
      StackMap stack:
         9: aload 2 /* usage */
            ldc "SignedJAR"
            invokevirtual java.lang.String.compareToIgnoreCase:(Ljava/lang/String;)I
            ifne 11
        10: .line 721
            ldc "plugin code signing"
            astore 6 /* v */
        11: .line 724
      StackMap locals:
      StackMap stack:
            getstatic sun.security.util.DisabledAlgorithmConstraints.debug:Lsun/security/util/Debug;
            ifnull 17
        12: .line 725
            getstatic sun.security.util.DisabledAlgorithmConstraints.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "Checking if usage constraint \""
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* v */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        13: .line 726
            ldc "\" matches \""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* cp */
            invokevirtual sun.security.util.ConstraintsParameters.getVariant:()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;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        14: .line 725
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        15: .line 727
            invokestatic sun.security.util.Debug.isVerbose:()Z
            ifeq 17
        16: .line 730
            new java.lang.Exception
            dup
            invokespecial java.lang.Exception.<init>:()V
            getstatic sun.security.util.DisabledAlgorithmConstraints.debug:Lsun/security/util/Debug;
            invokevirtual sun.security.util.Debug.getPrintStream:()Ljava/io/PrintStream;
            invokevirtual java.lang.Exception.printStackTrace:(Ljava/io/PrintStream;)V
        17: .line 733
      StackMap locals:
      StackMap stack:
            aload 1 /* cp */
            invokevirtual sun.security.util.ConstraintsParameters.getVariant:()Ljava/lang/String;
            aload 6 /* v */
            invokevirtual java.lang.String.compareTo:(Ljava/lang/String;)I
            ifne 25
        18: .line 734
            aload 0 /* this */
            aload 1 /* cp */
            invokevirtual sun.security.util.DisabledAlgorithmConstraints$UsageConstraint.next:(Lsun/security/util/ConstraintsParameters;)Z
            ifeq 20
        19: .line 735
            return
        20: .line 737
      StackMap locals:
      StackMap stack:
            new java.security.cert.CertPathValidatorException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Usage constraint "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        21: .line 738
            aload 2 /* usage */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " check failed: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield sun.security.util.DisabledAlgorithmConstraints$UsageConstraint.algorithm:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        22: .line 739
            aload 0 /* this */
            aload 1 /* cp */
            invokevirtual sun.security.util.DisabledAlgorithmConstraints$UsageConstraint.extendedMsg:(Lsun/security/util/ConstraintsParameters;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        23: .line 740
            aconst_null
            aconst_null
            iconst_m1
            getstatic java.security.cert.CertPathValidatorException$BasicReason.ALGORITHM_CONSTRAINED:Ljava/security/cert/CertPathValidatorException$BasicReason;
        24: .line 737
            invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;ILjava/security/cert/CertPathValidatorException$Reason;)V
            athrow
        end local 6 // java.lang.String v
        end local 2 // java.lang.String usage
        25: .line 713
      StackMap locals: sun.security.util.DisabledAlgorithmConstraints$UsageConstraint sun.security.util.ConstraintsParameters top int int java.lang.String[]
      StackMap stack:
            iinc 3 1
      StackMap locals:
      StackMap stack:
        26: iload 3
            iload 4
            if_icmplt 1
        27: .line 743
            return
        end local 1 // sun.security.util.ConstraintsParameters cp
        end local 0 // sun.security.util.DisabledAlgorithmConstraints$UsageConstraint this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   28     0   this  Lsun/security/util/DisabledAlgorithmConstraints$UsageConstraint;
            0   28     1     cp  Lsun/security/util/ConstraintsParameters;
            2   25     2  usage  Ljava/lang/String;
            3   25     6      v  Ljava/lang/String;
    Exceptions:
      throws java.security.cert.CertPathValidatorException
    MethodParameters:
      Name  Flags
      cp    
}
SourceFile: "DisabledAlgorithmConstraints.java"
NestHost: sun.security.util.DisabledAlgorithmConstraints
InnerClasses:
  public final BasicReason = java.security.cert.CertPathValidatorException$BasicReason of java.security.cert.CertPathValidatorException
  public abstract Reason = java.security.cert.CertPathValidatorException$Reason of java.security.cert.CertPathValidatorException
  private abstract Constraint = sun.security.util.DisabledAlgorithmConstraints$Constraint of sun.security.util.DisabledAlgorithmConstraints
  private UsageConstraint = sun.security.util.DisabledAlgorithmConstraints$UsageConstraint of sun.security.util.DisabledAlgorithmConstraints