public final class javax.security.auth.kerberos.DelegationPermission extends java.security.BasicPermission implements java.io.Serializable
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: javax.security.auth.kerberos.DelegationPermission
  super_class: java.security.BasicPermission
{
  private static final long serialVersionUID;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 883133252142523922

  private transient java.lang.String subordinate;
    descriptor: Ljava/lang/String;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  private transient java.lang.String service;
    descriptor: Ljava/lang/String;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  public void <init>(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javax.security.auth.kerberos.DelegationPermission this
        start local 1 // java.lang.String principals
         0: .line 84
            aload 0 /* this */
            aload 1 /* principals */
            invokespecial java.security.BasicPermission.<init>:(Ljava/lang/String;)V
         1: .line 85
            aload 0 /* this */
            aload 1 /* principals */
            invokevirtual javax.security.auth.kerberos.DelegationPermission.init:(Ljava/lang/String;)V
         2: .line 86
            return
        end local 1 // java.lang.String principals
        end local 0 // javax.security.auth.kerberos.DelegationPermission this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Ljavax/security/auth/kerberos/DelegationPermission;
            0    3     1  principals  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      principals  

  public void <init>(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // javax.security.auth.kerberos.DelegationPermission this
        start local 1 // java.lang.String principals
        start local 2 // java.lang.String actions
         0: .line 100
            aload 0 /* this */
            aload 1 /* principals */
            aload 2 /* actions */
            invokespecial java.security.BasicPermission.<init>:(Ljava/lang/String;Ljava/lang/String;)V
         1: .line 101
            aload 0 /* this */
            aload 1 /* principals */
            invokevirtual javax.security.auth.kerberos.DelegationPermission.init:(Ljava/lang/String;)V
         2: .line 102
            return
        end local 2 // java.lang.String actions
        end local 1 // java.lang.String principals
        end local 0 // javax.security.auth.kerberos.DelegationPermission this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Ljavax/security/auth/kerberos/DelegationPermission;
            0    3     1  principals  Ljava/lang/String;
            0    3     2     actions  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      principals  
      actions     

  private void init(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // javax.security.auth.kerberos.DelegationPermission this
        start local 1 // java.lang.String target
         0: .line 110
            aconst_null
            astore 2 /* t */
        start local 2 // java.util.StringTokenizer t
         1: .line 111
            aload 1 /* target */
            ldc "\""
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 8
         2: .line 112
            new java.lang.IllegalArgumentException
            dup
         3: .line 113
            new java.lang.StringBuilder
            dup
            ldc "service principal ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* target */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         4: .line 114
            ldc "] syntax invalid: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         5: .line 115
            ldc "improperly quoted"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         6: .line 113
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         7: .line 112
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 117
      StackMap locals: java.util.StringTokenizer
      StackMap stack:
            new java.util.StringTokenizer
            dup
            aload 1 /* target */
            ldc "\""
            iconst_0
            invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;Ljava/lang/String;Z)V
            astore 2 /* t */
         9: .line 118
            aload 0 /* this */
            aload 2 /* t */
            invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
            putfield javax.security.auth.kerberos.DelegationPermission.subordinate:Ljava/lang/String;
        10: .line 119
            aload 2 /* t */
            invokevirtual java.util.StringTokenizer.countTokens:()I
            iconst_2
            if_icmpne 14
        11: .line 120
            aload 2 /* t */
            invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
            pop
        12: .line 121
            aload 0 /* this */
            aload 2 /* t */
            invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
            putfield javax.security.auth.kerberos.DelegationPermission.service:Ljava/lang/String;
        13: .line 122
            goto 21
      StackMap locals:
      StackMap stack:
        14: aload 2 /* t */
            invokevirtual java.util.StringTokenizer.countTokens:()I
            ifle 21
        15: .line 123
            new java.lang.IllegalArgumentException
            dup
        16: .line 124
            new java.lang.StringBuilder
            dup
            ldc "service principal ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* t */
            invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        17: .line 125
            ldc "] syntax invalid: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        18: .line 126
            ldc "improperly quoted"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        19: .line 124
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        20: .line 123
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        21: .line 129
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.util.StringTokenizer t
        end local 1 // java.lang.String target
        end local 0 // javax.security.auth.kerberos.DelegationPermission this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   22     0    this  Ljavax/security/auth/kerberos/DelegationPermission;
            0   22     1  target  Ljava/lang/String;
            1   22     2       t  Ljava/util/StringTokenizer;
    MethodParameters:
        Name  Flags
      target  

  public boolean implies(java.security.Permission);
    descriptor: (Ljava/security/Permission;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javax.security.auth.kerberos.DelegationPermission this
        start local 1 // java.security.Permission p
         0: .line 145
            aload 0 /* this */
            aload 1 /* p */
            invokevirtual javax.security.auth.kerberos.DelegationPermission.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // java.security.Permission p
        end local 0 // javax.security.auth.kerberos.DelegationPermission this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/security/auth/kerberos/DelegationPermission;
            0    1     1     p  Ljava/security/Permission;
    MethodParameters:
      Name  Flags
      p     

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // javax.security.auth.kerberos.DelegationPermission this
        start local 1 // java.lang.Object obj
         0: .line 159
            aload 1 /* obj */
            aload 0 /* this */
            if_acmpne 2
         1: .line 160
            iconst_1
            ireturn
         2: .line 163
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            instanceof javax.security.auth.kerberos.DelegationPermission
            ifne 4
         3: .line 164
            iconst_0
            ireturn
         4: .line 167
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            checkcast javax.security.auth.kerberos.DelegationPermission
            astore 2 /* that */
        start local 2 // javax.security.auth.kerberos.DelegationPermission that
         5: .line 169
            aload 0 /* this */
            getfield javax.security.auth.kerberos.DelegationPermission.subordinate:Ljava/lang/String;
            aload 2 /* that */
            getfield javax.security.auth.kerberos.DelegationPermission.subordinate:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 8
         6: .line 170
            aload 0 /* this */
            getfield javax.security.auth.kerberos.DelegationPermission.service:Ljava/lang/String;
            aload 2 /* that */
            getfield javax.security.auth.kerberos.DelegationPermission.service:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 8
         7: .line 169
            iconst_1
            ireturn
      StackMap locals: javax.security.auth.kerberos.DelegationPermission
      StackMap stack:
         8: iconst_0
            ireturn
        end local 2 // javax.security.auth.kerberos.DelegationPermission that
        end local 1 // java.lang.Object obj
        end local 0 // javax.security.auth.kerberos.DelegationPermission this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Ljavax/security/auth/kerberos/DelegationPermission;
            0    9     1   obj  Ljava/lang/Object;
            5    9     2  that  Ljavax/security/auth/kerberos/DelegationPermission;
    MethodParameters:
      Name  Flags
      obj   

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // javax.security.auth.kerberos.DelegationPermission this
         0: .line 180
            bipush 17
            aload 0 /* this */
            getfield javax.security.auth.kerberos.DelegationPermission.subordinate:Ljava/lang/String;
            invokevirtual java.lang.String.hashCode:()I
            imul
            bipush 31
            aload 0 /* this */
            getfield javax.security.auth.kerberos.DelegationPermission.service:Ljava/lang/String;
            invokevirtual java.lang.String.hashCode:()I
            imul
            iadd
            ireturn
        end local 0 // javax.security.auth.kerberos.DelegationPermission this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/security/auth/kerberos/DelegationPermission;

  public java.security.PermissionCollection newPermissionCollection();
    descriptor: ()Ljava/security/PermissionCollection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // javax.security.auth.kerberos.DelegationPermission this
         0: .line 197
            new javax.security.auth.kerberos.KrbDelegationPermissionCollection
            dup
            invokespecial javax.security.auth.kerberos.KrbDelegationPermissionCollection.<init>:()V
            areturn
        end local 0 // javax.security.auth.kerberos.DelegationPermission this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/security/auth/kerberos/DelegationPermission;

  private synchronized void writeObject(java.io.ObjectOutputStream);
    descriptor: (Ljava/io/ObjectOutputStream;)V
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // javax.security.auth.kerberos.DelegationPermission this
        start local 1 // java.io.ObjectOutputStream s
         0: .line 208
            aload 1 /* s */
            invokevirtual java.io.ObjectOutputStream.defaultWriteObject:()V
         1: .line 209
            return
        end local 1 // java.io.ObjectOutputStream s
        end local 0 // javax.security.auth.kerberos.DelegationPermission this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljavax/security/auth/kerberos/DelegationPermission;
            0    2     1     s  Ljava/io/ObjectOutputStream;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      s     

  private synchronized void readObject(java.io.ObjectInputStream);
    descriptor: (Ljava/io/ObjectInputStream;)V
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javax.security.auth.kerberos.DelegationPermission this
        start local 1 // java.io.ObjectInputStream s
         0: .line 219
            aload 1 /* s */
            invokevirtual java.io.ObjectInputStream.defaultReadObject:()V
         1: .line 220
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual javax.security.auth.kerberos.DelegationPermission.getName:()Ljava/lang/String;
            invokevirtual javax.security.auth.kerberos.DelegationPermission.init:(Ljava/lang/String;)V
         2: .line 221
            return
        end local 1 // java.io.ObjectInputStream s
        end local 0 // javax.security.auth.kerberos.DelegationPermission this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljavax/security/auth/kerberos/DelegationPermission;
            0    3     1     s  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException, java.lang.ClassNotFoundException
    MethodParameters:
      Name  Flags
      s     
}
SourceFile: "DelegationPermission.java"