final class javax.crypto.CryptoPolicyParser
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: javax.crypto.CryptoPolicyParser
super_class: java.lang.Object
{
private java.util.Vector<javax.crypto.CryptoPolicyParser$GrantEntry> grantEntries;
descriptor: Ljava/util/Vector;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Vector<Ljavax/crypto/CryptoPolicyParser$GrantEntry;>;
private java.io.StreamTokenizer st;
descriptor: Ljava/io/StreamTokenizer;
flags: (0x0002) ACC_PRIVATE
private int lookahead;
descriptor: I
flags: (0x0002) ACC_PRIVATE
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.Vector
dup
invokespecial java.util.Vector.<init>:()V
putfield javax.crypto.CryptoPolicyParser.grantEntries:Ljava/util/Vector;
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljavax/crypto/CryptoPolicyParser;
void read(java.io.Reader);
descriptor: (Ljava/io/Reader;)V
flags: (0x0000)
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 1
instanceof java.io.BufferedReader
ifne 2
1: new java.io.BufferedReader
dup
aload 1
invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
astore 1
2: StackMap locals:
StackMap stack:
aload 0
new java.io.StreamTokenizer
dup
aload 1
invokespecial java.io.StreamTokenizer.<init>:(Ljava/io/Reader;)V
putfield javax.crypto.CryptoPolicyParser.st:Ljava/io/StreamTokenizer;
3: aload 0
getfield javax.crypto.CryptoPolicyParser.st:Ljava/io/StreamTokenizer;
invokevirtual java.io.StreamTokenizer.resetSyntax:()V
4: aload 0
getfield javax.crypto.CryptoPolicyParser.st:Ljava/io/StreamTokenizer;
bipush 97
bipush 122
invokevirtual java.io.StreamTokenizer.wordChars:(II)V
5: aload 0
getfield javax.crypto.CryptoPolicyParser.st:Ljava/io/StreamTokenizer;
bipush 65
bipush 90
invokevirtual java.io.StreamTokenizer.wordChars:(II)V
6: aload 0
getfield javax.crypto.CryptoPolicyParser.st:Ljava/io/StreamTokenizer;
bipush 46
bipush 46
invokevirtual java.io.StreamTokenizer.wordChars:(II)V
7: aload 0
getfield javax.crypto.CryptoPolicyParser.st:Ljava/io/StreamTokenizer;
bipush 48
bipush 57
invokevirtual java.io.StreamTokenizer.wordChars:(II)V
8: aload 0
getfield javax.crypto.CryptoPolicyParser.st:Ljava/io/StreamTokenizer;
bipush 95
bipush 95
invokevirtual java.io.StreamTokenizer.wordChars:(II)V
9: aload 0
getfield javax.crypto.CryptoPolicyParser.st:Ljava/io/StreamTokenizer;
bipush 36
bipush 36
invokevirtual java.io.StreamTokenizer.wordChars:(II)V
10: aload 0
getfield javax.crypto.CryptoPolicyParser.st:Ljava/io/StreamTokenizer;
sipush 160
sipush 255
invokevirtual java.io.StreamTokenizer.wordChars:(II)V
11: aload 0
getfield javax.crypto.CryptoPolicyParser.st:Ljava/io/StreamTokenizer;
iconst_0
bipush 32
invokevirtual java.io.StreamTokenizer.whitespaceChars:(II)V
12: aload 0
getfield javax.crypto.CryptoPolicyParser.st:Ljava/io/StreamTokenizer;
bipush 47
invokevirtual java.io.StreamTokenizer.commentChar:(I)V
13: aload 0
getfield javax.crypto.CryptoPolicyParser.st:Ljava/io/StreamTokenizer;
bipush 39
invokevirtual java.io.StreamTokenizer.quoteChar:(I)V
14: aload 0
getfield javax.crypto.CryptoPolicyParser.st:Ljava/io/StreamTokenizer;
bipush 34
invokevirtual java.io.StreamTokenizer.quoteChar:(I)V
15: aload 0
getfield javax.crypto.CryptoPolicyParser.st:Ljava/io/StreamTokenizer;
iconst_0
invokevirtual java.io.StreamTokenizer.lowerCaseMode:(Z)V
16: aload 0
getfield javax.crypto.CryptoPolicyParser.st:Ljava/io/StreamTokenizer;
bipush 47
invokevirtual java.io.StreamTokenizer.ordinaryChar:(I)V
17: aload 0
getfield javax.crypto.CryptoPolicyParser.st:Ljava/io/StreamTokenizer;
iconst_1
invokevirtual java.io.StreamTokenizer.slashSlashComments:(Z)V
18: aload 0
getfield javax.crypto.CryptoPolicyParser.st:Ljava/io/StreamTokenizer;
iconst_1
invokevirtual java.io.StreamTokenizer.slashStarComments:(Z)V
19: aload 0
getfield javax.crypto.CryptoPolicyParser.st:Ljava/io/StreamTokenizer;
invokevirtual java.io.StreamTokenizer.parseNumbers:()V
20: aconst_null
astore 2
start local 2 21: aload 0
aload 0
getfield javax.crypto.CryptoPolicyParser.st:Ljava/io/StreamTokenizer;
invokevirtual java.io.StreamTokenizer.nextToken:()I
putfield javax.crypto.CryptoPolicyParser.lookahead:I
22: goto 30
23: StackMap locals: java.util.Hashtable
StackMap stack:
aload 0
ldc "grant"
invokevirtual javax.crypto.CryptoPolicyParser.peek:(Ljava/lang/String;)Z
ifeq 28
24: aload 0
aload 2
invokevirtual javax.crypto.CryptoPolicyParser.parseGrantEntry:(Ljava/util/Hashtable;)Ljavax/crypto/CryptoPolicyParser$GrantEntry;
astore 3
start local 3 25: aload 3
ifnull 29
26: aload 0
getfield javax.crypto.CryptoPolicyParser.grantEntries:Ljava/util/Vector;
aload 3
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
end local 3 27: goto 29
28: StackMap locals:
StackMap stack:
new javax.crypto.CryptoPolicyParser$ParsingException
dup
aload 0
getfield javax.crypto.CryptoPolicyParser.st:Ljava/io/StreamTokenizer;
invokevirtual java.io.StreamTokenizer.lineno:()I
ldc "expected grant statement"
invokespecial javax.crypto.CryptoPolicyParser$ParsingException.<init>:(ILjava/lang/String;)V
athrow
29: StackMap locals:
StackMap stack:
aload 0
ldc ";"
invokevirtual javax.crypto.CryptoPolicyParser.match:(Ljava/lang/String;)Ljava/lang/String;
pop
30: StackMap locals:
StackMap stack:
aload 0
getfield javax.crypto.CryptoPolicyParser.lookahead:I
iconst_m1
if_icmpne 23
31: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 32 0 this Ljavax/crypto/CryptoPolicyParser;
0 32 1 policy Ljava/io/Reader;
21 32 2 processedPermissions Ljava/util/Hashtable<Ljava/lang/String;Ljava/util/Vector<Ljava/lang/String;>;>;
25 27 3 ge Ljavax/crypto/CryptoPolicyParser$GrantEntry;
Exceptions:
throws javax.crypto.CryptoPolicyParser$ParsingException, java.io.IOException
MethodParameters:
Name Flags
policy
private javax.crypto.CryptoPolicyParser$GrantEntry parseGrantEntry(java.util.Hashtable<java.lang.String, java.util.Vector<java.lang.String>>);
descriptor: (Ljava/util/Hashtable;)Ljavax/crypto/CryptoPolicyParser$GrantEntry;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: new javax.crypto.CryptoPolicyParser$GrantEntry
dup
invokespecial javax.crypto.CryptoPolicyParser$GrantEntry.<init>:()V
astore 2
start local 2 1: aload 0
ldc "grant"
invokevirtual javax.crypto.CryptoPolicyParser.match:(Ljava/lang/String;)Ljava/lang/String;
pop
2: aload 0
ldc "{"
invokevirtual javax.crypto.CryptoPolicyParser.match:(Ljava/lang/String;)Ljava/lang/String;
pop
3: goto 12
4: StackMap locals: javax.crypto.CryptoPolicyParser$GrantEntry
StackMap stack:
aload 0
ldc "Permission"
invokevirtual javax.crypto.CryptoPolicyParser.peek:(Ljava/lang/String;)Z
ifeq 10
5: aload 0
aload 1
invokevirtual javax.crypto.CryptoPolicyParser.parsePermissionEntry:(Ljava/util/Hashtable;)Ljavax/crypto/CryptoPolicyParser$CryptoPermissionEntry;
6: astore 3
start local 3 7: aload 2
aload 3
invokevirtual javax.crypto.CryptoPolicyParser$GrantEntry.add:(Ljavax/crypto/CryptoPolicyParser$CryptoPermissionEntry;)V
8: aload 0
ldc ";"
invokevirtual javax.crypto.CryptoPolicyParser.match:(Ljava/lang/String;)Ljava/lang/String;
pop
end local 3 9: goto 12
10: StackMap locals:
StackMap stack:
new javax.crypto.CryptoPolicyParser$ParsingException
dup
aload 0
getfield javax.crypto.CryptoPolicyParser.st:Ljava/io/StreamTokenizer;
invokevirtual java.io.StreamTokenizer.lineno:()I
ldc "expected permission entry"
11: invokespecial javax.crypto.CryptoPolicyParser$ParsingException.<init>:(ILjava/lang/String;)V
athrow
12: StackMap locals:
StackMap stack:
aload 0
ldc "}"
invokevirtual javax.crypto.CryptoPolicyParser.peek:(Ljava/lang/String;)Z
ifeq 4
13: aload 0
ldc "}"
invokevirtual javax.crypto.CryptoPolicyParser.match:(Ljava/lang/String;)Ljava/lang/String;
pop
14: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Ljavax/crypto/CryptoPolicyParser;
0 15 1 processedPermissions Ljava/util/Hashtable<Ljava/lang/String;Ljava/util/Vector<Ljava/lang/String;>;>;
1 15 2 e Ljavax/crypto/CryptoPolicyParser$GrantEntry;
7 9 3 pe Ljavax/crypto/CryptoPolicyParser$CryptoPermissionEntry;
Exceptions:
throws javax.crypto.CryptoPolicyParser$ParsingException, java.io.IOException
Signature: (Ljava/util/Hashtable<Ljava/lang/String;Ljava/util/Vector<Ljava/lang/String;>;>;)Ljavax/crypto/CryptoPolicyParser$GrantEntry;
MethodParameters:
Name Flags
processedPermissions
private javax.crypto.CryptoPolicyParser$CryptoPermissionEntry parsePermissionEntry(java.util.Hashtable<java.lang.String, java.util.Vector<java.lang.String>>);
descriptor: (Ljava/util/Hashtable;)Ljavax/crypto/CryptoPolicyParser$CryptoPermissionEntry;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, args_size=2
start local 0 start local 1 0: new javax.crypto.CryptoPolicyParser$CryptoPermissionEntry
dup
invokespecial javax.crypto.CryptoPolicyParser$CryptoPermissionEntry.<init>:()V
astore 2
start local 2 1: aload 0
ldc "Permission"
invokevirtual javax.crypto.CryptoPolicyParser.match:(Ljava/lang/String;)Ljava/lang/String;
pop
2: aload 2
aload 0
ldc "permission type"
invokevirtual javax.crypto.CryptoPolicyParser.match:(Ljava/lang/String;)Ljava/lang/String;
putfield javax.crypto.CryptoPolicyParser$CryptoPermissionEntry.cryptoPermission:Ljava/lang/String;
3: aload 2
getfield javax.crypto.CryptoPolicyParser$CryptoPermissionEntry.cryptoPermission:Ljava/lang/String;
ldc "javax.crypto.CryptoAllPermission"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 7
4: aload 2
ldc "CryptoAllPermission"
putfield javax.crypto.CryptoPolicyParser$CryptoPermissionEntry.alg:Ljava/lang/String;
5: aload 2
ldc 2147483647
putfield javax.crypto.CryptoPolicyParser$CryptoPermissionEntry.maxKeySize:I
6: aload 2
areturn
7: StackMap locals: javax.crypto.CryptoPolicyParser$CryptoPermissionEntry
StackMap stack:
aload 0
ldc "\""
invokevirtual javax.crypto.CryptoPolicyParser.peek:(Ljava/lang/String;)Z
ifeq 10
8: aload 2
aload 0
ldc "quoted string"
invokevirtual javax.crypto.CryptoPolicyParser.match:(Ljava/lang/String;)Ljava/lang/String;
getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
invokevirtual java.lang.String.toUpperCase:(Ljava/util/Locale;)Ljava/lang/String;
putfield javax.crypto.CryptoPolicyParser$CryptoPermissionEntry.alg:Ljava/lang/String;
9: goto 17
10: StackMap locals:
StackMap stack:
aload 0
ldc "*"
invokevirtual javax.crypto.CryptoPolicyParser.peek:(Ljava/lang/String;)Z
ifeq 14
11: aload 0
ldc "*"
invokevirtual javax.crypto.CryptoPolicyParser.match:(Ljava/lang/String;)Ljava/lang/String;
pop
12: aload 2
ldc "*"
putfield javax.crypto.CryptoPolicyParser$CryptoPermissionEntry.alg:Ljava/lang/String;
13: goto 17
14: StackMap locals:
StackMap stack:
new javax.crypto.CryptoPolicyParser$ParsingException
dup
aload 0
getfield javax.crypto.CryptoPolicyParser.st:Ljava/io/StreamTokenizer;
invokevirtual java.io.StreamTokenizer.lineno:()I
15: ldc "Missing the algorithm name"
16: invokespecial javax.crypto.CryptoPolicyParser$ParsingException.<init>:(ILjava/lang/String;)V
athrow
17: StackMap locals:
StackMap stack:
aload 0
ldc ","
invokevirtual javax.crypto.CryptoPolicyParser.peekAndMatch:(Ljava/lang/String;)Z
pop
18: aload 0
ldc "\""
invokevirtual javax.crypto.CryptoPolicyParser.peek:(Ljava/lang/String;)Z
ifeq 20
19: aload 2
aload 0
ldc "quoted string"
invokevirtual javax.crypto.CryptoPolicyParser.match:(Ljava/lang/String;)Ljava/lang/String;
getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
invokevirtual java.lang.String.toUpperCase:(Ljava/util/Locale;)Ljava/lang/String;
putfield javax.crypto.CryptoPolicyParser$CryptoPermissionEntry.exemptionMechanism:Ljava/lang/String;
20: StackMap locals:
StackMap stack:
aload 0
ldc ","
invokevirtual javax.crypto.CryptoPolicyParser.peekAndMatch:(Ljava/lang/String;)Z
pop
21: aload 0
aload 2
getfield javax.crypto.CryptoPolicyParser$CryptoPermissionEntry.alg:Ljava/lang/String;
aload 2
getfield javax.crypto.CryptoPolicyParser$CryptoPermissionEntry.exemptionMechanism:Ljava/lang/String;
aload 1
invokevirtual javax.crypto.CryptoPolicyParser.isConsistent:(Ljava/lang/String;Ljava/lang/String;Ljava/util/Hashtable;)Z
ifne 23
22: new javax.crypto.CryptoPolicyParser$ParsingException
dup
aload 0
getfield javax.crypto.CryptoPolicyParser.st:Ljava/io/StreamTokenizer;
invokevirtual java.io.StreamTokenizer.lineno:()I
ldc "Inconsistent policy"
invokespecial javax.crypto.CryptoPolicyParser$ParsingException.<init>:(ILjava/lang/String;)V
athrow
23: StackMap locals:
StackMap stack:
aload 0
ldc "number"
invokevirtual javax.crypto.CryptoPolicyParser.peek:(Ljava/lang/String;)Z
ifeq 26
24: aload 2
aload 0
invokevirtual javax.crypto.CryptoPolicyParser.match:()I
putfield javax.crypto.CryptoPolicyParser$CryptoPermissionEntry.maxKeySize:I
25: goto 35
26: StackMap locals:
StackMap stack:
aload 0
ldc "*"
invokevirtual javax.crypto.CryptoPolicyParser.peek:(Ljava/lang/String;)Z
ifeq 30
27: aload 0
ldc "*"
invokevirtual javax.crypto.CryptoPolicyParser.match:(Ljava/lang/String;)Ljava/lang/String;
pop
28: aload 2
ldc 2147483647
putfield javax.crypto.CryptoPolicyParser$CryptoPermissionEntry.maxKeySize:I
29: goto 35
30: StackMap locals:
StackMap stack:
aload 0
ldc ";"
invokevirtual javax.crypto.CryptoPolicyParser.peek:(Ljava/lang/String;)Z
ifne 34
31: new javax.crypto.CryptoPolicyParser$ParsingException
dup
aload 0
getfield javax.crypto.CryptoPolicyParser.st:Ljava/io/StreamTokenizer;
invokevirtual java.io.StreamTokenizer.lineno:()I
32: ldc "Missing the maximum allowable key size"
33: invokespecial javax.crypto.CryptoPolicyParser$ParsingException.<init>:(ILjava/lang/String;)V
athrow
34: StackMap locals:
StackMap stack:
aload 2
ldc 2147483647
putfield javax.crypto.CryptoPolicyParser$CryptoPermissionEntry.maxKeySize:I
35: StackMap locals:
StackMap stack:
aload 0
ldc ","
invokevirtual javax.crypto.CryptoPolicyParser.peekAndMatch:(Ljava/lang/String;)Z
pop
36: aload 0
ldc "\""
invokevirtual javax.crypto.CryptoPolicyParser.peek:(Ljava/lang/String;)Z
ifeq 56
37: aload 0
ldc "quoted string"
invokevirtual javax.crypto.CryptoPolicyParser.match:(Ljava/lang/String;)Ljava/lang/String;
astore 3
start local 3 38: new java.util.Vector
dup
iconst_1
invokespecial java.util.Vector.<init>:(I)V
astore 4
start local 4 39: goto 51
40: StackMap locals: java.lang.String java.util.Vector
StackMap stack:
aload 0
ldc ","
invokevirtual javax.crypto.CryptoPolicyParser.match:(Ljava/lang/String;)Ljava/lang/String;
pop
41: aload 0
ldc "number"
invokevirtual javax.crypto.CryptoPolicyParser.peek:(Ljava/lang/String;)Z
ifeq 44
42: aload 4
aload 0
invokevirtual javax.crypto.CryptoPolicyParser.match:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
43: goto 51
44: StackMap locals:
StackMap stack:
aload 0
ldc "*"
invokevirtual javax.crypto.CryptoPolicyParser.peek:(Ljava/lang/String;)Z
ifeq 48
45: aload 0
ldc "*"
invokevirtual javax.crypto.CryptoPolicyParser.match:(Ljava/lang/String;)Ljava/lang/String;
pop
46: aload 4
ldc 2147483647
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
47: goto 51
48: StackMap locals:
StackMap stack:
new javax.crypto.CryptoPolicyParser$ParsingException
dup
aload 0
getfield javax.crypto.CryptoPolicyParser.st:Ljava/io/StreamTokenizer;
invokevirtual java.io.StreamTokenizer.lineno:()I
49: ldc "Expecting an integer"
50: invokespecial javax.crypto.CryptoPolicyParser$ParsingException.<init>:(ILjava/lang/String;)V
athrow
51: StackMap locals:
StackMap stack:
aload 0
ldc ","
invokevirtual javax.crypto.CryptoPolicyParser.peek:(Ljava/lang/String;)Z
ifne 40
52: aload 4
invokevirtual java.util.Vector.size:()I
anewarray java.lang.Integer
astore 5
start local 5 53: aload 4
aload 5
invokevirtual java.util.Vector.copyInto:([Ljava/lang/Object;)V
54: aload 2
iconst_1
putfield javax.crypto.CryptoPolicyParser$CryptoPermissionEntry.checkParam:Z
55: aload 2
aload 3
aload 5
invokestatic javax.crypto.CryptoPolicyParser.getInstance:(Ljava/lang/String;[Ljava/lang/Integer;)Ljava/security/spec/AlgorithmParameterSpec;
putfield javax.crypto.CryptoPolicyParser$CryptoPermissionEntry.algParamSpec:Ljava/security/spec/AlgorithmParameterSpec;
end local 5 end local 4 end local 3 56: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 57 0 this Ljavax/crypto/CryptoPolicyParser;
0 57 1 processedPermissions Ljava/util/Hashtable<Ljava/lang/String;Ljava/util/Vector<Ljava/lang/String;>;>;
1 57 2 e Ljavax/crypto/CryptoPolicyParser$CryptoPermissionEntry;
38 56 3 algParamSpecClassName Ljava/lang/String;
39 56 4 paramsV Ljava/util/Vector<Ljava/lang/Integer;>;
53 56 5 params [Ljava/lang/Integer;
Exceptions:
throws javax.crypto.CryptoPolicyParser$ParsingException, java.io.IOException
Signature: (Ljava/util/Hashtable<Ljava/lang/String;Ljava/util/Vector<Ljava/lang/String;>;>;)Ljavax/crypto/CryptoPolicyParser$CryptoPermissionEntry;
MethodParameters:
Name Flags
processedPermissions
private static final java.security.spec.AlgorithmParameterSpec getInstance(java.lang.String, java.lang.Integer[]);
descriptor: (Ljava/lang/String;[Ljava/lang/Integer;)Ljava/security/spec/AlgorithmParameterSpec;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: aload 0
invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
astore 3
start local 3 2: aload 1
arraylength
anewarray java.lang.Class
astore 4
start local 4 3: iconst_0
istore 5
start local 5 4: goto 7
5: StackMap locals: java.lang.String java.lang.Integer[] java.security.spec.AlgorithmParameterSpec java.lang.Class java.lang.Class[] int
StackMap stack:
aload 4
iload 5
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
aastore
6: iinc 5 1
StackMap locals:
StackMap stack:
7: iload 5
aload 1
arraylength
if_icmplt 5
end local 5 8: aload 3
aload 4
invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
astore 5
start local 5 9: aload 5
aload 1
invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.security.spec.AlgorithmParameterSpec
astore 2
end local 5 end local 4 end local 3 10: goto 15
StackMap locals: java.lang.String java.lang.Integer[] java.security.spec.AlgorithmParameterSpec
StackMap stack: java.lang.Exception
11: astore 3
start local 3 12: new javax.crypto.CryptoPolicyParser$ParsingException
dup
new java.lang.StringBuilder
dup
ldc "Cannot call the constructor of "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
13: aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
14: invokespecial javax.crypto.CryptoPolicyParser$ParsingException.<init>:(Ljava/lang/String;)V
athrow
end local 3 15: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 type Ljava/lang/String;
0 16 1 params [Ljava/lang/Integer;
1 16 2 ret Ljava/security/spec/AlgorithmParameterSpec;
2 10 3 apsClass Ljava/lang/Class<*>;
3 10 4 paramClasses [Ljava/lang/Class;
4 8 5 i I
9 10 5 c Ljava/lang/reflect/Constructor<*>;
12 15 3 e Ljava/lang/Exception;
Exception table:
from to target type
1 10 11 Class java.lang.Exception
Exceptions:
throws javax.crypto.CryptoPolicyParser$ParsingException
MethodParameters:
Name Flags
type
params
private boolean peekAndMatch(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual javax.crypto.CryptoPolicyParser.peek:(Ljava/lang/String;)Z
ifeq 3
1: aload 0
aload 1
invokevirtual javax.crypto.CryptoPolicyParser.match:(Ljava/lang/String;)Ljava/lang/String;
pop
2: iconst_1
ireturn
3: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljavax/crypto/CryptoPolicyParser;
0 4 1 expect Ljava/lang/String;
Exceptions:
throws javax.crypto.CryptoPolicyParser$ParsingException, java.io.IOException
MethodParameters:
Name Flags
expect
private boolean peek(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: aload 0
getfield javax.crypto.CryptoPolicyParser.lookahead:I
lookupswitch { // 8
-3: 2
-2: 5
34: 17
42: 20
44: 8
59: 23
123: 11
125: 14
default: 26
}
2: StackMap locals: int
StackMap stack:
aload 1
aload 0
getfield javax.crypto.CryptoPolicyParser.st:Ljava/io/StreamTokenizer;
getfield java.io.StreamTokenizer.sval:Ljava/lang/String;
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 26
3: iconst_1
istore 2
4: goto 26
5: StackMap locals:
StackMap stack:
aload 1
ldc "number"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 26
6: iconst_1
istore 2
7: goto 26
8: StackMap locals:
StackMap stack:
aload 1
ldc ","
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 26
9: iconst_1
istore 2
10: goto 26
11: StackMap locals:
StackMap stack:
aload 1
ldc "{"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 26
12: iconst_1
istore 2
13: goto 26
14: StackMap locals:
StackMap stack:
aload 1
ldc "}"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 26
15: iconst_1
istore 2
16: goto 26
17: StackMap locals:
StackMap stack:
aload 1
ldc "\""
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 26
18: iconst_1
istore 2
19: goto 26
20: StackMap locals:
StackMap stack:
aload 1
ldc "*"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 26
21: iconst_1
istore 2
22: goto 26
23: StackMap locals:
StackMap stack:
aload 1
ldc ";"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 26
24: iconst_1
istore 2
25: goto 26
26: StackMap locals:
StackMap stack:
iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Ljavax/crypto/CryptoPolicyParser;
0 27 1 expect Ljava/lang/String;
1 27 2 found Z
MethodParameters:
Name Flags
expect
private int match();
descriptor: ()I
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=1
start local 0 0: iconst_m1
istore 1
start local 1 1: aload 0
getfield javax.crypto.CryptoPolicyParser.st:Ljava/io/StreamTokenizer;
invokevirtual java.io.StreamTokenizer.lineno:()I
istore 2
start local 2 2: aconst_null
astore 3
start local 3 3: aload 0
getfield javax.crypto.CryptoPolicyParser.lookahead:I
tableswitch { // -2 - -2
-2: 4
default: 9
}
4: StackMap locals: int int java.lang.String
StackMap stack:
aload 0
getfield javax.crypto.CryptoPolicyParser.st:Ljava/io/StreamTokenizer;
getfield java.io.StreamTokenizer.nval:D
d2i
istore 1
5: iload 1
ifge 7
6: aload 0
getfield javax.crypto.CryptoPolicyParser.st:Ljava/io/StreamTokenizer;
getfield java.io.StreamTokenizer.nval:D
invokestatic java.lang.String.valueOf:(D)Ljava/lang/String;
astore 3
7: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield javax.crypto.CryptoPolicyParser.st:Ljava/io/StreamTokenizer;
invokevirtual java.io.StreamTokenizer.nextToken:()I
putfield javax.crypto.CryptoPolicyParser.lookahead:I
8: goto 10
9: StackMap locals:
StackMap stack:
aload 0
getfield javax.crypto.CryptoPolicyParser.st:Ljava/io/StreamTokenizer;
getfield java.io.StreamTokenizer.sval:Ljava/lang/String;
astore 3
10: StackMap locals:
StackMap stack:
iload 1
ifgt 14
11: new javax.crypto.CryptoPolicyParser$ParsingException
dup
iload 2
ldc "a non-negative number"
12: aload 3
13: invokespecial javax.crypto.CryptoPolicyParser$ParsingException.<init>:(ILjava/lang/String;Ljava/lang/String;)V
athrow
14: StackMap locals:
StackMap stack:
iload 1
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Ljavax/crypto/CryptoPolicyParser;
1 15 1 value I
2 15 2 lineno I
3 15 3 sValue Ljava/lang/String;
Exceptions:
throws javax.crypto.CryptoPolicyParser$ParsingException, java.io.IOException
private java.lang.String match(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=10, locals=3, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: aload 0
getfield javax.crypto.CryptoPolicyParser.lookahead:I
lookupswitch { // 9
-3: 6
-2: 2
-1: 5
34: 14
42: 35
44: 23
59: 32
123: 26
125: 29
default: 38
}
2: StackMap locals: java.lang.String
StackMap stack:
new javax.crypto.CryptoPolicyParser$ParsingException
dup
aload 0
getfield javax.crypto.CryptoPolicyParser.st:Ljava/io/StreamTokenizer;
invokevirtual java.io.StreamTokenizer.lineno:()I
aload 1
3: new java.lang.StringBuilder
dup
ldc "number "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield javax.crypto.CryptoPolicyParser.st:Ljava/io/StreamTokenizer;
getfield java.io.StreamTokenizer.nval:D
invokestatic java.lang.String.valueOf:(D)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
4: invokespecial javax.crypto.CryptoPolicyParser$ParsingException.<init>:(ILjava/lang/String;Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
new javax.crypto.CryptoPolicyParser$ParsingException
dup
new java.lang.StringBuilder
dup
ldc "expected "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ", read end of file"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial javax.crypto.CryptoPolicyParser$ParsingException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield javax.crypto.CryptoPolicyParser.st:Ljava/io/StreamTokenizer;
getfield java.io.StreamTokenizer.sval:Ljava/lang/String;
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 9
7: aload 0
aload 0
getfield javax.crypto.CryptoPolicyParser.st:Ljava/io/StreamTokenizer;
invokevirtual java.io.StreamTokenizer.nextToken:()I
putfield javax.crypto.CryptoPolicyParser.lookahead:I
8: goto 41
9: StackMap locals:
StackMap stack:
aload 1
ldc "permission type"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 13
10: aload 0
getfield javax.crypto.CryptoPolicyParser.st:Ljava/io/StreamTokenizer;
getfield java.io.StreamTokenizer.sval:Ljava/lang/String;
astore 2
11: aload 0
aload 0
getfield javax.crypto.CryptoPolicyParser.st:Ljava/io/StreamTokenizer;
invokevirtual java.io.StreamTokenizer.nextToken:()I
putfield javax.crypto.CryptoPolicyParser.lookahead:I
12: goto 41
13: StackMap locals:
StackMap stack:
new javax.crypto.CryptoPolicyParser$ParsingException
dup
aload 0
getfield javax.crypto.CryptoPolicyParser.st:Ljava/io/StreamTokenizer;
invokevirtual java.io.StreamTokenizer.lineno:()I
aload 1
aload 0
getfield javax.crypto.CryptoPolicyParser.st:Ljava/io/StreamTokenizer;
getfield java.io.StreamTokenizer.sval:Ljava/lang/String;
invokespecial javax.crypto.CryptoPolicyParser$ParsingException.<init>:(ILjava/lang/String;Ljava/lang/String;)V
athrow
14: StackMap locals:
StackMap stack:
aload 1
ldc "quoted string"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 18
15: aload 0
getfield javax.crypto.CryptoPolicyParser.st:Ljava/io/StreamTokenizer;
getfield java.io.StreamTokenizer.sval:Ljava/lang/String;
astore 2
16: aload 0
aload 0
getfield javax.crypto.CryptoPolicyParser.st:Ljava/io/StreamTokenizer;
invokevirtual java.io.StreamTokenizer.nextToken:()I
putfield javax.crypto.CryptoPolicyParser.lookahead:I
17: goto 41
StackMap locals:
StackMap stack:
18: aload 1
ldc "permission type"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 22
19: aload 0
getfield javax.crypto.CryptoPolicyParser.st:Ljava/io/StreamTokenizer;
getfield java.io.StreamTokenizer.sval:Ljava/lang/String;
astore 2
20: aload 0
aload 0
getfield javax.crypto.CryptoPolicyParser.st:Ljava/io/StreamTokenizer;
invokevirtual java.io.StreamTokenizer.nextToken:()I
putfield javax.crypto.CryptoPolicyParser.lookahead:I
21: goto 41
22: StackMap locals:
StackMap stack:
new javax.crypto.CryptoPolicyParser$ParsingException
dup
aload 0
getfield javax.crypto.CryptoPolicyParser.st:Ljava/io/StreamTokenizer;
invokevirtual java.io.StreamTokenizer.lineno:()I
aload 1
aload 0
getfield javax.crypto.CryptoPolicyParser.st:Ljava/io/StreamTokenizer;
getfield java.io.StreamTokenizer.sval:Ljava/lang/String;
invokespecial javax.crypto.CryptoPolicyParser$ParsingException.<init>:(ILjava/lang/String;Ljava/lang/String;)V
athrow
23: StackMap locals:
StackMap stack:
aload 1
ldc ","
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 25
24: aload 0
aload 0
getfield javax.crypto.CryptoPolicyParser.st:Ljava/io/StreamTokenizer;
invokevirtual java.io.StreamTokenizer.nextToken:()I
putfield javax.crypto.CryptoPolicyParser.lookahead:I
goto 41
25: StackMap locals:
StackMap stack:
new javax.crypto.CryptoPolicyParser$ParsingException
dup
aload 0
getfield javax.crypto.CryptoPolicyParser.st:Ljava/io/StreamTokenizer;
invokevirtual java.io.StreamTokenizer.lineno:()I
aload 1
ldc ","
invokespecial javax.crypto.CryptoPolicyParser$ParsingException.<init>:(ILjava/lang/String;Ljava/lang/String;)V
athrow
26: StackMap locals:
StackMap stack:
aload 1
ldc "{"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 28
27: aload 0
aload 0
getfield javax.crypto.CryptoPolicyParser.st:Ljava/io/StreamTokenizer;
invokevirtual java.io.StreamTokenizer.nextToken:()I
putfield javax.crypto.CryptoPolicyParser.lookahead:I
goto 41
28: StackMap locals:
StackMap stack:
new javax.crypto.CryptoPolicyParser$ParsingException
dup
aload 0
getfield javax.crypto.CryptoPolicyParser.st:Ljava/io/StreamTokenizer;
invokevirtual java.io.StreamTokenizer.lineno:()I
aload 1
ldc "{"
invokespecial javax.crypto.CryptoPolicyParser$ParsingException.<init>:(ILjava/lang/String;Ljava/lang/String;)V
athrow
29: StackMap locals:
StackMap stack:
aload 1
ldc "}"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 31
30: aload 0
aload 0
getfield javax.crypto.CryptoPolicyParser.st:Ljava/io/StreamTokenizer;
invokevirtual java.io.StreamTokenizer.nextToken:()I
putfield javax.crypto.CryptoPolicyParser.lookahead:I
goto 41
31: StackMap locals:
StackMap stack:
new javax.crypto.CryptoPolicyParser$ParsingException
dup
aload 0
getfield javax.crypto.CryptoPolicyParser.st:Ljava/io/StreamTokenizer;
invokevirtual java.io.StreamTokenizer.lineno:()I
aload 1
ldc "}"
invokespecial javax.crypto.CryptoPolicyParser$ParsingException.<init>:(ILjava/lang/String;Ljava/lang/String;)V
athrow
32: StackMap locals:
StackMap stack:
aload 1
ldc ";"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 34
33: aload 0
aload 0
getfield javax.crypto.CryptoPolicyParser.st:Ljava/io/StreamTokenizer;
invokevirtual java.io.StreamTokenizer.nextToken:()I
putfield javax.crypto.CryptoPolicyParser.lookahead:I
goto 41
34: StackMap locals:
StackMap stack:
new javax.crypto.CryptoPolicyParser$ParsingException
dup
aload 0
getfield javax.crypto.CryptoPolicyParser.st:Ljava/io/StreamTokenizer;
invokevirtual java.io.StreamTokenizer.lineno:()I
aload 1
ldc ";"
invokespecial javax.crypto.CryptoPolicyParser$ParsingException.<init>:(ILjava/lang/String;Ljava/lang/String;)V
athrow
35: StackMap locals:
StackMap stack:
aload 1
ldc "*"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 37
36: aload 0
aload 0
getfield javax.crypto.CryptoPolicyParser.st:Ljava/io/StreamTokenizer;
invokevirtual java.io.StreamTokenizer.nextToken:()I
putfield javax.crypto.CryptoPolicyParser.lookahead:I
goto 41
37: StackMap locals:
StackMap stack:
new javax.crypto.CryptoPolicyParser$ParsingException
dup
aload 0
getfield javax.crypto.CryptoPolicyParser.st:Ljava/io/StreamTokenizer;
invokevirtual java.io.StreamTokenizer.lineno:()I
aload 1
ldc "*"
invokespecial javax.crypto.CryptoPolicyParser$ParsingException.<init>:(ILjava/lang/String;Ljava/lang/String;)V
athrow
38: StackMap locals:
StackMap stack:
new javax.crypto.CryptoPolicyParser$ParsingException
dup
aload 0
getfield javax.crypto.CryptoPolicyParser.st:Ljava/io/StreamTokenizer;
invokevirtual java.io.StreamTokenizer.lineno:()I
aload 1
39: new java.lang.String
dup
iconst_1
newarray 5
dup
iconst_0
aload 0
getfield javax.crypto.CryptoPolicyParser.lookahead:I
i2c
castore
invokespecial java.lang.String.<init>:([C)V
40: invokespecial javax.crypto.CryptoPolicyParser$ParsingException.<init>:(ILjava/lang/String;Ljava/lang/String;)V
athrow
41: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 42 0 this Ljavax/crypto/CryptoPolicyParser;
0 42 1 expect Ljava/lang/String;
1 42 2 value Ljava/lang/String;
Exceptions:
throws javax.crypto.CryptoPolicyParser$ParsingException, java.io.IOException
MethodParameters:
Name Flags
expect
javax.crypto.CryptoPermission[] getPermissions();
descriptor: ()[Ljavax/crypto/CryptoPermission;
flags: (0x0000)
Code:
stack=7, locals=6, args_size=1
start local 0 0: new java.util.Vector
dup
invokespecial java.util.Vector.<init>:()V
astore 1
start local 1 1: aload 0
getfield javax.crypto.CryptoPolicyParser.grantEntries:Ljava/util/Vector;
invokevirtual java.util.Vector.elements:()Ljava/util/Enumeration;
astore 2
start local 2 2: goto 28
3: StackMap locals: java.util.Vector java.util.Enumeration
StackMap stack:
aload 2
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast javax.crypto.CryptoPolicyParser$GrantEntry
astore 3
start local 3 4: aload 3
invokevirtual javax.crypto.CryptoPolicyParser$GrantEntry.permissionElements:()Ljava/util/Enumeration;
5: astore 4
start local 4 6: goto 27
7: StackMap locals: javax.crypto.CryptoPolicyParser$GrantEntry java.util.Enumeration
StackMap stack:
aload 4
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast javax.crypto.CryptoPolicyParser$CryptoPermissionEntry
astore 5
start local 5 8: aload 5
getfield javax.crypto.CryptoPolicyParser$CryptoPermissionEntry.cryptoPermission:Ljava/lang/String;
9: ldc "javax.crypto.CryptoAllPermission"
10: invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
11: ifeq 14
12: aload 1
getstatic javax.crypto.CryptoAllPermission.INSTANCE:Ljavax/crypto/CryptoAllPermission;
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
13: goto 27
14: StackMap locals: javax.crypto.CryptoPolicyParser$CryptoPermissionEntry
StackMap stack:
aload 5
getfield javax.crypto.CryptoPolicyParser$CryptoPermissionEntry.checkParam:Z
ifeq 22
15: aload 1
new javax.crypto.CryptoPermission
dup
16: aload 5
getfield javax.crypto.CryptoPolicyParser$CryptoPermissionEntry.alg:Ljava/lang/String;
17: aload 5
getfield javax.crypto.CryptoPolicyParser$CryptoPermissionEntry.maxKeySize:I
18: aload 5
getfield javax.crypto.CryptoPolicyParser$CryptoPermissionEntry.algParamSpec:Ljava/security/spec/AlgorithmParameterSpec;
19: aload 5
getfield javax.crypto.CryptoPolicyParser$CryptoPermissionEntry.exemptionMechanism:Ljava/lang/String;
invokespecial javax.crypto.CryptoPermission.<init>:(Ljava/lang/String;ILjava/security/spec/AlgorithmParameterSpec;Ljava/lang/String;)V
20: invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
21: goto 27
22: StackMap locals:
StackMap stack:
aload 1
new javax.crypto.CryptoPermission
dup
23: aload 5
getfield javax.crypto.CryptoPolicyParser$CryptoPermissionEntry.alg:Ljava/lang/String;
24: aload 5
getfield javax.crypto.CryptoPolicyParser$CryptoPermissionEntry.maxKeySize:I
25: aload 5
getfield javax.crypto.CryptoPolicyParser$CryptoPermissionEntry.exemptionMechanism:Ljava/lang/String;
invokespecial javax.crypto.CryptoPermission.<init>:(Ljava/lang/String;ILjava/lang/String;)V
26: invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
end local 5 27: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 7
end local 4 end local 3 28: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 3
29: aload 1
invokevirtual java.util.Vector.size:()I
anewarray javax.crypto.CryptoPermission
astore 3
start local 3 30: aload 1
aload 3
invokevirtual java.util.Vector.copyInto:([Ljava/lang/Object;)V
31: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 32 0 this Ljavax/crypto/CryptoPolicyParser;
1 32 1 result Ljava/util/Vector<Ljavax/crypto/CryptoPermission;>;
2 32 2 grantEnum Ljava/util/Enumeration<Ljavax/crypto/CryptoPolicyParser$GrantEntry;>;
4 28 3 ge Ljavax/crypto/CryptoPolicyParser$GrantEntry;
6 28 4 permEnum Ljava/util/Enumeration<Ljavax/crypto/CryptoPolicyParser$CryptoPermissionEntry;>;
8 27 5 pe Ljavax/crypto/CryptoPolicyParser$CryptoPermissionEntry;
30 32 3 ret [Ljavax/crypto/CryptoPermission;
private boolean isConsistent(java.lang.String, java.lang.String, java.util.Hashtable<java.lang.String, java.util.Vector<java.lang.String>>);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/util/Hashtable;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
ifnonnull 1
ldc "none"
goto 2
StackMap locals:
StackMap stack:
1: aload 2
2: StackMap locals:
StackMap stack: java.lang.String
astore 4
start local 4 3: aload 3
ifnonnull 9
4: new java.util.Hashtable
dup
invokespecial java.util.Hashtable.<init>:()V
astore 3
5: new java.util.Vector
dup
iconst_1
invokespecial java.util.Vector.<init>:(I)V
astore 5
start local 5 6: aload 5
aload 4
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
7: aload 3
aload 1
aload 5
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
8: iconst_1
ireturn
end local 5 9: StackMap locals: java.lang.String
StackMap stack:
aload 3
ldc "CryptoAllPermission"
invokevirtual java.util.Hashtable.containsKey:(Ljava/lang/Object;)Z
ifeq 11
10: iconst_0
ireturn
11: StackMap locals:
StackMap stack:
aload 3
aload 1
invokevirtual java.util.Hashtable.containsKey:(Ljava/lang/Object;)Z
ifeq 15
12: aload 3
aload 1
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Vector
astore 5
start local 5 13: aload 5
aload 4
invokevirtual java.util.Vector.contains:(Ljava/lang/Object;)Z
ifeq 16
14: iconst_0
ireturn
end local 5 15: StackMap locals:
StackMap stack:
new java.util.Vector
dup
iconst_1
invokespecial java.util.Vector.<init>:(I)V
astore 5
start local 5 16: StackMap locals: java.util.Vector
StackMap stack:
aload 5
aload 4
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
17: aload 3
aload 1
aload 5
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
18: iconst_1
ireturn
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 19 0 this Ljavax/crypto/CryptoPolicyParser;
0 19 1 alg Ljava/lang/String;
0 19 2 exemptionMechanism Ljava/lang/String;
0 19 3 processedPermissions Ljava/util/Hashtable<Ljava/lang/String;Ljava/util/Vector<Ljava/lang/String;>;>;
3 19 4 thisExemptionMechanism Ljava/lang/String;
6 9 5 exemptionMechanisms Ljava/util/Vector<Ljava/lang/String;>;
13 15 5 exemptionMechanisms Ljava/util/Vector<Ljava/lang/String;>;
16 19 5 exemptionMechanisms Ljava/util/Vector<Ljava/lang/String;>;
Signature: (Ljava/lang/String;Ljava/lang/String;Ljava/util/Hashtable<Ljava/lang/String;Ljava/util/Vector<Ljava/lang/String;>;>;)Z
MethodParameters:
Name Flags
alg
exemptionMechanism
processedPermissions
}
SourceFile: "CryptoPolicyParser.java"
NestMembers:
javax.crypto.CryptoPolicyParser$CryptoPermissionEntry javax.crypto.CryptoPolicyParser$GrantEntry javax.crypto.CryptoPolicyParser$ParsingException
InnerClasses:
private CryptoPermissionEntry = javax.crypto.CryptoPolicyParser$CryptoPermissionEntry of javax.crypto.CryptoPolicyParser
private GrantEntry = javax.crypto.CryptoPolicyParser$GrantEntry of javax.crypto.CryptoPolicyParser
final ParsingException = javax.crypto.CryptoPolicyParser$ParsingException of javax.crypto.CryptoPolicyParser