public abstract class java.security.BasicPermission extends java.security.Permission implements java.io.Serializable
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: java.security.BasicPermission
super_class: java.security.Permission
{
private static final long serialVersionUID;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 6279438298436773498
private transient boolean wildcard;
descriptor: Z
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
private transient java.lang.String path;
descriptor: Ljava/lang/String;
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
private transient boolean exitVM;
descriptor: Z
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
private void init(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: new java.lang.NullPointerException
dup
ldc "name can't be null"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.String.length:()I
istore 2
start local 2 3: iload 2
ifne 5
4: new java.lang.IllegalArgumentException
dup
ldc "name can't be empty"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals: int
StackMap stack:
aload 1
iload 2
iconst_1
isub
invokevirtual java.lang.String.charAt:(I)C
istore 3
start local 3 6: iload 3
bipush 42
if_icmpne 13
iload 2
iconst_1
if_icmpeq 7
aload 1
iload 2
iconst_2
isub
invokevirtual java.lang.String.charAt:(I)C
bipush 46
if_icmpne 13
7: StackMap locals: int
StackMap stack:
aload 0
iconst_1
putfield java.security.BasicPermission.wildcard:Z
8: iload 2
iconst_1
if_icmpne 11
9: aload 0
ldc ""
putfield java.security.BasicPermission.path:Ljava/lang/String;
10: goto 19
11: StackMap locals:
StackMap stack:
aload 0
aload 1
iconst_0
iload 2
iconst_1
isub
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
putfield java.security.BasicPermission.path:Ljava/lang/String;
12: goto 19
13: StackMap locals:
StackMap stack:
aload 1
ldc "exitVM"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 18
14: aload 0
iconst_1
putfield java.security.BasicPermission.wildcard:Z
15: aload 0
ldc "exitVM."
putfield java.security.BasicPermission.path:Ljava/lang/String;
16: aload 0
iconst_1
putfield java.security.BasicPermission.exitVM:Z
17: goto 19
18: StackMap locals:
StackMap stack:
aload 0
aload 1
putfield java.security.BasicPermission.path:Ljava/lang/String;
19: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Ljava/security/BasicPermission;
0 20 1 name Ljava/lang/String;
3 20 2 len I
6 20 3 last C
MethodParameters:
Name Flags
name
public void <init>(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial java.security.Permission.<init>:(Ljava/lang/String;)V
1: aload 0
aload 1
invokevirtual java.security.BasicPermission.init:(Ljava/lang/String;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/security/BasicPermission;
0 3 1 name Ljava/lang/String;
MethodParameters:
Name Flags
name
public void <init>(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokespecial java.security.Permission.<init>:(Ljava/lang/String;)V
1: aload 0
aload 1
invokevirtual java.security.BasicPermission.init:(Ljava/lang/String;)V
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/security/BasicPermission;
0 3 1 name Ljava/lang/String;
0 3 2 actions Ljava/lang/String;
MethodParameters:
Name Flags
name
actions
public boolean implies(java.security.Permission);
descriptor: (Ljava/security/Permission;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
ifnull 1
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
if_acmpeq 2
1: StackMap locals:
StackMap stack:
iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 1
checkcast java.security.BasicPermission
astore 2
start local 2 3: aload 0
getfield java.security.BasicPermission.wildcard:Z
ifeq 10
4: aload 2
getfield java.security.BasicPermission.wildcard:Z
ifeq 6
5: aload 2
getfield java.security.BasicPermission.path:Ljava/lang/String;
aload 0
getfield java.security.BasicPermission.path:Ljava/lang/String;
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ireturn
6: StackMap locals: java.security.BasicPermission
StackMap stack:
aload 2
getfield java.security.BasicPermission.path:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
aload 0
getfield java.security.BasicPermission.path:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
if_icmple 9
7: aload 2
getfield java.security.BasicPermission.path:Ljava/lang/String;
aload 0
getfield java.security.BasicPermission.path:Ljava/lang/String;
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 9
8: iconst_1
ireturn
StackMap locals:
StackMap stack:
9: iconst_0
ireturn
10: StackMap locals:
StackMap stack:
aload 2
getfield java.security.BasicPermission.wildcard:Z
ifeq 12
11: iconst_0
ireturn
12: StackMap locals:
StackMap stack:
aload 0
getfield java.security.BasicPermission.path:Ljava/lang/String;
aload 2
getfield java.security.BasicPermission.path:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Ljava/security/BasicPermission;
0 13 1 p Ljava/security/Permission;
3 13 2 that Ljava/security/BasicPermission;
MethodParameters:
Name Flags
p
public boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
aload 0
if_acmpne 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 1
ifnull 3
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
if_acmpeq 4
3: StackMap locals:
StackMap stack:
iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 1
checkcast java.security.BasicPermission
astore 2
start local 2 5: aload 0
invokevirtual java.security.BasicPermission.getName:()Ljava/lang/String;
aload 2
invokevirtual java.security.BasicPermission.getName:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/security/BasicPermission;
0 6 1 obj Ljava/lang/Object;
5 6 2 bp Ljava/security/BasicPermission;
MethodParameters:
Name Flags
obj
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.security.BasicPermission.getName:()Ljava/lang/String;
invokevirtual java.lang.String.hashCode:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/security/BasicPermission;
public java.lang.String getActions();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: ldc ""
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/security/BasicPermission;
public java.security.PermissionCollection newPermissionCollection();
descriptor: ()Ljava/security/PermissionCollection;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.security.BasicPermissionCollection
dup
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokespecial java.security.BasicPermissionCollection.<init>:(Ljava/lang/Class;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/security/BasicPermission;
private void readObject(java.io.ObjectInputStream);
descriptor: (Ljava/io/ObjectInputStream;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.io.ObjectInputStream.defaultReadObject:()V
1: aload 0
aload 0
invokevirtual java.security.BasicPermission.getName:()Ljava/lang/String;
invokevirtual java.security.BasicPermission.init:(Ljava/lang/String;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/security/BasicPermission;
0 3 1 s Ljava/io/ObjectInputStream;
Exceptions:
throws java.io.IOException, java.lang.ClassNotFoundException
MethodParameters:
Name Flags
s
final java.lang.String getCanonicalName();
descriptor: ()Ljava/lang/String;
flags: (0x0010) ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.security.BasicPermission.exitVM:Z
ifeq 1
ldc "exitVM.*"
goto 2
StackMap locals:
StackMap stack:
1: aload 0
invokevirtual java.security.BasicPermission.getName:()Ljava/lang/String;
StackMap locals:
StackMap stack: java.lang.String
2: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/security/BasicPermission;
}
SourceFile: "BasicPermission.java"