class javax.security.auth.Subject$SecureSet$1 implements java.util.Iterator<E>
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: javax.security.auth.Subject$SecureSet$1
super_class: java.lang.Object
{
java.util.ListIterator<E> i;
descriptor: Ljava/util/ListIterator;
flags: (0x0000)
Signature: Ljava/util/ListIterator<TE;>;
final javax.security.auth.Subject$SecureSet this$1;
descriptor: Ljavax/security/auth/Subject$SecureSet;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
private final java.util.LinkedList val$list;
descriptor: Ljava/util/LinkedList;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
void <init>(javax.security.auth.Subject$SecureSet, java.util.LinkedList);
descriptor: (Ljavax/security/auth/Subject$SecureSet;Ljava/util/LinkedList;)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=3
start local 0 0: aload 0
aload 1
putfield javax.security.auth.Subject$SecureSet$1.this$1:Ljavax/security/auth/Subject$SecureSet;
aload 0
aload 2
putfield javax.security.auth.Subject$SecureSet$1.val$list:Ljava/util/LinkedList;
aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 2
iconst_0
invokevirtual java.util.LinkedList.listIterator:(I)Ljava/util/ListIterator;
putfield javax.security.auth.Subject$SecureSet$1.i:Ljava/util/ListIterator;
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljavax/security/auth/Subject$SecureSet$1;
MethodParameters:
Name Flags
this$0 final
val$list final
public boolean hasNext();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield javax.security.auth.Subject$SecureSet$1.i:Ljava/util/ListIterator;
invokeinterface java.util.ListIterator.hasNext:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljavax/security/auth/Subject$SecureSet$1;
public E next();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=1
start local 0 0: aload 0
getfield javax.security.auth.Subject$SecureSet$1.this$1:Ljavax/security/auth/Subject$SecureSet;
getfield javax.security.auth.Subject$SecureSet.which:I
iconst_3
if_icmpeq 2
1: aload 0
getfield javax.security.auth.Subject$SecureSet$1.i:Ljava/util/ListIterator;
invokeinterface java.util.ListIterator.next:()Ljava/lang/Object;
areturn
2: StackMap locals:
StackMap stack:
invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 1
start local 1 3: aload 1
ifnull 12
4: aload 1
new javax.security.auth.PrivateCredentialPermission
dup
5: aload 0
getfield javax.security.auth.Subject$SecureSet$1.val$list:Ljava/util/LinkedList;
aload 0
getfield javax.security.auth.Subject$SecureSet$1.i:Ljava/util/ListIterator;
invokeinterface java.util.ListIterator.nextIndex:()I
invokevirtual java.util.LinkedList.get:(I)Ljava/lang/Object;
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
6: aload 0
getfield javax.security.auth.Subject$SecureSet$1.this$1:Ljavax/security/auth/Subject$SecureSet;
getfield javax.security.auth.Subject$SecureSet.subject:Ljavax/security/auth/Subject;
invokevirtual javax.security.auth.Subject.getPrincipals:()Ljava/util/Set;
invokespecial javax.security.auth.PrivateCredentialPermission.<init>:(Ljava/lang/String;Ljava/util/Set;)V
7: invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
8: goto 12
StackMap locals: javax.security.auth.Subject$SecureSet$1 java.lang.SecurityManager
StackMap stack: java.lang.SecurityException
9: astore 2
start local 2 10: aload 0
getfield javax.security.auth.Subject$SecureSet$1.i:Ljava/util/ListIterator;
invokeinterface java.util.ListIterator.next:()Ljava/lang/Object;
pop
11: aload 2
athrow
end local 2 12: StackMap locals:
StackMap stack:
aload 0
getfield javax.security.auth.Subject$SecureSet$1.i:Ljava/util/ListIterator;
invokeinterface java.util.ListIterator.next:()Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Ljavax/security/auth/Subject$SecureSet$1;
3 13 1 sm Ljava/lang/SecurityManager;
10 12 2 se Ljava/lang/SecurityException;
Exception table:
from to target type
4 8 9 Class java.lang.SecurityException
Signature: ()TE;
public void remove();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield javax.security.auth.Subject$SecureSet$1.this$1:Ljavax/security/auth/Subject$SecureSet;
getfield javax.security.auth.Subject$SecureSet.subject:Ljavax/security/auth/Subject;
invokevirtual javax.security.auth.Subject.isReadOnly:()Z
ifeq 4
1: new java.lang.IllegalStateException
dup
2: ldc "Subject.is.read.only"
3: invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 1
start local 1 5: aload 1
ifnull 12
6: aload 0
getfield javax.security.auth.Subject$SecureSet$1.this$1:Ljavax/security/auth/Subject$SecureSet;
getfield javax.security.auth.Subject$SecureSet.which:I
tableswitch { // 1 - 2
1: 7
2: 9
default: 11
}
7: StackMap locals: java.lang.SecurityManager
StackMap stack:
aload 1
getstatic javax.security.auth.Subject$AuthPermissionHolder.MODIFY_PRINCIPALS_PERMISSION:Ljavax/security/auth/AuthPermission;
invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
8: goto 12
9: StackMap locals:
StackMap stack:
aload 1
getstatic javax.security.auth.Subject$AuthPermissionHolder.MODIFY_PUBLIC_CREDENTIALS_PERMISSION:Ljavax/security/auth/AuthPermission;
invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
10: goto 12
11: StackMap locals:
StackMap stack:
aload 1
getstatic javax.security.auth.Subject$AuthPermissionHolder.MODIFY_PRIVATE_CREDENTIALS_PERMISSION:Ljavax/security/auth/AuthPermission;
invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
12: StackMap locals:
StackMap stack:
aload 0
getfield javax.security.auth.Subject$SecureSet$1.i:Ljava/util/ListIterator;
invokeinterface java.util.ListIterator.remove:()V
13: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Ljavax/security/auth/Subject$SecureSet$1;
5 14 1 sm Ljava/lang/SecurityManager;
}
Signature: Ljava/lang/Object;Ljava/util/Iterator<TE;>;
SourceFile: "Subject.java"
EnclosingMethod: javax.security.auth.Subject$SecureSet.iterator:()Ljava/util/Iterator;
NestHost: javax.security.auth.Subject
InnerClasses:
final AuthPermissionHolder = javax.security.auth.Subject$AuthPermissionHolder of javax.security.auth.Subject
private SecureSet = javax.security.auth.Subject$SecureSet of javax.security.auth.Subject
javax.security.auth.Subject$SecureSet$1