class org.apache.cassandra.security.ThreadAwareSecurityManager$2 extends java.security.Policy
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.apache.cassandra.security.ThreadAwareSecurityManager$2
  super_class: java.security.Policy
{
  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.security.ThreadAwareSecurityManager$2 this
         0: .line 93
            aload 0 /* this */
            invokespecial java.security.Policy.<init>:()V
            return
        end local 0 // org.apache.cassandra.security.ThreadAwareSecurityManager$2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/security/ThreadAwareSecurityManager$2;

  public java.security.PermissionCollection getPermissions(java.security.CodeSource);
    descriptor: (Ljava/security/CodeSource;)Ljava/security/PermissionCollection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.apache.cassandra.security.ThreadAwareSecurityManager$2 this
        start local 1 // java.security.CodeSource codesource
         0: .line 99
            new java.security.Permissions
            dup
            invokespecial java.security.Permissions.<init>:()V
            astore 2 /* perms */
        start local 2 // java.security.Permissions perms
         1: .line 101
            aload 1 /* codesource */
            ifnull 2
            aload 1 /* codesource */
            invokevirtual java.security.CodeSource.getLocation:()Ljava/net/URL;
            ifnonnull 3
         2: .line 102
      StackMap locals: java.security.Permissions
      StackMap stack:
            aload 2 /* perms */
            areturn
         3: .line 104
      StackMap locals:
      StackMap stack:
            aload 1 /* codesource */
            invokevirtual java.security.CodeSource.getLocation:()Ljava/net/URL;
            invokevirtual java.net.URL.getProtocol:()Ljava/lang/String;
            dup
            astore 3
            invokevirtual java.lang.String.hashCode:()I
            lookupswitch { // 1
              3143036: 4
              default: 7
          }
      StackMap locals: java.lang.String
      StackMap stack:
         4: aload 3
            ldc "file"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 5
            goto 7
         5: .line 109
      StackMap locals:
      StackMap stack:
            aload 2 /* perms */
            new java.security.AllPermission
            dup
            invokespecial java.security.AllPermission.<init>:()V
            invokevirtual java.security.Permissions.add:(Ljava/security/Permission;)V
         6: .line 110
            aload 2 /* perms */
            areturn
         7: .line 113
      StackMap locals:
      StackMap stack:
            aload 2 /* perms */
            areturn
        end local 2 // java.security.Permissions perms
        end local 1 // java.security.CodeSource codesource
        end local 0 // org.apache.cassandra.security.ThreadAwareSecurityManager$2 this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    8     0        this  Lorg/apache/cassandra/security/ThreadAwareSecurityManager$2;
            0    8     1  codesource  Ljava/security/CodeSource;
            1    8     2       perms  Ljava/security/Permissions;
    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 // org.apache.cassandra.security.ThreadAwareSecurityManager$2 this
        start local 1 // java.security.ProtectionDomain domain
         0: .line 118
            aload 0 /* this */
            aload 1 /* domain */
            invokevirtual java.security.ProtectionDomain.getCodeSource:()Ljava/security/CodeSource;
            invokevirtual org.apache.cassandra.security.ThreadAwareSecurityManager$2.getPermissions:(Ljava/security/CodeSource;)Ljava/security/PermissionCollection;
            areturn
        end local 1 // java.security.ProtectionDomain domain
        end local 0 // org.apache.cassandra.security.ThreadAwareSecurityManager$2 this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/apache/cassandra/security/ThreadAwareSecurityManager$2;
            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=2, locals=5, args_size=3
        start local 0 // org.apache.cassandra.security.ThreadAwareSecurityManager$2 this
        start local 1 // java.security.ProtectionDomain domain
        start local 2 // java.security.Permission permission
         0: .line 123
            aload 1 /* domain */
            invokevirtual java.security.ProtectionDomain.getCodeSource:()Ljava/security/CodeSource;
            astore 3 /* codesource */
        start local 3 // java.security.CodeSource codesource
         1: .line 124
            aload 3 /* codesource */
            ifnull 2
            aload 3 /* codesource */
            invokevirtual java.security.CodeSource.getLocation:()Ljava/net/URL;
            ifnonnull 3
         2: .line 125
      StackMap locals: java.security.CodeSource
      StackMap stack:
            iconst_0
            ireturn
         3: .line 127
      StackMap locals:
      StackMap stack:
            aload 3 /* codesource */
            invokevirtual java.security.CodeSource.getLocation:()Ljava/net/URL;
            invokevirtual java.net.URL.getProtocol:()Ljava/lang/String;
            dup
            astore 4
            invokevirtual java.lang.String.hashCode:()I
            lookupswitch { // 1
              3143036: 4
              default: 6
          }
      StackMap locals: java.lang.String
      StackMap stack:
         4: aload 4
            ldc "file"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 5
            goto 6
         5: .line 132
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         6: .line 135
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 3 // java.security.CodeSource codesource
        end local 2 // java.security.Permission permission
        end local 1 // java.security.ProtectionDomain domain
        end local 0 // org.apache.cassandra.security.ThreadAwareSecurityManager$2 this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0        this  Lorg/apache/cassandra/security/ThreadAwareSecurityManager$2;
            0    7     1      domain  Ljava/security/ProtectionDomain;
            0    7     2  permission  Ljava/security/Permission;
            1    7     3  codesource  Ljava/security/CodeSource;
    MethodParameters:
            Name  Flags
      domain      
      permission  
}
SourceFile: "ThreadAwareSecurityManager.java"
EnclosingMethod: org.apache.cassandra.security.ThreadAwareSecurityManager
NestHost: org.apache.cassandra.security.ThreadAwareSecurityManager
InnerClasses:
  org.apache.cassandra.security.ThreadAwareSecurityManager$2