public class org.apache.shiro.realm.GetAuthorizationsHack
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.shiro.realm.GetAuthorizationsHack
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 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/shiro/realm/GetAuthorizationsHack;
public static java.util.Set<io.vertx.ext.auth.authorization.Authorization> getAuthorizations(org.apache.shiro.mgt.SecurityManager, org.apache.shiro.subject.Subject);
descriptor: (Lorg/apache/shiro/mgt/SecurityManager;Lorg/apache/shiro/subject/Subject;)Ljava/util/Set;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=12, args_size=2
start local 0 start local 1 0: aload 0
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
astore 2
start local 2 2: aload 1
invokeinterface org.apache.shiro.subject.Subject.getPrincipals:()Lorg/apache/shiro/subject/PrincipalCollection;
ifnull 32
3: aload 0
instanceof org.apache.shiro.mgt.AuthorizingSecurityManager
ifeq 32
4: aload 0
checkcast org.apache.shiro.mgt.AuthorizingSecurityManager
astore 3
start local 3 5: aload 3
invokevirtual org.apache.shiro.mgt.AuthorizingSecurityManager.getAuthorizer:()Lorg/apache/shiro/authz/Authorizer;
instanceof org.apache.shiro.authz.ModularRealmAuthorizer
ifeq 32
6: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 2
7: aload 3
invokevirtual org.apache.shiro.mgt.AuthorizingSecurityManager.getAuthorizer:()Lorg/apache/shiro/authz/Authorizer;
checkcast org.apache.shiro.authz.ModularRealmAuthorizer
astore 4
start local 4 8: aload 4
invokevirtual org.apache.shiro.authz.ModularRealmAuthorizer.getRealms:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 6
goto 31
StackMap locals: org.apache.shiro.mgt.SecurityManager org.apache.shiro.subject.Subject java.util.Set org.apache.shiro.mgt.AuthorizingSecurityManager org.apache.shiro.authz.ModularRealmAuthorizer top java.util.Iterator
StackMap stack:
9: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.shiro.realm.Realm
astore 5
start local 5 10: aload 5
instanceof org.apache.shiro.realm.AuthorizingRealm
ifeq 31
11: aload 5
checkcast org.apache.shiro.realm.AuthorizingRealm
astore 7
start local 7 12: aload 7
aload 1
invokeinterface org.apache.shiro.subject.Subject.getPrincipals:()Lorg/apache/shiro/subject/PrincipalCollection;
invokevirtual org.apache.shiro.realm.AuthorizingRealm.getAuthorizationInfo:(Lorg/apache/shiro/subject/PrincipalCollection;)Lorg/apache/shiro/authz/AuthorizationInfo;
astore 8
start local 8 13: aload 8
ifnull 31
14: aload 8
invokeinterface org.apache.shiro.authz.AuthorizationInfo.getRoles:()Ljava/util/Collection;
ifnull 19
15: aload 8
invokeinterface org.apache.shiro.authz.AuthorizationInfo.getRoles:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 10
goto 18
StackMap locals: org.apache.shiro.mgt.SecurityManager org.apache.shiro.subject.Subject java.util.Set org.apache.shiro.mgt.AuthorizingSecurityManager org.apache.shiro.authz.ModularRealmAuthorizer org.apache.shiro.realm.Realm java.util.Iterator org.apache.shiro.realm.AuthorizingRealm org.apache.shiro.authz.AuthorizationInfo top java.util.Iterator
StackMap stack:
16: aload 10
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 9
start local 9 17: aload 2
aload 9
invokestatic io.vertx.ext.auth.authorization.RoleBasedAuthorization.create:(Ljava/lang/String;)Lio/vertx/ext/auth/authorization/RoleBasedAuthorization;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 9 18: StackMap locals:
StackMap stack:
aload 10
invokeinterface java.util.Iterator.hasNext:()Z
ifne 16
19: StackMap locals: org.apache.shiro.mgt.SecurityManager org.apache.shiro.subject.Subject java.util.Set org.apache.shiro.mgt.AuthorizingSecurityManager org.apache.shiro.authz.ModularRealmAuthorizer org.apache.shiro.realm.Realm java.util.Iterator org.apache.shiro.realm.AuthorizingRealm org.apache.shiro.authz.AuthorizationInfo
StackMap stack:
aload 8
invokeinterface org.apache.shiro.authz.AuthorizationInfo.getStringPermissions:()Ljava/util/Collection;
ifnull 24
20: aload 8
invokeinterface org.apache.shiro.authz.AuthorizationInfo.getStringPermissions:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 10
goto 23
StackMap locals: org.apache.shiro.mgt.SecurityManager org.apache.shiro.subject.Subject java.util.Set org.apache.shiro.mgt.AuthorizingSecurityManager org.apache.shiro.authz.ModularRealmAuthorizer org.apache.shiro.realm.Realm java.util.Iterator org.apache.shiro.realm.AuthorizingRealm org.apache.shiro.authz.AuthorizationInfo top java.util.Iterator
StackMap stack:
21: aload 10
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 9
start local 9 22: aload 2
aload 9
invokestatic io.vertx.ext.auth.authorization.WildcardPermissionBasedAuthorization.create:(Ljava/lang/String;)Lio/vertx/ext/auth/authorization/WildcardPermissionBasedAuthorization;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 9 23: StackMap locals:
StackMap stack:
aload 10
invokeinterface java.util.Iterator.hasNext:()Z
ifne 21
24: StackMap locals: org.apache.shiro.mgt.SecurityManager org.apache.shiro.subject.Subject java.util.Set org.apache.shiro.mgt.AuthorizingSecurityManager org.apache.shiro.authz.ModularRealmAuthorizer org.apache.shiro.realm.Realm java.util.Iterator org.apache.shiro.realm.AuthorizingRealm org.apache.shiro.authz.AuthorizationInfo
StackMap stack:
aload 8
invokeinterface org.apache.shiro.authz.AuthorizationInfo.getObjectPermissions:()Ljava/util/Collection;
ifnull 31
25: aload 8
invokeinterface org.apache.shiro.authz.AuthorizationInfo.getObjectPermissions:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 10
goto 30
StackMap locals: org.apache.shiro.mgt.SecurityManager org.apache.shiro.subject.Subject java.util.Set org.apache.shiro.mgt.AuthorizingSecurityManager org.apache.shiro.authz.ModularRealmAuthorizer org.apache.shiro.realm.Realm java.util.Iterator org.apache.shiro.realm.AuthorizingRealm org.apache.shiro.authz.AuthorizationInfo top java.util.Iterator
StackMap stack:
26: aload 10
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.shiro.authz.Permission
astore 9
start local 9 27: aload 9
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
astore 11
start local 11 28: aload 11
ldc "["
ldc ""
invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
ldc "]"
ldc ""
invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
astore 11
29: aload 2
aload 11
invokestatic io.vertx.ext.auth.authorization.WildcardPermissionBasedAuthorization.create:(Ljava/lang/String;)Lio/vertx/ext/auth/authorization/WildcardPermissionBasedAuthorization;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 11 end local 9 30: StackMap locals:
StackMap stack:
aload 10
invokeinterface java.util.Iterator.hasNext:()Z
ifne 26
end local 8 end local 7 end local 5 31: StackMap locals: org.apache.shiro.mgt.SecurityManager org.apache.shiro.subject.Subject java.util.Set org.apache.shiro.mgt.AuthorizingSecurityManager org.apache.shiro.authz.ModularRealmAuthorizer top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 9
end local 4 end local 3 32: StackMap locals: org.apache.shiro.mgt.SecurityManager org.apache.shiro.subject.Subject java.util.Set
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 33 0 securityManager Lorg/apache/shiro/mgt/SecurityManager;
0 33 1 subject Lorg/apache/shiro/subject/Subject;
2 33 2 result Ljava/util/Set<Lio/vertx/ext/auth/authorization/Authorization;>;
5 32 3 authorizingSecurityManager Lorg/apache/shiro/mgt/AuthorizingSecurityManager;
8 32 4 modularRealmAuthorizer Lorg/apache/shiro/authz/ModularRealmAuthorizer;
10 31 5 realm Lorg/apache/shiro/realm/Realm;
12 31 7 authorizingRealm Lorg/apache/shiro/realm/AuthorizingRealm;
13 31 8 authorizationInfo Lorg/apache/shiro/authz/AuthorizationInfo;
17 18 9 role Ljava/lang/String;
22 23 9 permission Ljava/lang/String;
27 30 9 permission Lorg/apache/shiro/authz/Permission;
28 30 11 stringPermission Ljava/lang/String;
Signature: (Lorg/apache/shiro/mgt/SecurityManager;Lorg/apache/shiro/subject/Subject;)Ljava/util/Set<Lio/vertx/ext/auth/authorization/Authorization;>;
MethodParameters:
Name Flags
securityManager
subject
}
SourceFile: "GetAuthorizationsHack.java"