class java.security.Policy$PolicyDelegate extends java.security.Policy
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: java.security.Policy$PolicyDelegate
  super_class: java.security.Policy
{
  private java.security.PolicySpi spi;
    descriptor: Ljava/security/PolicySpi;
    flags: (0x0002) ACC_PRIVATE

  private java.security.Provider p;
    descriptor: Ljava/security/Provider;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String type;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.security.Policy$Parameters params;
    descriptor: Ljava/security/Policy$Parameters;
    flags: (0x0002) ACC_PRIVATE

  private void <init>(java.security.PolicySpi, java.security.Provider, java.lang.String, java.security.Policy$Parameters);
    descriptor: (Ljava/security/PolicySpi;Ljava/security/Provider;Ljava/lang/String;Ljava/security/Policy$Parameters;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // java.security.Policy$PolicyDelegate this
        start local 1 // java.security.PolicySpi spi
        start local 2 // java.security.Provider p
        start local 3 // java.lang.String type
        start local 4 // java.security.Policy$Parameters params
         0: .line 756
            aload 0 /* this */
            invokespecial java.security.Policy.<init>:()V
         1: .line 758
            aload 0 /* this */
            aload 1 /* spi */
            putfield java.security.Policy$PolicyDelegate.spi:Ljava/security/PolicySpi;
         2: .line 759
            aload 0 /* this */
            aload 2 /* p */
            putfield java.security.Policy$PolicyDelegate.p:Ljava/security/Provider;
         3: .line 760
            aload 0 /* this */
            aload 3 /* type */
            putfield java.security.Policy$PolicyDelegate.type:Ljava/lang/String;
         4: .line 761
            aload 0 /* this */
            aload 4 /* params */
            putfield java.security.Policy$PolicyDelegate.params:Ljava/security/Policy$Parameters;
         5: .line 762
            return
        end local 4 // java.security.Policy$Parameters params
        end local 3 // java.lang.String type
        end local 2 // java.security.Provider p
        end local 1 // java.security.PolicySpi spi
        end local 0 // java.security.Policy$PolicyDelegate this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Ljava/security/Policy$PolicyDelegate;
            0    6     1     spi  Ljava/security/PolicySpi;
            0    6     2       p  Ljava/security/Provider;
            0    6     3    type  Ljava/lang/String;
            0    6     4  params  Ljava/security/Policy$Parameters;
    MethodParameters:
        Name  Flags
      spi     
      p       
      type    
      params  

  public java.lang.String getType();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.security.Policy$PolicyDelegate this
         0: .line 764
            aload 0 /* this */
            getfield java.security.Policy$PolicyDelegate.type:Ljava/lang/String;
            areturn
        end local 0 // java.security.Policy$PolicyDelegate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/security/Policy$PolicyDelegate;

  public java.security.Policy$Parameters getParameters();
    descriptor: ()Ljava/security/Policy$Parameters;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.security.Policy$PolicyDelegate this
         0: .line 766
            aload 0 /* this */
            getfield java.security.Policy$PolicyDelegate.params:Ljava/security/Policy$Parameters;
            areturn
        end local 0 // java.security.Policy$PolicyDelegate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/security/Policy$PolicyDelegate;

  public java.security.Provider getProvider();
    descriptor: ()Ljava/security/Provider;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.security.Policy$PolicyDelegate this
         0: .line 768
            aload 0 /* this */
            getfield java.security.Policy$PolicyDelegate.p:Ljava/security/Provider;
            areturn
        end local 0 // java.security.Policy$PolicyDelegate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/security/Policy$PolicyDelegate;

  public java.security.PermissionCollection getPermissions(java.security.CodeSource);
    descriptor: (Ljava/security/CodeSource;)Ljava/security/PermissionCollection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.security.Policy$PolicyDelegate this
        start local 1 // java.security.CodeSource codesource
         0: .line 772
            aload 0 /* this */
            getfield java.security.Policy$PolicyDelegate.spi:Ljava/security/PolicySpi;
            aload 1 /* codesource */
            invokevirtual java.security.PolicySpi.engineGetPermissions:(Ljava/security/CodeSource;)Ljava/security/PermissionCollection;
            areturn
        end local 1 // java.security.CodeSource codesource
        end local 0 // java.security.Policy$PolicyDelegate this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Ljava/security/Policy$PolicyDelegate;
            0    1     1  codesource  Ljava/security/CodeSource;
    MethodParameters:
            Name  Flags
      codesource  

  public java.security.PermissionCollection getPermissions(java.security.ProtectionDomain);
    descriptor: (Ljava/security/ProtectionDomain;)Ljava/security/PermissionCollection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.security.Policy$PolicyDelegate this
        start local 1 // java.security.ProtectionDomain domain
         0: .line 776
            aload 0 /* this */
            getfield java.security.Policy$PolicyDelegate.spi:Ljava/security/PolicySpi;
            aload 1 /* domain */
            invokevirtual java.security.PolicySpi.engineGetPermissions:(Ljava/security/ProtectionDomain;)Ljava/security/PermissionCollection;
            areturn
        end local 1 // java.security.ProtectionDomain domain
        end local 0 // java.security.Policy$PolicyDelegate this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Ljava/security/Policy$PolicyDelegate;
            0    1     1  domain  Ljava/security/ProtectionDomain;
    MethodParameters:
        Name  Flags
      domain  

  public boolean implies(java.security.ProtectionDomain, java.security.Permission);
    descriptor: (Ljava/security/ProtectionDomain;Ljava/security/Permission;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // java.security.Policy$PolicyDelegate this
        start local 1 // java.security.ProtectionDomain domain
        start local 2 // java.security.Permission perm
         0: .line 780
            aload 0 /* this */
            getfield java.security.Policy$PolicyDelegate.spi:Ljava/security/PolicySpi;
            aload 1 /* domain */
            aload 2 /* perm */
            invokevirtual java.security.PolicySpi.engineImplies:(Ljava/security/ProtectionDomain;Ljava/security/Permission;)Z
            ireturn
        end local 2 // java.security.Permission perm
        end local 1 // java.security.ProtectionDomain domain
        end local 0 // java.security.Policy$PolicyDelegate this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Ljava/security/Policy$PolicyDelegate;
            0    1     1  domain  Ljava/security/ProtectionDomain;
            0    1     2    perm  Ljava/security/Permission;
    MethodParameters:
        Name  Flags
      domain  
      perm    

  public void refresh();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.security.Policy$PolicyDelegate this
         0: .line 784
            aload 0 /* this */
            getfield java.security.Policy$PolicyDelegate.spi:Ljava/security/PolicySpi;
            invokevirtual java.security.PolicySpi.engineRefresh:()V
         1: .line 785
            return
        end local 0 // java.security.Policy$PolicyDelegate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/security/Policy$PolicyDelegate;
}
SourceFile: "Policy.java"
NestHost: java.security.Policy
InnerClasses:
  public abstract Parameters = java.security.Policy$Parameters of java.security.Policy
  private PolicyDelegate = java.security.Policy$PolicyDelegate of java.security.Policy