class sun.security.tools.policytool.PolicyEntry
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: sun.security.tools.policytool.PolicyEntry
  super_class: java.lang.Object
{
  private java.security.CodeSource codesource;
    descriptor: Ljava/security/CodeSource;
    flags: (0x0002) ACC_PRIVATE

  private sun.security.tools.policytool.PolicyTool tool;
    descriptor: Lsun/security/tools/policytool/PolicyTool;
    flags: (0x0002) ACC_PRIVATE

  private sun.security.provider.PolicyParser$GrantEntry grantEntry;
    descriptor: Lsun/security/provider/PolicyParser$GrantEntry;
    flags: (0x0002) ACC_PRIVATE

  private boolean testing;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  void <init>(sun.security.tools.policytool.PolicyTool, sun.security.provider.PolicyParser$GrantEntry);
    descriptor: (Lsun/security/tools/policytool/PolicyTool;Lsun/security/provider/PolicyParser$GrantEntry;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // sun.security.tools.policytool.PolicyEntry this
        start local 1 // sun.security.tools.policytool.PolicyTool tool
        start local 2 // sun.security.provider.PolicyParser$GrantEntry ge
         0: .line 756
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 750
            aload 0 /* this */
            iconst_0
            putfield sun.security.tools.policytool.PolicyEntry.testing:Z
         2: .line 762
            aload 0 /* this */
            aload 1 /* tool */
            putfield sun.security.tools.policytool.PolicyEntry.tool:Lsun/security/tools/policytool/PolicyTool;
         3: .line 764
            aconst_null
            astore 3 /* location */
        start local 3 // java.net.URL location
         4: .line 767
            aload 2 /* ge */
            getfield sun.security.provider.PolicyParser$GrantEntry.codeBase:Ljava/lang/String;
            ifnull 6
         5: .line 768
            new java.net.URL
            dup
            aload 2 /* ge */
            getfield sun.security.provider.PolicyParser$GrantEntry.codeBase:Ljava/lang/String;
            invokespecial java.net.URL.<init>:(Ljava/lang/String;)V
            astore 3 /* location */
         6: .line 769
      StackMap locals: sun.security.tools.policytool.PolicyEntry sun.security.tools.policytool.PolicyTool sun.security.provider.PolicyParser$GrantEntry java.net.URL
      StackMap stack:
            aload 0 /* this */
            new java.security.CodeSource
            dup
            aload 3 /* location */
         7: .line 770
            aconst_null
            invokespecial java.security.CodeSource.<init>:(Ljava/net/URL;[Ljava/security/cert/Certificate;)V
         8: .line 769
            putfield sun.security.tools.policytool.PolicyEntry.codesource:Ljava/security/CodeSource;
         9: .line 772
            aload 0 /* this */
            getfield sun.security.tools.policytool.PolicyEntry.testing:Z
            ifeq 16
        10: .line 773
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "Adding Policy Entry:"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        11: .line 774
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "    CodeBase = "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* location */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        12: .line 775
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "    Signers = "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* ge */
            getfield sun.security.provider.PolicyParser$GrantEntry.signedBy:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        13: .line 776
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "    with "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* ge */
            getfield sun.security.provider.PolicyParser$GrantEntry.principals:Ljava/util/LinkedList;
            invokevirtual java.util.LinkedList.size:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        14: .line 777
            ldc " Principals"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        15: .line 776
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        16: .line 780
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* ge */
            putfield sun.security.tools.policytool.PolicyEntry.grantEntry:Lsun/security/provider/PolicyParser$GrantEntry;
        17: .line 781
            return
        end local 3 // java.net.URL location
        end local 2 // sun.security.provider.PolicyParser$GrantEntry ge
        end local 1 // sun.security.tools.policytool.PolicyTool tool
        end local 0 // sun.security.tools.policytool.PolicyEntry this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   18     0      this  Lsun/security/tools/policytool/PolicyEntry;
            0   18     1      tool  Lsun/security/tools/policytool/PolicyTool;
            0   18     2        ge  Lsun/security/provider/PolicyParser$GrantEntry;
            4   18     3  location  Ljava/net/URL;
    Exceptions:
      throws java.net.MalformedURLException, java.lang.NoSuchMethodException, java.lang.ClassNotFoundException, java.lang.InstantiationException, java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException, java.security.cert.CertificateException, java.io.IOException, java.security.NoSuchAlgorithmException, java.security.UnrecoverableKeyException
    MethodParameters:
      Name  Flags
      tool  
      ge    

  java.security.CodeSource getCodeSource();
    descriptor: ()Ljava/security/CodeSource;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.tools.policytool.PolicyEntry this
         0: .line 787
            aload 0 /* this */
            getfield sun.security.tools.policytool.PolicyEntry.codesource:Ljava/security/CodeSource;
            areturn
        end local 0 // sun.security.tools.policytool.PolicyEntry this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/tools/policytool/PolicyEntry;

  sun.security.provider.PolicyParser$GrantEntry getGrantEntry();
    descriptor: ()Lsun/security/provider/PolicyParser$GrantEntry;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.tools.policytool.PolicyEntry this
         0: .line 794
            aload 0 /* this */
            getfield sun.security.tools.policytool.PolicyEntry.grantEntry:Lsun/security/provider/PolicyParser$GrantEntry;
            areturn
        end local 0 // sun.security.tools.policytool.PolicyEntry this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/tools/policytool/PolicyEntry;

  java.lang.String headerToString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // sun.security.tools.policytool.PolicyEntry this
         0: .line 802
            aload 0 /* this */
            invokevirtual sun.security.tools.policytool.PolicyEntry.principalsToString:()Ljava/lang/String;
            astore 1 /* pString */
        start local 1 // java.lang.String pString
         1: .line 803
            aload 1 /* pString */
            invokevirtual java.lang.String.length:()I
            ifne 3
         2: .line 804
            aload 0 /* this */
            invokevirtual sun.security.tools.policytool.PolicyEntry.codebaseToString:()Ljava/lang/String;
            areturn
         3: .line 806
      StackMap locals: java.lang.String
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual sun.security.tools.policytool.PolicyEntry.codebaseToString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* pString */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.String pString
        end local 0 // sun.security.tools.policytool.PolicyEntry this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lsun/security/tools/policytool/PolicyEntry;
            1    4     1  pString  Ljava/lang/String;

  java.lang.String codebaseToString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // sun.security.tools.policytool.PolicyEntry this
         0: .line 815
            new java.lang.String
            dup
            invokespecial java.lang.String.<init>:()V
            astore 1 /* stringEntry */
        start local 1 // java.lang.String stringEntry
         1: .line 817
            aload 0 /* this */
            getfield sun.security.tools.policytool.PolicyEntry.grantEntry:Lsun/security/provider/PolicyParser$GrantEntry;
            getfield sun.security.provider.PolicyParser$GrantEntry.codeBase:Ljava/lang/String;
            ifnull 9
         2: .line 818
            aload 0 /* this */
            getfield sun.security.tools.policytool.PolicyEntry.grantEntry:Lsun/security/provider/PolicyParser$GrantEntry;
            getfield sun.security.provider.PolicyParser$GrantEntry.codeBase:Ljava/lang/String;
            ldc ""
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 9
         3: .line 819
            aload 1 /* stringEntry */
         4: .line 820
            new java.lang.StringBuilder
            dup
            ldc "CodeBase \""
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         5: .line 821
            aload 0 /* this */
            getfield sun.security.tools.policytool.PolicyEntry.grantEntry:Lsun/security/provider/PolicyParser$GrantEntry;
            getfield sun.security.provider.PolicyParser$GrantEntry.codeBase:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         6: .line 822
            ldc "\""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         7: .line 820
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         8: .line 819
            invokevirtual java.lang.String.concat:(Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* stringEntry */
         9: .line 824
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.policytool.PolicyEntry.grantEntry:Lsun/security/provider/PolicyParser$GrantEntry;
            getfield sun.security.provider.PolicyParser$GrantEntry.signedBy:Ljava/lang/String;
            ifnull 22
        10: .line 825
            aload 0 /* this */
            getfield sun.security.tools.policytool.PolicyEntry.grantEntry:Lsun/security/provider/PolicyParser$GrantEntry;
            getfield sun.security.provider.PolicyParser$GrantEntry.signedBy:Ljava/lang/String;
            ldc ""
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 22
        11: .line 826
            aload 1 /* stringEntry */
            invokevirtual java.lang.String.length:()I
            ifle 17
        12: .line 827
            aload 1 /* stringEntry */
            new java.lang.StringBuilder
            dup
            ldc ", SignedBy \""
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        13: .line 828
            aload 0 /* this */
            getfield sun.security.tools.policytool.PolicyEntry.grantEntry:Lsun/security/provider/PolicyParser$GrantEntry;
            getfield sun.security.provider.PolicyParser$GrantEntry.signedBy:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        14: .line 829
            ldc "\""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        15: .line 827
            invokevirtual java.lang.String.concat:(Ljava/lang/String;)Ljava/lang/String;
        16: .line 829
            goto 21
        17: .line 830
      StackMap locals:
      StackMap stack:
            aload 1 /* stringEntry */
            new java.lang.StringBuilder
            dup
            ldc "SignedBy \""
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        18: .line 831
            aload 0 /* this */
            getfield sun.security.tools.policytool.PolicyEntry.grantEntry:Lsun/security/provider/PolicyParser$GrantEntry;
            getfield sun.security.provider.PolicyParser$GrantEntry.signedBy:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        19: .line 832
            ldc "\""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        20: .line 830
            invokevirtual java.lang.String.concat:(Ljava/lang/String;)Ljava/lang/String;
        21: .line 826
      StackMap locals:
      StackMap stack: java.lang.String
            astore 1 /* stringEntry */
        22: .line 834
      StackMap locals:
      StackMap stack:
            aload 1 /* stringEntry */
            invokevirtual java.lang.String.length:()I
            ifne 24
        23: .line 835
            new java.lang.String
            dup
            ldc "CodeBase <ALL>"
            invokespecial java.lang.String.<init>:(Ljava/lang/String;)V
            areturn
        24: .line 836
      StackMap locals:
      StackMap stack:
            aload 1 /* stringEntry */
            areturn
        end local 1 // java.lang.String stringEntry
        end local 0 // sun.security.tools.policytool.PolicyEntry this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   25     0         this  Lsun/security/tools/policytool/PolicyEntry;
            1   25     1  stringEntry  Ljava/lang/String;

  java.lang.String principalsToString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // sun.security.tools.policytool.PolicyEntry this
         0: .line 843
            ldc ""
            astore 1 /* result */
        start local 1 // java.lang.String result
         1: .line 844
            aload 0 /* this */
            getfield sun.security.tools.policytool.PolicyEntry.grantEntry:Lsun/security/provider/PolicyParser$GrantEntry;
            getfield sun.security.provider.PolicyParser$GrantEntry.principals:Ljava/util/LinkedList;
            ifnull 14
         2: .line 845
            aload 0 /* this */
            getfield sun.security.tools.policytool.PolicyEntry.grantEntry:Lsun/security/provider/PolicyParser$GrantEntry;
            getfield sun.security.provider.PolicyParser$GrantEntry.principals:Ljava/util/LinkedList;
            invokevirtual java.util.LinkedList.isEmpty:()Z
            ifne 14
         3: .line 846
            new java.lang.StringBuffer
            dup
            sipush 200
            invokespecial java.lang.StringBuffer.<init>:(I)V
            astore 2 /* buffer */
        start local 2 // java.lang.StringBuffer buffer
         4: .line 848
            aload 0 /* this */
            getfield sun.security.tools.policytool.PolicyEntry.grantEntry:Lsun/security/provider/PolicyParser$GrantEntry;
            getfield sun.security.provider.PolicyParser$GrantEntry.principals:Ljava/util/LinkedList;
            invokevirtual java.util.LinkedList.listIterator:()Ljava/util/ListIterator;
         5: .line 847
            astore 3 /* list */
        start local 3 // java.util.ListIterator list
         6: .line 849
            goto 12
         7: .line 850
      StackMap locals: java.lang.String java.lang.StringBuffer java.util.ListIterator
      StackMap stack:
            aload 3 /* list */
            invokeinterface java.util.ListIterator.next:()Ljava/lang/Object;
            checkcast sun.security.provider.PolicyParser$PrincipalEntry
            astore 4 /* pppe */
        start local 4 // sun.security.provider.PolicyParser$PrincipalEntry pppe
         8: .line 851
            aload 2 /* buffer */
            new java.lang.StringBuilder
            dup
            ldc " Principal "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* pppe */
            invokevirtual sun.security.provider.PolicyParser$PrincipalEntry.getDisplayClass:()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;
         9: .line 852
            aload 4 /* pppe */
            iconst_1
            invokevirtual sun.security.provider.PolicyParser$PrincipalEntry.getDisplayName:(Z)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        10: .line 851
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        11: .line 853
            aload 3 /* list */
            invokeinterface java.util.ListIterator.hasNext:()Z
            ifeq 12
            aload 2 /* buffer */
            ldc ", "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        end local 4 // sun.security.provider.PolicyParser$PrincipalEntry pppe
        12: .line 849
      StackMap locals:
      StackMap stack:
            aload 3 /* list */
            invokeinterface java.util.ListIterator.hasNext:()Z
            ifne 7
        13: .line 855
            aload 2 /* buffer */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            astore 1 /* result */
        end local 3 // java.util.ListIterator list
        end local 2 // java.lang.StringBuffer buffer
        14: .line 857
      StackMap locals:
      StackMap stack:
            aload 1 /* result */
            areturn
        end local 1 // java.lang.String result
        end local 0 // sun.security.tools.policytool.PolicyEntry this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   15     0    this  Lsun/security/tools/policytool/PolicyEntry;
            1   15     1  result  Ljava/lang/String;
            4   14     2  buffer  Ljava/lang/StringBuffer;
            6   14     3    list  Ljava/util/ListIterator<Lsun/security/provider/PolicyParser$PrincipalEntry;>;
            8   12     4    pppe  Lsun/security/provider/PolicyParser$PrincipalEntry;

  sun.security.provider.PolicyParser$PermissionEntry toPermissionEntry(java.security.Permission);
    descriptor: (Ljava/security/Permission;)Lsun/security/provider/PolicyParser$PermissionEntry;
    flags: (0x0000) 
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // sun.security.tools.policytool.PolicyEntry this
        start local 1 // java.security.Permission perm
         0: .line 865
            aconst_null
            astore 2 /* actions */
        start local 2 // java.lang.String actions
         1: .line 868
            aload 1 /* perm */
            invokevirtual java.security.Permission.getActions:()Ljava/lang/String;
            ifnull 4
         2: .line 869
            aload 1 /* perm */
            invokevirtual java.security.Permission.getActions:()Ljava/lang/String;
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            ldc ""
            if_acmpeq 4
         3: .line 870
            aload 1 /* perm */
            invokevirtual java.security.Permission.getActions:()Ljava/lang/String;
            astore 2 /* actions */
         4: .line 872
      StackMap locals: java.lang.String
      StackMap stack:
            new sun.security.provider.PolicyParser$PermissionEntry
            dup
         5: .line 873
            aload 1 /* perm */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
         6: .line 874
            aload 1 /* perm */
            invokevirtual java.security.Permission.getName:()Ljava/lang/String;
         7: .line 875
            aload 2 /* actions */
         8: .line 872
            invokespecial sun.security.provider.PolicyParser$PermissionEntry.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
            astore 3 /* pe */
        start local 3 // sun.security.provider.PolicyParser$PermissionEntry pe
         9: .line 876
            aload 3 /* pe */
            areturn
        end local 3 // sun.security.provider.PolicyParser$PermissionEntry pe
        end local 2 // java.lang.String actions
        end local 1 // java.security.Permission perm
        end local 0 // sun.security.tools.policytool.PolicyEntry this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0     this  Lsun/security/tools/policytool/PolicyEntry;
            0   10     1     perm  Ljava/security/Permission;
            1   10     2  actions  Ljava/lang/String;
            9   10     3       pe  Lsun/security/provider/PolicyParser$PermissionEntry;
    MethodParameters:
      Name  Flags
      perm  
}
SourceFile: "PolicyTool.java"
InnerClasses:
  public GrantEntry = sun.security.provider.PolicyParser$GrantEntry of sun.security.provider.PolicyParser
  public PermissionEntry = sun.security.provider.PolicyParser$PermissionEntry of sun.security.provider.PolicyParser
  public PrincipalEntry = sun.security.provider.PolicyParser$PrincipalEntry of sun.security.provider.PolicyParser