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
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: 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:
aload 1
ifnonnull 17
iconst_0
goto 18
StackMap locals:
StackMap stack:
17: aload 1
arraylength
StackMap locals:
StackMap stack: int
18: istore 3
start local 3 19: aload 2
ifnonnull 20
iconst_0
goto 21
StackMap locals: int
StackMap stack:
20: aload 2
arraylength
StackMap locals:
StackMap stack: int
21: istore 4
start local 4 22: iload 3
iload 4
iadd
anewarray java.security.ProtectionDomain
astore 5
start local 5 23: iconst_1
istore 6
start local 6 24: aload 0
getfield javax.security.auth.SubjectDomainCombiner.cachedPDs:Ljavax/security/auth/SubjectDomainCombiner$WeakKeyValueMap;
dup
astore 7
monitorenter
25: aload 0
getfield javax.security.auth.SubjectDomainCombiner.subject:Ljavax/security/auth/Subject;
invokevirtual javax.security.auth.Subject.isReadOnly:()Z
ifne 40
26: 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 40
27: 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 28: aload 8
dup
astore 9
monitorenter
29: 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;
30: aload 9
monitorexit
31: goto 34
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
32: aload 9
monitorexit
33: athrow
34: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield javax.security.auth.SubjectDomainCombiner.principalSet:Ljava/util/Set;
35: aload 0
getfield javax.security.auth.SubjectDomainCombiner.principalSet:Ljava/util/Set;
invokeinterface java.util.Set.size:()I
anewarray java.security.Principal
36: invokeinterface java.util.Set.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.security.Principal[]
putfield javax.security.auth.SubjectDomainCombiner.principals:[Ljava/security/Principal;
37: aload 0
getfield javax.security.auth.SubjectDomainCombiner.cachedPDs:Ljavax/security/auth/SubjectDomainCombiner$WeakKeyValueMap;
invokevirtual javax.security.auth.SubjectDomainCombiner$WeakKeyValueMap.clear:()V
38: getstatic javax.security.auth.SubjectDomainCombiner.debug:Lsun/security/util/Debug;
ifnull 40
39: 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 40: StackMap locals:
StackMap stack:
iconst_0
istore 9
start local 9 41: goto 58
42: 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 43: 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 44: aload 8
ifnonnull 55
45: aload 10
invokevirtual java.security.ProtectionDomain.staticPermissionsOnly:()Z
ifeq 48
46: aload 10
astore 8
47: goto 53
48: 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;
49: aload 10
invokevirtual java.security.ProtectionDomain.getPermissions:()Ljava/security/PermissionCollection;
50: aload 10
invokevirtual java.security.ProtectionDomain.getClassLoader:()Ljava/lang/ClassLoader;
51: aload 0
getfield javax.security.auth.SubjectDomainCombiner.principals:[Ljava/security/Principal;
52: invokespecial java.security.ProtectionDomain.<init>:(Ljava/security/CodeSource;Ljava/security/PermissionCollection;Ljava/lang/ClassLoader;[Ljava/security/Principal;)V
astore 8
53: 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
54: goto 56
55: StackMap locals:
StackMap stack:
iconst_0
istore 6
56: StackMap locals:
StackMap stack:
aload 5
iload 9
aload 8
aastore
end local 10 57: 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:
58: iload 9
iload 3
if_icmplt 42
end local 9 59: aload 7
monitorexit
60: goto 63
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
61: aload 7
monitorexit
62: athrow
63: StackMap locals:
StackMap stack:
getstatic javax.security.auth.SubjectDomainCombiner.debug:Lsun/security/util/Debug;
ifnull 72
64: getstatic javax.security.auth.SubjectDomainCombiner.debug:Lsun/security/util/Debug;
ldc "updated current: "
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
65: iconst_0
istore 7
start local 7 66: goto 71
67: 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;
68: 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;
69: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
70: iinc 7 1
StackMap locals:
StackMap stack:
71: iload 7
iload 3
if_icmplt 67
end local 7 72: StackMap locals:
StackMap stack:
iload 4
ifle 76
73: aload 2
iconst_0
aload 5
iload 3
iload 4
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
74: iload 6
ifne 76
75: aload 5
invokestatic javax.security.auth.SubjectDomainCombiner.optimize:([Ljava/security/ProtectionDomain;)[Ljava/security/ProtectionDomain;
astore 5
76: StackMap locals:
StackMap stack:
getstatic javax.security.auth.SubjectDomainCombiner.debug:Lsun/security/util/Debug;
ifnull 88
77: aload 5
ifnull 78
aload 5
arraylength
ifne 80
78: 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
79: goto 88
80: 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
81: iconst_0
istore 7
start local 7 82: goto 87
83: 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;
84: 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;
85: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
86: iinc 7 1
StackMap locals:
StackMap stack:
87: iload 7
aload 5
arraylength
if_icmplt 83
end local 7 88: StackMap locals:
StackMap stack:
aload 5
ifnull 89
aload 5
arraylength
ifne 90
89: StackMap locals:
StackMap stack:
aconst_null
areturn
90: 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 91 0 this Ljavax/security/auth/SubjectDomainCombiner;
0 91 1 currentDomains [Ljava/security/ProtectionDomain;
0 91 2 assignedDomains [Ljava/security/ProtectionDomain;
5 7 3 s Ljavax/security/auth/Subject;
19 91 3 cLen I
22 91 4 aLen I
23 91 5 newDomains [Ljava/security/ProtectionDomain;
24 91 6 allNew Z
28 40 8 newSet Ljava/util/Set<Ljava/security/Principal;>;
44 58 8 subjectPd Ljava/security/ProtectionDomain;
41 59 9 i I
43 57 10 pd Ljava/security/ProtectionDomain;
66 72 7 i I
82 88 7 i I
Exception table:
from to target type
29 31 32 any
32 33 32 any
25 60 61 any
61 62 61 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 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$2
dup
aload 0
invokespecial javax.security.auth.SubjectDomainCombiner$2.<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$WeakKeyValueMap
InnerClasses:
javax.security.auth.SubjectDomainCombiner$1
javax.security.auth.SubjectDomainCombiner$2
private WeakKeyValueMap = javax.security.auth.SubjectDomainCombiner$WeakKeyValueMap of javax.security.auth.SubjectDomainCombiner