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 85
            aload 0 /* this */
            aload 1 /* principals */
            invokespecial java.security.BasicPermission.<init>:(Ljava/lang/String;)V
         1: .line 86
            aload 0 /* this */
            aload 1 /* principals */
            invokevirtual javax.security.auth.kerberos.DelegationPermission.init:(Ljava/lang/String;)V
         2: .line 87
            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 102
            aload 0 /* this */
            aload 1 /* principals */
            aload 2 /* actions */
            invokespecial java.security.BasicPermission.<init>:(Ljava/lang/String;Ljava/lang/String;)V
         1: .line 103
            aload 0 /* this */
            aload 1 /* principals */
            invokevirtual javax.security.auth.kerberos.DelegationPermission.init:(Ljava/lang/String;)V
         2: .line 104
            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 115
            new java.util.StringTokenizer
            dup
            aload 1 /* target */
            ldc "\""
            iconst_1
            invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;Ljava/lang/String;Z)V
            astore 2 /* t */
        start local 2 // java.util.StringTokenizer t
         1: .line 117
            aload 2 /* t */
            invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
            ldc "\""
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 5
         2: .line 118
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Illegal input ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* target */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         3: .line 119
            ldc "]: improperly quoted"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         4: .line 118
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 121
      StackMap locals: java.util.StringTokenizer
      StackMap stack:
            aload 0 /* this */
            aload 2 /* t */
            invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
            putfield javax.security.auth.kerberos.DelegationPermission.subordinate:Ljava/lang/String;
         6: .line 122
            aload 0 /* this */
            getfield javax.security.auth.kerberos.DelegationPermission.subordinate:Ljava/lang/String;
            ldc "\""
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 10
         7: .line 123
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Illegal input ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* target */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         8: .line 124
            ldc "]: bad subordinate name"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         9: .line 123
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        10: .line 126
      StackMap locals:
      StackMap stack:
            aload 2 /* t */
            invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
            pop
        11: .line 127
            aload 2 /* t */
            invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 15
        12: .line 128
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Illegal input ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* target */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        13: .line 129
            ldc "]: improperly separated"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        14: .line 128
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        15: .line 131
      StackMap locals:
      StackMap stack:
            aload 2 /* t */
            invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
            pop
        16: .line 132
            aload 0 /* this */
            aload 2 /* t */
            invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
            putfield javax.security.auth.kerberos.DelegationPermission.service:Ljava/lang/String;
        17: .line 133
            aload 0 /* this */
            getfield javax.security.auth.kerberos.DelegationPermission.service:Ljava/lang/String;
            ldc "\""
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 21
        18: .line 134
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Illegal input ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* target */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        19: .line 135
            ldc "]: bad service name"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        20: .line 134
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        21: .line 137
      StackMap locals:
      StackMap stack:
            aload 2 /* t */
            invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
            pop
        22: .line 138
            goto 27
      StackMap locals:
      StackMap stack: java.util.NoSuchElementException
        23: pop
        24: .line 139
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Illegal input ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* target */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        25: .line 140
            ldc "]: not enough input"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        26: .line 139
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        27: .line 142
      StackMap locals:
      StackMap stack:
            aload 2 /* t */
            invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
            ifeq 31
        28: .line 143
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Illegal input ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* target */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        29: .line 144
            ldc "]: extra input"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        30: .line 143
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        31: .line 146
      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   32     0    this  Ljavax/security/auth/kerberos/DelegationPermission;
            0   32     1  target  Ljava/lang/String;
            1   32     2       t  Ljava/util/StringTokenizer;
      Exception table:
        from    to  target  type
           1    22      23  Class java.util.NoSuchElementException
    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 162
            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 176
            aload 1 /* obj */
            aload 0 /* this */
            if_acmpne 2
         1: .line 177
            iconst_1
            ireturn
         2: .line 180
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            instanceof javax.security.auth.kerberos.DelegationPermission
            ifne 4
         3: .line 181
            iconst_0
            ireturn
         4: .line 184
      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 186
            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 187
            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 186
            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 197
            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 214
            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 225
            aload 1 /* s */
            invokevirtual java.io.ObjectOutputStream.defaultWriteObject:()V
         1: .line 226
            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 236
            aload 1 /* s */
            invokevirtual java.io.ObjectInputStream.defaultReadObject:()V
         1: .line 237
            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 238
            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"