public class sun.rmi.server.Activation$DefaultExecPolicy
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.rmi.server.Activation$DefaultExecPolicy
  super_class: java.lang.Object
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.rmi.server.Activation$DefaultExecPolicy this
         0: .line 1785
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // sun.rmi.server.Activation$DefaultExecPolicy this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/rmi/server/Activation$DefaultExecPolicy;

  public void checkExecCommand(java.rmi.activation.ActivationGroupDesc, java.lang.String[]);
    descriptor: (Ljava/rmi/activation/ActivationGroupDesc;[Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=13, args_size=3
        start local 0 // sun.rmi.server.Activation$DefaultExecPolicy this
        start local 1 // java.rmi.activation.ActivationGroupDesc desc
        start local 2 // java.lang.String[] cmd
         0: .line 1790
            invokestatic sun.rmi.server.Activation$DefaultExecPolicy.getExecPermissions:()Ljava/security/PermissionCollection;
            astore 3 /* perms */
        start local 3 // java.security.PermissionCollection perms
         1: .line 1795
            aload 1 /* desc */
            invokevirtual java.rmi.activation.ActivationGroupDesc.getPropertyOverrides:()Ljava/util/Properties;
            astore 4 /* props */
        start local 4 // java.util.Properties props
         2: .line 1796
            aload 4 /* props */
            ifnull 20
         3: .line 1797
            aload 4 /* props */
            invokevirtual java.util.Properties.propertyNames:()Ljava/util/Enumeration;
            astore 5 /* p */
        start local 5 // java.util.Enumeration p
         4: .line 1798
            goto 19
         5: .line 1799
      StackMap locals: java.security.PermissionCollection java.util.Properties java.util.Enumeration
      StackMap stack:
            aload 5 /* p */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 6 /* name */
        start local 6 // java.lang.String name
         6: .line 1800
            aload 4 /* props */
            aload 6 /* name */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 7 /* value */
        start local 7 // java.lang.String value
         7: .line 1801
            new java.lang.StringBuilder
            dup
            ldc "-D"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 7 /* value */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 8 /* option */
        start local 8 // java.lang.String option
         8: .line 1803
            aload 3 /* perms */
         9: .line 1804
            new com.sun.rmi.rmid.ExecOptionPermission
            dup
            aload 8 /* option */
            invokespecial com.sun.rmi.rmid.ExecOptionPermission.<init>:(Ljava/lang/String;)V
        10: .line 1803
            invokestatic sun.rmi.server.Activation$DefaultExecPolicy.checkPermission:(Ljava/security/PermissionCollection;Ljava/security/Permission;)V
        11: .line 1805
            goto 19
      StackMap locals: sun.rmi.server.Activation$DefaultExecPolicy java.rmi.activation.ActivationGroupDesc java.lang.String[] java.security.PermissionCollection java.util.Properties java.util.Enumeration java.lang.String java.lang.String java.lang.String
      StackMap stack: java.security.AccessControlException
        12: astore 9 /* e */
        start local 9 // java.security.AccessControlException e
        13: .line 1806
            aload 7 /* value */
            ldc ""
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 18
        14: .line 1807
            aload 3 /* perms */
        15: .line 1808
            new com.sun.rmi.rmid.ExecOptionPermission
            dup
            new java.lang.StringBuilder
            dup
            ldc "-D"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial com.sun.rmi.rmid.ExecOptionPermission.<init>:(Ljava/lang/String;)V
        16: .line 1807
            invokestatic sun.rmi.server.Activation$DefaultExecPolicy.checkPermission:(Ljava/security/PermissionCollection;Ljava/security/Permission;)V
        17: .line 1809
            goto 19
        18: .line 1810
      StackMap locals: java.security.AccessControlException
      StackMap stack:
            aload 9 /* e */
            athrow
        end local 9 // java.security.AccessControlException e
        end local 8 // java.lang.String option
        end local 7 // java.lang.String value
        end local 6 // java.lang.String name
        19: .line 1798
      StackMap locals: sun.rmi.server.Activation$DefaultExecPolicy java.rmi.activation.ActivationGroupDesc java.lang.String[] java.security.PermissionCollection java.util.Properties java.util.Enumeration
      StackMap stack:
            aload 5 /* p */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 5
        end local 5 // java.util.Enumeration p
        20: .line 1820
      StackMap locals:
      StackMap stack:
            aload 1 /* desc */
            invokevirtual java.rmi.activation.ActivationGroupDesc.getClassName:()Ljava/lang/String;
            astore 5 /* groupClassName */
        start local 5 // java.lang.String groupClassName
        21: .line 1821
            aload 5 /* groupClassName */
            ifnull 26
        22: .line 1822
            aload 5 /* groupClassName */
        23: .line 1823
            ldc Lsun/rmi/server/ActivationGroupImpl;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        24: .line 1822
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
        25: .line 1823
            ifeq 28
        26: .line 1824
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* desc */
            invokevirtual java.rmi.activation.ActivationGroupDesc.getLocation:()Ljava/lang/String;
            ifnonnull 28
        27: .line 1825
            aload 1 /* desc */
            invokevirtual java.rmi.activation.ActivationGroupDesc.getData:()Ljava/rmi/MarshalledObject;
            ifnull 31
        28: .line 1827
      StackMap locals:
      StackMap stack:
            new java.security.AccessControlException
            dup
        29: .line 1828
            ldc "access denied (custom group implementation not allowed)"
        30: .line 1827
            invokespecial java.security.AccessControlException.<init>:(Ljava/lang/String;)V
            athrow
        31: .line 1836
      StackMap locals:
      StackMap stack:
            aload 1 /* desc */
            invokevirtual java.rmi.activation.ActivationGroupDesc.getCommandEnvironment:()Ljava/rmi/activation/ActivationGroupDesc$CommandEnvironment;
            astore 6 /* cmdenv */
        start local 6 // java.rmi.activation.ActivationGroupDesc$CommandEnvironment cmdenv
        32: .line 1837
            aload 6 /* cmdenv */
            ifnull 45
        33: .line 1838
            aload 6 /* cmdenv */
            invokevirtual java.rmi.activation.ActivationGroupDesc$CommandEnvironment.getCommandPath:()Ljava/lang/String;
            astore 7 /* path */
        start local 7 // java.lang.String path
        34: .line 1839
            aload 7 /* path */
            ifnull 36
        35: .line 1840
            aload 3 /* perms */
            new com.sun.rmi.rmid.ExecPermission
            dup
            aload 7 /* path */
            invokespecial com.sun.rmi.rmid.ExecPermission.<init>:(Ljava/lang/String;)V
            invokestatic sun.rmi.server.Activation$DefaultExecPolicy.checkPermission:(Ljava/security/PermissionCollection;Ljava/security/Permission;)V
        36: .line 1843
      StackMap locals: java.rmi.activation.ActivationGroupDesc$CommandEnvironment java.lang.String
      StackMap stack:
            aload 6 /* cmdenv */
            invokevirtual java.rmi.activation.ActivationGroupDesc$CommandEnvironment.getCommandOptions:()[Ljava/lang/String;
            astore 8 /* options */
        start local 8 // java.lang.String[] options
        37: .line 1844
            aload 8 /* options */
            ifnull 45
        38: .line 1845
            aload 8 /* options */
            dup
            astore 12
            arraylength
            istore 11
            iconst_0
            istore 10
            goto 44
      StackMap locals: sun.rmi.server.Activation$DefaultExecPolicy java.rmi.activation.ActivationGroupDesc java.lang.String[] java.security.PermissionCollection java.util.Properties java.lang.String java.rmi.activation.ActivationGroupDesc$CommandEnvironment java.lang.String java.lang.String[] top int int java.lang.String[]
      StackMap stack:
        39: aload 12
            iload 10
            aaload
            astore 9 /* option */
        start local 9 // java.lang.String option
        40: .line 1846
            aload 3 /* perms */
        41: .line 1847
            new com.sun.rmi.rmid.ExecOptionPermission
            dup
            aload 9 /* option */
            invokespecial com.sun.rmi.rmid.ExecOptionPermission.<init>:(Ljava/lang/String;)V
        42: .line 1846
            invokestatic sun.rmi.server.Activation$DefaultExecPolicy.checkPermission:(Ljava/security/PermissionCollection;Ljava/security/Permission;)V
        end local 9 // java.lang.String option
        43: .line 1845
            iinc 10 1
      StackMap locals:
      StackMap stack:
        44: iload 10
            iload 11
            if_icmplt 39
        end local 8 // java.lang.String[] options
        end local 7 // java.lang.String path
        45: .line 1851
      StackMap locals: sun.rmi.server.Activation$DefaultExecPolicy java.rmi.activation.ActivationGroupDesc java.lang.String[] java.security.PermissionCollection java.util.Properties java.lang.String java.rmi.activation.ActivationGroupDesc$CommandEnvironment
      StackMap stack:
            return
        end local 6 // java.rmi.activation.ActivationGroupDesc$CommandEnvironment cmdenv
        end local 5 // java.lang.String groupClassName
        end local 4 // java.util.Properties props
        end local 3 // java.security.PermissionCollection perms
        end local 2 // java.lang.String[] cmd
        end local 1 // java.rmi.activation.ActivationGroupDesc desc
        end local 0 // sun.rmi.server.Activation$DefaultExecPolicy this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   46     0            this  Lsun/rmi/server/Activation$DefaultExecPolicy;
            0   46     1            desc  Ljava/rmi/activation/ActivationGroupDesc;
            0   46     2             cmd  [Ljava/lang/String;
            1   46     3           perms  Ljava/security/PermissionCollection;
            2   46     4           props  Ljava/util/Properties;
            4   20     5               p  Ljava/util/Enumeration<*>;
            6   19     6            name  Ljava/lang/String;
            7   19     7           value  Ljava/lang/String;
            8   19     8          option  Ljava/lang/String;
           13   19     9               e  Ljava/security/AccessControlException;
           21   46     5  groupClassName  Ljava/lang/String;
           32   46     6          cmdenv  Ljava/rmi/activation/ActivationGroupDesc$CommandEnvironment;
           34   45     7            path  Ljava/lang/String;
           37   45     8         options  [Ljava/lang/String;
           40   43     9          option  Ljava/lang/String;
      Exception table:
        from    to  target  type
           8    11      12  Class java.security.AccessControlException
    Exceptions:
      throws java.lang.SecurityException
    MethodParameters:
      Name  Flags
      desc  
      cmd   

  static void checkConfiguration();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=4, args_size=0
         0: .line 1860
            new sun.rmi.server.Activation$DefaultExecPolicy$1
            dup
            invokespecial sun.rmi.server.Activation$DefaultExecPolicy$1.<init>:()V
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.security.Policy
         1: .line 1859
            astore 0 /* policy */
        start local 0 // java.security.Policy policy
         2: .line 1865
            aload 0 /* policy */
            instanceof sun.security.provider.PolicyFile
            ifne 4
         3: .line 1866
            return
         4: .line 1868
      StackMap locals: java.security.Policy
      StackMap stack:
            invokestatic sun.rmi.server.Activation$DefaultExecPolicy.getExecPermissions:()Ljava/security/PermissionCollection;
            astore 1 /* perms */
        start local 1 // java.security.PermissionCollection perms
         5: .line 1869
            aload 1 /* perms */
            invokevirtual java.security.PermissionCollection.elements:()Ljava/util/Enumeration;
            astore 2 /* e */
        start local 2 // java.util.Enumeration e
         6: .line 1870
            goto 12
         7: .line 1872
      StackMap locals: java.security.PermissionCollection java.util.Enumeration
      StackMap stack:
            aload 2 /* e */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast java.security.Permission
            astore 3 /* p */
        start local 3 // java.security.Permission p
         8: .line 1873
            aload 3 /* p */
            instanceof java.security.AllPermission
            ifne 11
         9: .line 1874
            aload 3 /* p */
            instanceof com.sun.rmi.rmid.ExecPermission
            ifne 11
        10: .line 1875
            aload 3 /* p */
            instanceof com.sun.rmi.rmid.ExecOptionPermission
            ifeq 12
        11: .line 1877
      StackMap locals: java.security.Permission
      StackMap stack:
            return
        end local 3 // java.security.Permission p
        12: .line 1870
      StackMap locals:
      StackMap stack:
            aload 2 /* e */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 7
        end local 2 // java.util.Enumeration e
        13: .line 1880
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            ldc "rmid.exec.perms.inadequate"
            invokestatic sun.rmi.server.Activation.getTextResource:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        14: .line 1881
            return
        end local 1 // java.security.PermissionCollection perms
        end local 0 // java.security.Policy policy
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            2   15     0  policy  Ljava/security/Policy;
            5   15     1   perms  Ljava/security/PermissionCollection;
            6   13     2       e  Ljava/util/Enumeration<Ljava/security/Permission;>;
            8   12     3       p  Ljava/security/Permission;

  private static java.security.PermissionCollection getExecPermissions();
    descriptor: ()Ljava/security/PermissionCollection;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=0
         0: .line 1892
            new sun.rmi.server.Activation$DefaultExecPolicy$2
            dup
            invokespecial sun.rmi.server.Activation$DefaultExecPolicy$2.<init>:()V
         1: .line 1891
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.security.PermissionCollection
            astore 0 /* perms */
        start local 0 // java.security.PermissionCollection perms
         2: .line 1905
            aload 0 /* perms */
            areturn
        end local 0 // java.security.PermissionCollection perms
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            2    3     0  perms  Ljava/security/PermissionCollection;

  private static void checkPermission(java.security.PermissionCollection, java.security.Permission);
    descriptor: (Ljava/security/PermissionCollection;Ljava/security/Permission;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // java.security.PermissionCollection perms
        start local 1 // java.security.Permission p
         0: .line 1912
            aload 0 /* perms */
            aload 1 /* p */
            invokevirtual java.security.PermissionCollection.implies:(Ljava/security/Permission;)Z
            ifne 4
         1: .line 1913
            new java.security.AccessControlException
            dup
         2: .line 1914
            new java.lang.StringBuilder
            dup
            ldc "access denied "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* p */
            invokevirtual java.security.Permission.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         3: .line 1913
            invokespecial java.security.AccessControlException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 1916
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.security.Permission p
        end local 0 // java.security.PermissionCollection perms
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0  perms  Ljava/security/PermissionCollection;
            0    5     1      p  Ljava/security/Permission;
    Exceptions:
      throws java.security.AccessControlException
    MethodParameters:
       Name  Flags
      perms  
      p      
}
SourceFile: "Activation.java"
NestHost: sun.rmi.server.Activation
InnerClasses:
  public CommandEnvironment = java.rmi.activation.ActivationGroupDesc$CommandEnvironment of java.rmi.activation.ActivationGroupDesc
  public DefaultExecPolicy = sun.rmi.server.Activation$DefaultExecPolicy of sun.rmi.server.Activation
  sun.rmi.server.Activation$DefaultExecPolicy$1
  sun.rmi.server.Activation$DefaultExecPolicy$2