public class javax.security.auth.SubjectDomainCombiner implements java.security.DomainCombiner
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: javax.security.auth.SubjectDomainCombiner
super_class: java.lang.Object
{
private javax.security.auth.Subject subject;
descriptor: Ljavax/security/auth/Subject;
flags: (0x0002) ACC_PRIVATE
private javax.security.auth.SubjectDomainCombiner$WeakKeyValueMap<java.security.ProtectionDomain, java.security.ProtectionDomain> cachedPDs;
descriptor: Ljavax/security/auth/SubjectDomainCombiner$WeakKeyValueMap;
flags: (0x0002) ACC_PRIVATE
Signature: Ljavax/security/auth/SubjectDomainCombiner$WeakKeyValueMap<Ljava/security/ProtectionDomain;Ljava/security/ProtectionDomain;>;
private java.util.Set<java.security.Principal> principalSet;
descriptor: Ljava/util/Set;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Set<Ljava/security/Principal;>;
private java.security.Principal[] principals;
descriptor: [Ljava/security/Principal;
flags: (0x0002) ACC_PRIVATE
private static final sun.security.util.Debug debug;
descriptor: Lsun/security/util/Debug;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final boolean useJavaxPolicy;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final boolean allowCaching;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: ldc "combiner"
1: ldc "\t[SubjectDomainCombiner]"
2: invokestatic sun.security.util.Debug.getInstance:(Ljava/lang/String;Ljava/lang/String;)Lsun/security/util/Debug;
3: putstatic javax.security.auth.SubjectDomainCombiner.debug:Lsun/security/util/Debug;
4: getstatic javax.security.auth.SubjectDomainCombiner.debug:Lsun/security/util/Debug;
invokestatic javax.security.auth.Policy.isCustomPolicySet:(Lsun/security/util/Debug;)Z
5: putstatic javax.security.auth.SubjectDomainCombiner.useJavaxPolicy:Z
6: getstatic javax.security.auth.SubjectDomainCombiner.useJavaxPolicy:Z
ifeq 8
invokestatic javax.security.auth.SubjectDomainCombiner.cachePolicy:()Z
ifeq 8
7: iconst_1
goto 9
StackMap locals:
StackMap stack:
8: iconst_0
StackMap locals:
StackMap stack: int
9: putstatic javax.security.auth.SubjectDomainCombiner.allowCaching:Z
10: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(javax.security.auth.Subject);
descriptor: (Ljavax/security/auth/Subject;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
2: new javax.security.auth.SubjectDomainCombiner$WeakKeyValueMap
dup
invokespecial javax.security.auth.SubjectDomainCombiner$WeakKeyValueMap.<init>:()V
putfield javax.security.auth.SubjectDomainCombiner.cachedPDs:Ljavax/security/auth/SubjectDomainCombiner$WeakKeyValueMap;
3: aload 0
aload 1
putfield javax.security.auth.SubjectDomainCombiner.subject:Ljavax/security/auth/Subject;
4: aload 1
invokevirtual javax.security.auth.Subject.isReadOnly:()Z
ifeq 9
5: aload 0
aload 1
invokevirtual javax.security.auth.Subject.getPrincipals:()Ljava/util/Set;
putfield javax.security.auth.SubjectDomainCombiner.principalSet:Ljava/util/Set;
6: aload 0
aload 0
getfield javax.security.auth.SubjectDomainCombiner.principalSet:Ljava/util/Set;
7: aload 0
getfield javax.security.auth.SubjectDomainCombiner.principalSet:Ljava/util/Set;
invokeinterface java.util.Set.size:()I
anewarray java.security.Principal
8: invokeinterface java.util.Set.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.security.Principal[]
putfield javax.security.auth.SubjectDomainCombiner.principals:[Ljava/security/Principal;
9: StackMap locals: javax.security.auth.SubjectDomainCombiner javax.security.auth.Subject
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljavax/security/auth/SubjectDomainCombiner;
0 10 1 subject Ljavax/security/auth/Subject;
MethodParameters:
Name Flags
subject
public javax.security.auth.Subject getSubject();
descriptor: ()Ljavax/security/auth/Subject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 1
start local 1 1: aload 1
ifnull 5
2: aload 1
new javax.security.auth.AuthPermission
dup
3: ldc "getSubjectFromDomainCombiner"
invokespecial javax.security.auth.AuthPermission.<init>:(Ljava/lang/String;)V
4: invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
5: StackMap locals: java.lang.SecurityManager
StackMap stack:
aload 0
getfield javax.security.auth.SubjectDomainCombiner.subject:Ljavax/security/auth/Subject;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljavax/security/auth/SubjectDomainCombiner;
1 6 1 sm Ljava/lang/SecurityManager;
public java.security.ProtectionDomain[] combine(java.security.ProtectionDomain[], java.security.ProtectionDomain[]);
descriptor: ([Ljava/security/ProtectionDomain;[Ljava/security/ProtectionDomain;)[Ljava/security/ProtectionDomain;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=11, args_size=3
start local 0 start local 1 start local 2 0: getstatic javax.security.auth.SubjectDomainCombiner.debug:Lsun/security/util/Debug;
ifnull 8
1: aload 0
getfield javax.security.auth.SubjectDomainCombiner.subject:Ljavax/security/auth/Subject;
ifnonnull 4
2: getstatic javax.security.auth.SubjectDomainCombiner.debug:Lsun/security/util/Debug;
ldc "null subject"
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
3: goto 7
4: StackMap locals:
StackMap stack:
aload 0
getfield javax.security.auth.SubjectDomainCombiner.subject:Ljavax/security/auth/Subject;
astore 3
start local 3 5: new javax.security.auth.SubjectDomainCombiner$1
dup
aload 0
aload 3
invokespecial javax.security.auth.SubjectDomainCombiner$1.<init>:(Ljavax/security/auth/SubjectDomainCombiner;Ljavax/security/auth/Subject;)V
6: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
pop
end local 3 7: StackMap locals:
StackMap stack:
aload 1
aload 2
invokestatic javax.security.auth.SubjectDomainCombiner.printInputDomains:([Ljava/security/ProtectionDomain;[Ljava/security/ProtectionDomain;)V
8: StackMap locals:
StackMap stack:
aload 1
ifnull 9
aload 1
arraylength
ifne 10
9: StackMap locals:
StackMap stack:
aload 2
areturn
10: StackMap locals:
StackMap stack:
aload 1
invokestatic javax.security.auth.SubjectDomainCombiner.optimize:([Ljava/security/ProtectionDomain;)[Ljava/security/ProtectionDomain;
astore 1
11: getstatic javax.security.auth.SubjectDomainCombiner.debug:Lsun/security/util/Debug;
ifnull 14
12: getstatic javax.security.auth.SubjectDomainCombiner.debug:Lsun/security/util/Debug;
ldc "after optimize"
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
13: aload 1
aload 2
invokestatic javax.security.auth.SubjectDomainCombiner.printInputDomains:([Ljava/security/ProtectionDomain;[Ljava/security/ProtectionDomain;)V
14: StackMap locals:
StackMap stack:
aload 1
ifnonnull 16
aload 2
ifnonnull 16
15: aconst_null
areturn
16: StackMap locals:
StackMap stack:
getstatic javax.security.auth.SubjectDomainCombiner.useJavaxPolicy:Z
ifeq 18
17: aload 0
aload 1
aload 2
invokevirtual javax.security.auth.SubjectDomainCombiner.combineJavaxPolicy:([Ljava/security/ProtectionDomain;[Ljava/security/ProtectionDomain;)[Ljava/security/ProtectionDomain;
areturn
18: StackMap locals:
StackMap stack:
aload 1
ifnonnull 19
iconst_0
goto 20
StackMap locals:
StackMap stack:
19: aload 1
arraylength
StackMap locals:
StackMap stack: int
20: istore 3
start local 3 21: aload 2
ifnonnull 22
iconst_0
goto 23
StackMap locals: int
StackMap stack:
22: aload 2
arraylength
StackMap locals:
StackMap stack: int
23: istore 4
start local 4 24: iload 3
iload 4
iadd
anewarray java.security.ProtectionDomain
astore 5
start local 5 25: iconst_1
istore 6
start local 6 26: aload 0
getfield javax.security.auth.SubjectDomainCombiner.cachedPDs:Ljavax/security/auth/SubjectDomainCombiner$WeakKeyValueMap;
dup
astore 7
monitorenter
27: aload 0
getfield javax.security.auth.SubjectDomainCombiner.subject:Ljavax/security/auth/Subject;
invokevirtual javax.security.auth.Subject.isReadOnly:()Z
ifne 42
28: aload 0
getfield javax.security.auth.SubjectDomainCombiner.subject:Ljavax/security/auth/Subject;
invokevirtual javax.security.auth.Subject.getPrincipals:()Ljava/util/Set;
aload 0
getfield javax.security.auth.SubjectDomainCombiner.principalSet:Ljava/util/Set;
invokeinterface java.util.Set.equals:(Ljava/lang/Object;)Z
ifne 42
29: aload 0
getfield javax.security.auth.SubjectDomainCombiner.subject:Ljavax/security/auth/Subject;
invokevirtual javax.security.auth.Subject.getPrincipals:()Ljava/util/Set;
astore 8
start local 8 30: aload 8
dup
astore 9
monitorenter
31: aload 0
new java.util.HashSet
dup
aload 8
invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
putfield javax.security.auth.SubjectDomainCombiner.principalSet:Ljava/util/Set;
32: aload 9
monitorexit
33: goto 36
StackMap locals: javax.security.auth.SubjectDomainCombiner java.security.ProtectionDomain[] java.security.ProtectionDomain[] int int java.security.ProtectionDomain[] int javax.security.auth.SubjectDomainCombiner$WeakKeyValueMap java.util.Set java.util.Set
StackMap stack: java.lang.Throwable
34: aload 9
monitorexit
35: athrow
36: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield javax.security.auth.SubjectDomainCombiner.principalSet:Ljava/util/Set;
37: aload 0
getfield javax.security.auth.SubjectDomainCombiner.principalSet:Ljava/util/Set;
invokeinterface java.util.Set.size:()I
anewarray java.security.Principal
38: invokeinterface java.util.Set.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.security.Principal[]
putfield javax.security.auth.SubjectDomainCombiner.principals:[Ljava/security/Principal;
39: aload 0
getfield javax.security.auth.SubjectDomainCombiner.cachedPDs:Ljavax/security/auth/SubjectDomainCombiner$WeakKeyValueMap;
invokevirtual javax.security.auth.SubjectDomainCombiner$WeakKeyValueMap.clear:()V
40: getstatic javax.security.auth.SubjectDomainCombiner.debug:Lsun/security/util/Debug;
ifnull 42
41: getstatic javax.security.auth.SubjectDomainCombiner.debug:Lsun/security/util/Debug;
ldc "Subject mutated - clearing cache"
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
end local 8 42: StackMap locals:
StackMap stack:
iconst_0
istore 9
start local 9 43: goto 60
44: StackMap locals: javax.security.auth.SubjectDomainCombiner java.security.ProtectionDomain[] java.security.ProtectionDomain[] int int java.security.ProtectionDomain[] int javax.security.auth.SubjectDomainCombiner$WeakKeyValueMap top int
StackMap stack:
aload 1
iload 9
aaload
astore 10
start local 10 45: aload 0
getfield javax.security.auth.SubjectDomainCombiner.cachedPDs:Ljavax/security/auth/SubjectDomainCombiner$WeakKeyValueMap;
aload 10
invokevirtual javax.security.auth.SubjectDomainCombiner$WeakKeyValueMap.getValue:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.security.ProtectionDomain
astore 8
start local 8 46: aload 8
ifnonnull 57
47: aload 10
invokevirtual java.security.ProtectionDomain.staticPermissionsOnly:()Z
ifeq 50
48: aload 10
astore 8
49: goto 55
50: StackMap locals: javax.security.auth.SubjectDomainCombiner java.security.ProtectionDomain[] java.security.ProtectionDomain[] int int java.security.ProtectionDomain[] int javax.security.auth.SubjectDomainCombiner$WeakKeyValueMap java.security.ProtectionDomain int java.security.ProtectionDomain
StackMap stack:
new java.security.ProtectionDomain
dup
aload 10
invokevirtual java.security.ProtectionDomain.getCodeSource:()Ljava/security/CodeSource;
51: aload 10
invokevirtual java.security.ProtectionDomain.getPermissions:()Ljava/security/PermissionCollection;
52: aload 10
invokevirtual java.security.ProtectionDomain.getClassLoader:()Ljava/lang/ClassLoader;
53: aload 0
getfield javax.security.auth.SubjectDomainCombiner.principals:[Ljava/security/Principal;
54: invokespecial java.security.ProtectionDomain.<init>:(Ljava/security/CodeSource;Ljava/security/PermissionCollection;Ljava/lang/ClassLoader;[Ljava/security/Principal;)V
astore 8
55: StackMap locals:
StackMap stack:
aload 0
getfield javax.security.auth.SubjectDomainCombiner.cachedPDs:Ljavax/security/auth/SubjectDomainCombiner$WeakKeyValueMap;
aload 10
aload 8
invokevirtual javax.security.auth.SubjectDomainCombiner$WeakKeyValueMap.putValue:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
56: goto 58
57: StackMap locals:
StackMap stack:
iconst_0
istore 6
58: StackMap locals:
StackMap stack:
aload 5
iload 9
aload 8
aastore
end local 10 59: iinc 9 1
end local 8 StackMap locals: javax.security.auth.SubjectDomainCombiner java.security.ProtectionDomain[] java.security.ProtectionDomain[] int int java.security.ProtectionDomain[] int javax.security.auth.SubjectDomainCombiner$WeakKeyValueMap top int
StackMap stack:
60: iload 9
iload 3
if_icmplt 44
end local 9 61: aload 7
monitorexit
62: goto 65
StackMap locals: javax.security.auth.SubjectDomainCombiner java.security.ProtectionDomain[] java.security.ProtectionDomain[] int int java.security.ProtectionDomain[] int javax.security.auth.SubjectDomainCombiner$WeakKeyValueMap
StackMap stack: java.lang.Throwable
63: aload 7
monitorexit
64: athrow
65: StackMap locals:
StackMap stack:
getstatic javax.security.auth.SubjectDomainCombiner.debug:Lsun/security/util/Debug;
ifnull 74
66: getstatic javax.security.auth.SubjectDomainCombiner.debug:Lsun/security/util/Debug;
ldc "updated current: "
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
67: iconst_0
istore 7
start local 7 68: goto 73
69: StackMap locals: int
StackMap stack:
getstatic javax.security.auth.SubjectDomainCombiner.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "\tupdated["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 7
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "] = "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
70: aload 5
iload 7
aaload
invokestatic javax.security.auth.SubjectDomainCombiner.printDomain:(Ljava/security/ProtectionDomain;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
71: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
72: iinc 7 1
StackMap locals:
StackMap stack:
73: iload 7
iload 3
if_icmplt 69
end local 7 74: StackMap locals:
StackMap stack:
iload 4
ifle 78
75: aload 2
iconst_0
aload 5
iload 3
iload 4
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
76: iload 6
ifne 78
77: aload 5
invokestatic javax.security.auth.SubjectDomainCombiner.optimize:([Ljava/security/ProtectionDomain;)[Ljava/security/ProtectionDomain;
astore 5
78: StackMap locals:
StackMap stack:
getstatic javax.security.auth.SubjectDomainCombiner.debug:Lsun/security/util/Debug;
ifnull 90
79: aload 5
ifnull 80
aload 5
arraylength
ifne 82
80: StackMap locals:
StackMap stack:
getstatic javax.security.auth.SubjectDomainCombiner.debug:Lsun/security/util/Debug;
ldc "returning null"
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
81: goto 90
82: StackMap locals:
StackMap stack:
getstatic javax.security.auth.SubjectDomainCombiner.debug:Lsun/security/util/Debug;
ldc "combinedDomains: "
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
83: iconst_0
istore 7
start local 7 84: goto 89
85: StackMap locals: int
StackMap stack:
getstatic javax.security.auth.SubjectDomainCombiner.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "newDomain "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 7
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
86: aload 5
iload 7
aaload
invokestatic javax.security.auth.SubjectDomainCombiner.printDomain:(Ljava/security/ProtectionDomain;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
87: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
88: iinc 7 1
StackMap locals:
StackMap stack:
89: iload 7
aload 5
arraylength
if_icmplt 85
end local 7 90: StackMap locals:
StackMap stack:
aload 5
ifnull 91
aload 5
arraylength
ifne 92
91: StackMap locals:
StackMap stack:
aconst_null
areturn
92: StackMap locals:
StackMap stack:
aload 5
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 93 0 this Ljavax/security/auth/SubjectDomainCombiner;
0 93 1 currentDomains [Ljava/security/ProtectionDomain;
0 93 2 assignedDomains [Ljava/security/ProtectionDomain;
5 7 3 s Ljavax/security/auth/Subject;
21 93 3 cLen I
24 93 4 aLen I
25 93 5 newDomains [Ljava/security/ProtectionDomain;
26 93 6 allNew Z
30 42 8 newSet Ljava/util/Set<Ljava/security/Principal;>;
46 60 8 subjectPd Ljava/security/ProtectionDomain;
43 61 9 i I
45 59 10 pd Ljava/security/ProtectionDomain;
68 74 7 i I
84 90 7 i I
Exception table:
from to target type
31 33 34 any
34 35 34 any
27 62 63 any
63 64 63 any
MethodParameters:
Name Flags
currentDomains
assignedDomains
private java.security.ProtectionDomain[] combineJavaxPolicy(java.security.ProtectionDomain[], java.security.ProtectionDomain[]);
descriptor: ([Ljava/security/ProtectionDomain;[Ljava/security/ProtectionDomain;)[Ljava/security/ProtectionDomain;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=18, args_size=3
start local 0 start local 1 start local 2 0: getstatic javax.security.auth.SubjectDomainCombiner.allowCaching:Z
ifne 3
1: new javax.security.auth.SubjectDomainCombiner$2
dup
aload 0
invokespecial javax.security.auth.SubjectDomainCombiner$2.<init>:(Ljavax/security/auth/SubjectDomainCombiner;)V
2: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
pop
3: StackMap locals:
StackMap stack:
aload 1
ifnonnull 4
iconst_0
goto 5
StackMap locals:
StackMap stack:
4: aload 1
arraylength
StackMap locals:
StackMap stack: int
5: istore 3
start local 3 6: aload 2
ifnonnull 7
iconst_0
goto 8
StackMap locals: int
StackMap stack:
7: aload 2
arraylength
StackMap locals:
StackMap stack: int
8: istore 4
start local 4 9: iload 3
iload 4
iadd
anewarray java.security.ProtectionDomain
astore 5
start local 5 10: aload 0
getfield javax.security.auth.SubjectDomainCombiner.cachedPDs:Ljavax/security/auth/SubjectDomainCombiner$WeakKeyValueMap;
dup
astore 6
monitorenter
11: aload 0
getfield javax.security.auth.SubjectDomainCombiner.subject:Ljavax/security/auth/Subject;
invokevirtual javax.security.auth.Subject.isReadOnly:()Z
ifne 26
12: aload 0
getfield javax.security.auth.SubjectDomainCombiner.subject:Ljavax/security/auth/Subject;
invokevirtual javax.security.auth.Subject.getPrincipals:()Ljava/util/Set;
aload 0
getfield javax.security.auth.SubjectDomainCombiner.principalSet:Ljava/util/Set;
invokeinterface java.util.Set.equals:(Ljava/lang/Object;)Z
ifne 26
13: aload 0
getfield javax.security.auth.SubjectDomainCombiner.subject:Ljavax/security/auth/Subject;
invokevirtual javax.security.auth.Subject.getPrincipals:()Ljava/util/Set;
astore 7
start local 7 14: aload 7
dup
astore 8
monitorenter
15: aload 0
new java.util.HashSet
dup
aload 7
invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
putfield javax.security.auth.SubjectDomainCombiner.principalSet:Ljava/util/Set;
16: aload 8
monitorexit
17: goto 20
StackMap locals: javax.security.auth.SubjectDomainCombiner java.security.ProtectionDomain[] java.security.ProtectionDomain[] int int java.security.ProtectionDomain[] javax.security.auth.SubjectDomainCombiner$WeakKeyValueMap java.util.Set java.util.Set
StackMap stack: java.lang.Throwable
18: aload 8
monitorexit
19: athrow
20: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield javax.security.auth.SubjectDomainCombiner.principalSet:Ljava/util/Set;
21: aload 0
getfield javax.security.auth.SubjectDomainCombiner.principalSet:Ljava/util/Set;
invokeinterface java.util.Set.size:()I
anewarray java.security.Principal
22: invokeinterface java.util.Set.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.security.Principal[]
putfield javax.security.auth.SubjectDomainCombiner.principals:[Ljava/security/Principal;
23: aload 0
getfield javax.security.auth.SubjectDomainCombiner.cachedPDs:Ljavax/security/auth/SubjectDomainCombiner$WeakKeyValueMap;
invokevirtual javax.security.auth.SubjectDomainCombiner$WeakKeyValueMap.clear:()V
24: getstatic javax.security.auth.SubjectDomainCombiner.debug:Lsun/security/util/Debug;
ifnull 26
25: getstatic javax.security.auth.SubjectDomainCombiner.debug:Lsun/security/util/Debug;
ldc "Subject mutated - clearing cache"
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
end local 7 26: StackMap locals:
StackMap stack:
iconst_0
istore 7
start local 7 27: goto 75
28: StackMap locals: int
StackMap stack:
aload 1
iload 7
aaload
astore 8
start local 8 29: aload 0
getfield javax.security.auth.SubjectDomainCombiner.cachedPDs:Ljavax/security/auth/SubjectDomainCombiner$WeakKeyValueMap;
aload 8
invokevirtual javax.security.auth.SubjectDomainCombiner$WeakKeyValueMap.getValue:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.security.ProtectionDomain
astore 9
start local 9 30: aload 9
ifnonnull 73
31: aload 8
invokevirtual java.security.ProtectionDomain.staticPermissionsOnly:()Z
ifeq 34
32: aload 8
astore 9
33: goto 71
34: StackMap locals: java.security.ProtectionDomain java.security.ProtectionDomain
StackMap stack:
new java.security.Permissions
dup
invokespecial java.security.Permissions.<init>:()V
astore 10
start local 10 35: aload 8
invokevirtual java.security.ProtectionDomain.getPermissions:()Ljava/security/PermissionCollection;
astore 11
start local 11 36: aload 11
ifnull 48
37: aload 11
dup
astore 13
monitorenter
38: aload 11
invokevirtual java.security.PermissionCollection.elements:()Ljava/util/Enumeration;
astore 12
start local 12 39: goto 43
40: StackMap locals: javax.security.auth.SubjectDomainCombiner java.security.ProtectionDomain[] java.security.ProtectionDomain[] int int java.security.ProtectionDomain[] javax.security.auth.SubjectDomainCombiner$WeakKeyValueMap int java.security.ProtectionDomain java.security.ProtectionDomain java.security.Permissions java.security.PermissionCollection java.util.Enumeration java.security.PermissionCollection
StackMap stack:
aload 12
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast java.security.Permission
41: astore 14
start local 14 42: aload 10
aload 14
invokevirtual java.security.Permissions.add:(Ljava/security/Permission;)V
end local 14 43: StackMap locals:
StackMap stack:
aload 12
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 40
44: aload 13
monitorexit
45: goto 48
end local 12 StackMap locals: javax.security.auth.SubjectDomainCombiner java.security.ProtectionDomain[] java.security.ProtectionDomain[] int int java.security.ProtectionDomain[] javax.security.auth.SubjectDomainCombiner$WeakKeyValueMap int java.security.ProtectionDomain java.security.ProtectionDomain java.security.Permissions java.security.PermissionCollection top java.security.PermissionCollection
StackMap stack: java.lang.Throwable
46: aload 13
monitorexit
47: athrow
48: StackMap locals: javax.security.auth.SubjectDomainCombiner java.security.ProtectionDomain[] java.security.ProtectionDomain[] int int java.security.ProtectionDomain[] javax.security.auth.SubjectDomainCombiner$WeakKeyValueMap int java.security.ProtectionDomain java.security.ProtectionDomain java.security.Permissions java.security.PermissionCollection
StackMap stack:
aload 8
invokevirtual java.security.ProtectionDomain.getCodeSource:()Ljava/security/CodeSource;
astore 13
start local 13 49: aload 0
getfield javax.security.auth.SubjectDomainCombiner.subject:Ljavax/security/auth/Subject;
astore 14
start local 14 50: new javax.security.auth.SubjectDomainCombiner$3
dup
aload 0
aload 14
aload 13
invokespecial javax.security.auth.SubjectDomainCombiner$3.<init>:(Ljavax/security/auth/SubjectDomainCombiner;Ljavax/security/auth/Subject;Ljava/security/CodeSource;)V
51: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.security.PermissionCollection
52: astore 15
start local 15 53: aload 15
dup
astore 16
monitorenter
54: aload 15
invokevirtual java.security.PermissionCollection.elements:()Ljava/util/Enumeration;
astore 12
start local 12 55: goto 63
56: StackMap locals: javax.security.auth.SubjectDomainCombiner java.security.ProtectionDomain[] java.security.ProtectionDomain[] int int java.security.ProtectionDomain[] javax.security.auth.SubjectDomainCombiner$WeakKeyValueMap int java.security.ProtectionDomain java.security.ProtectionDomain java.security.Permissions java.security.PermissionCollection java.util.Enumeration java.security.CodeSource javax.security.auth.Subject java.security.PermissionCollection java.security.PermissionCollection
StackMap stack:
aload 12
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast java.security.Permission
astore 17
start local 17 57: aload 10
aload 17
invokevirtual java.security.Permissions.implies:(Ljava/security/Permission;)Z
ifne 63
58: aload 10
aload 17
invokevirtual java.security.Permissions.add:(Ljava/security/Permission;)V
59: getstatic javax.security.auth.SubjectDomainCombiner.debug:Lsun/security/util/Debug;
ifnull 63
60: getstatic javax.security.auth.SubjectDomainCombiner.debug:Lsun/security/util/Debug;
61: new java.lang.StringBuilder
dup
ldc "Adding perm "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 17
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
62: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
end local 17 63: StackMap locals:
StackMap stack:
aload 12
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 56
64: aload 16
monitorexit
65: goto 68
end local 12 StackMap locals: javax.security.auth.SubjectDomainCombiner java.security.ProtectionDomain[] java.security.ProtectionDomain[] int int java.security.ProtectionDomain[] javax.security.auth.SubjectDomainCombiner$WeakKeyValueMap int java.security.ProtectionDomain java.security.ProtectionDomain java.security.Permissions java.security.PermissionCollection top java.security.CodeSource javax.security.auth.Subject java.security.PermissionCollection java.security.PermissionCollection
StackMap stack: java.lang.Throwable
66: aload 16
monitorexit
67: athrow
start local 12 68: StackMap locals: javax.security.auth.SubjectDomainCombiner java.security.ProtectionDomain[] java.security.ProtectionDomain[] int int java.security.ProtectionDomain[] javax.security.auth.SubjectDomainCombiner$WeakKeyValueMap int java.security.ProtectionDomain java.security.ProtectionDomain java.security.Permissions java.security.PermissionCollection java.util.Enumeration java.security.CodeSource javax.security.auth.Subject java.security.PermissionCollection
StackMap stack:
new java.security.ProtectionDomain
dup
69: aload 13
aload 10
aload 8
invokevirtual java.security.ProtectionDomain.getClassLoader:()Ljava/lang/ClassLoader;
aload 0
getfield javax.security.auth.SubjectDomainCombiner.principals:[Ljava/security/Principal;
70: invokespecial java.security.ProtectionDomain.<init>:(Ljava/security/CodeSource;Ljava/security/PermissionCollection;Ljava/lang/ClassLoader;[Ljava/security/Principal;)V
astore 9
end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 71: StackMap locals: javax.security.auth.SubjectDomainCombiner java.security.ProtectionDomain[] java.security.ProtectionDomain[] int int java.security.ProtectionDomain[] javax.security.auth.SubjectDomainCombiner$WeakKeyValueMap int java.security.ProtectionDomain java.security.ProtectionDomain
StackMap stack:
getstatic javax.security.auth.SubjectDomainCombiner.allowCaching:Z
ifeq 73
72: aload 0
getfield javax.security.auth.SubjectDomainCombiner.cachedPDs:Ljavax/security/auth/SubjectDomainCombiner$WeakKeyValueMap;
aload 8
aload 9
invokevirtual javax.security.auth.SubjectDomainCombiner$WeakKeyValueMap.putValue:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
73: StackMap locals:
StackMap stack:
aload 5
iload 7
aload 9
aastore
end local 9 end local 8 74: iinc 7 1
StackMap locals:
StackMap stack:
75: iload 7
iload 3
if_icmplt 28
end local 7 76: aload 6
monitorexit
77: goto 80
StackMap locals: javax.security.auth.SubjectDomainCombiner java.security.ProtectionDomain[] java.security.ProtectionDomain[] int int java.security.ProtectionDomain[] javax.security.auth.SubjectDomainCombiner$WeakKeyValueMap
StackMap stack: java.lang.Throwable
78: aload 6
monitorexit
79: athrow
80: StackMap locals:
StackMap stack:
getstatic javax.security.auth.SubjectDomainCombiner.debug:Lsun/security/util/Debug;
ifnull 87
81: getstatic javax.security.auth.SubjectDomainCombiner.debug:Lsun/security/util/Debug;
ldc "updated current: "
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
82: iconst_0
istore 6
start local 6 83: goto 86
84: StackMap locals: int
StackMap stack:
getstatic javax.security.auth.SubjectDomainCombiner.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "\tupdated["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 6
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "] = "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 5
iload 6
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
85: iinc 6 1
StackMap locals:
StackMap stack:
86: iload 6
iload 3
if_icmplt 84
end local 6 87: StackMap locals:
StackMap stack:
iload 4
ifle 89
88: aload 2
iconst_0
aload 5
iload 3
iload 4
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
89: StackMap locals:
StackMap stack:
getstatic javax.security.auth.SubjectDomainCombiner.debug:Lsun/security/util/Debug;
ifnull 101
90: aload 5
ifnull 91
aload 5
arraylength
ifne 93
91: StackMap locals:
StackMap stack:
getstatic javax.security.auth.SubjectDomainCombiner.debug:Lsun/security/util/Debug;
ldc "returning null"
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
92: goto 101
93: StackMap locals:
StackMap stack:
getstatic javax.security.auth.SubjectDomainCombiner.debug:Lsun/security/util/Debug;
ldc "combinedDomains: "
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
94: iconst_0
istore 6
start local 6 95: goto 100
96: StackMap locals: int
StackMap stack:
getstatic javax.security.auth.SubjectDomainCombiner.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "newDomain "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 6
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
97: aload 5
iload 6
aaload
invokevirtual java.security.ProtectionDomain.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
98: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
99: iinc 6 1
StackMap locals:
StackMap stack:
100: iload 6
aload 5
arraylength
if_icmplt 96
end local 6 101: StackMap locals:
StackMap stack:
aload 5
ifnull 102
aload 5
arraylength
ifne 103
102: StackMap locals:
StackMap stack:
aconst_null
areturn
103: StackMap locals:
StackMap stack:
aload 5
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 104 0 this Ljavax/security/auth/SubjectDomainCombiner;
0 104 1 currentDomains [Ljava/security/ProtectionDomain;
0 104 2 assignedDomains [Ljava/security/ProtectionDomain;
6 104 3 cLen I
9 104 4 aLen I
10 104 5 newDomains [Ljava/security/ProtectionDomain;
14 26 7 newSet Ljava/util/Set<Ljava/security/Principal;>;
27 76 7 i I
29 74 8 pd Ljava/security/ProtectionDomain;
30 74 9 subjectPd Ljava/security/ProtectionDomain;
35 71 10 perms Ljava/security/Permissions;
36 71 11 coll Ljava/security/PermissionCollection;
39 46 12 e Ljava/util/Enumeration<Ljava/security/Permission;>;
55 66 12 e Ljava/util/Enumeration<Ljava/security/Permission;>;
68 71 12 e Ljava/util/Enumeration<Ljava/security/Permission;>;
42 43 14 newPerm Ljava/security/Permission;
49 71 13 finalCs Ljava/security/CodeSource;
50 71 14 finalS Ljavax/security/auth/Subject;
53 71 15 newPerms Ljava/security/PermissionCollection;
57 63 17 newPerm Ljava/security/Permission;
83 87 6 i I
95 101 6 i I
Exception table:
from to target type
15 17 18 any
18 19 18 any
38 45 46 any
46 47 46 any
54 65 66 any
66 67 66 any
11 77 78 any
78 79 78 any
MethodParameters:
Name Flags
currentDomains
assignedDomains
private static java.security.ProtectionDomain[] optimize(java.security.ProtectionDomain[]);
descriptor: ([Ljava/security/ProtectionDomain;)[Ljava/security/ProtectionDomain;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=7, args_size=1
start local 0 0: aload 0
ifnull 1
aload 0
arraylength
ifne 2
1: StackMap locals:
StackMap stack:
aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
arraylength
anewarray java.security.ProtectionDomain
astore 1
start local 1 3: iconst_0
istore 3
start local 3 4: iconst_0
istore 4
start local 4 5: goto 19
6: StackMap locals: java.security.ProtectionDomain[] java.security.ProtectionDomain[] top int int
StackMap stack:
aload 0
iload 4
aaload
dup
astore 2
start local 2 7: ifnull 18
8: iconst_0
istore 5
start local 5 9: iconst_0
istore 6
start local 6 10: goto 15
11: StackMap locals: java.security.ProtectionDomain[] java.security.ProtectionDomain[] java.security.ProtectionDomain int int int int
StackMap stack:
aload 1
iload 6
aaload
aload 2
if_acmpne 12
iconst_1
goto 13
StackMap locals:
StackMap stack:
12: iconst_0
StackMap locals:
StackMap stack: int
13: istore 5
14: iinc 6 1
StackMap locals:
StackMap stack:
15: iload 6
iload 3
if_icmpge 16
iload 5
ifeq 11
end local 6 16: StackMap locals:
StackMap stack:
iload 5
ifne 18
17: aload 1
iload 3
iinc 3 1
aload 2
aastore
end local 5 18: StackMap locals:
StackMap stack:
iinc 4 1
end local 2 StackMap locals: java.security.ProtectionDomain[] java.security.ProtectionDomain[] top int int
StackMap stack:
19: iload 4
aload 0
arraylength
if_icmplt 6
end local 4 20: iload 3
ifle 24
iload 3
aload 0
arraylength
if_icmpge 24
21: iload 3
anewarray java.security.ProtectionDomain
astore 4
start local 4 22: aload 1
iconst_0
aload 4
iconst_0
aload 4
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
23: aload 4
astore 1
end local 4 24: StackMap locals:
StackMap stack:
iload 3
ifeq 25
aload 1
arraylength
ifne 26
StackMap locals:
StackMap stack:
25: aconst_null
goto 27
StackMap locals:
StackMap stack:
26: aload 1
StackMap locals:
StackMap stack: java.security.ProtectionDomain[]
27: areturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 domains [Ljava/security/ProtectionDomain;
3 28 1 optimized [Ljava/security/ProtectionDomain;
7 19 2 pd Ljava/security/ProtectionDomain;
4 28 3 num I
5 20 4 i I
9 18 5 found Z
10 16 6 j I
22 24 4 downSize [Ljava/security/ProtectionDomain;
MethodParameters:
Name Flags
domains
private static boolean cachePolicy();
descriptor: ()Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=0
0: new javax.security.auth.SubjectDomainCombiner$4
dup
invokespecial javax.security.auth.SubjectDomainCombiner$4.<init>:()V
1: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.String
astore 0
start local 0 2: aload 0
ifnull 4
3: aload 0
invokestatic java.lang.Boolean.parseBoolean:(Ljava/lang/String;)Z
ireturn
4: StackMap locals: java.lang.String
StackMap stack:
iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
2 5 0 s Ljava/lang/String;
private static void printInputDomains(java.security.ProtectionDomain[], java.security.ProtectionDomain[]);
descriptor: ([Ljava/security/ProtectionDomain;[Ljava/security/ProtectionDomain;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
ifnull 1
aload 0
arraylength
ifne 3
1: StackMap locals:
StackMap stack:
getstatic javax.security.auth.SubjectDomainCombiner.debug:Lsun/security/util/Debug;
ldc "currentDomains null or 0 length"
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
2: goto 15
3: StackMap locals:
StackMap stack:
iconst_0
istore 2
start local 2 4: goto 12
5: StackMap locals: int
StackMap stack:
aload 0
iload 2
aaload
ifnonnull 8
6: getstatic javax.security.auth.SubjectDomainCombiner.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "currentDomain "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ": SystemDomain"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
7: goto 11
8: StackMap locals:
StackMap stack:
getstatic javax.security.auth.SubjectDomainCombiner.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "currentDomain "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
9: aload 0
iload 2
aaload
invokestatic javax.security.auth.SubjectDomainCombiner.printDomain:(Ljava/security/ProtectionDomain;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
10: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
11: StackMap locals:
StackMap stack:
iinc 2 1
12: StackMap locals:
StackMap stack:
aload 0
ifnull 15
13: iload 2
aload 0
arraylength
14: if_icmplt 5
end local 2 15: StackMap locals:
StackMap stack:
aload 1
ifnull 16
aload 1
arraylength
ifne 18
16: StackMap locals:
StackMap stack:
getstatic javax.security.auth.SubjectDomainCombiner.debug:Lsun/security/util/Debug;
ldc "assignedDomains null or 0 length"
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
17: goto 31
18: StackMap locals:
StackMap stack:
getstatic javax.security.auth.SubjectDomainCombiner.debug:Lsun/security/util/Debug;
ldc "assignedDomains = "
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
19: iconst_0
istore 2
start local 2 20: goto 28
21: StackMap locals: int
StackMap stack:
aload 1
iload 2
aaload
ifnonnull 24
22: getstatic javax.security.auth.SubjectDomainCombiner.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "assignedDomain "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ": SystemDomain"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
23: goto 27
24: StackMap locals:
StackMap stack:
getstatic javax.security.auth.SubjectDomainCombiner.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "assignedDomain "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
25: aload 1
iload 2
aaload
invokestatic javax.security.auth.SubjectDomainCombiner.printDomain:(Ljava/security/ProtectionDomain;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
26: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
27: StackMap locals:
StackMap stack:
iinc 2 1
28: StackMap locals:
StackMap stack:
aload 1
ifnull 31
29: iload 2
aload 1
arraylength
30: if_icmplt 21
end local 2 31: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 32 0 currentDomains [Ljava/security/ProtectionDomain;
0 32 1 assignedDomains [Ljava/security/ProtectionDomain;
4 15 2 i I
20 31 2 i I
MethodParameters:
Name Flags
currentDomains
assignedDomains
private static java.lang.String printDomain(java.security.ProtectionDomain);
descriptor: (Ljava/security/ProtectionDomain;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
ifnonnull 2
1: ldc "null"
areturn
2: StackMap locals:
StackMap stack:
new javax.security.auth.SubjectDomainCombiner$5
dup
aload 0
invokespecial javax.security.auth.SubjectDomainCombiner$5.<init>:(Ljava/security/ProtectionDomain;)V
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.String
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 pd Ljava/security/ProtectionDomain;
MethodParameters:
Name Flags
pd final
}
SourceFile: "SubjectDomainCombiner.java"
NestMembers:
javax.security.auth.SubjectDomainCombiner$1 javax.security.auth.SubjectDomainCombiner$2 javax.security.auth.SubjectDomainCombiner$3 javax.security.auth.SubjectDomainCombiner$4 javax.security.auth.SubjectDomainCombiner$5 javax.security.auth.SubjectDomainCombiner$WeakKeyValueMap
InnerClasses:
javax.security.auth.SubjectDomainCombiner$1
javax.security.auth.SubjectDomainCombiner$2
javax.security.auth.SubjectDomainCombiner$3
javax.security.auth.SubjectDomainCombiner$4
javax.security.auth.SubjectDomainCombiner$5
private WeakKeyValueMap = javax.security.auth.SubjectDomainCombiner$WeakKeyValueMap of javax.security.auth.SubjectDomainCombiner