public final class com.mongodb.internal.authentication.SaslPrep
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.mongodb.internal.authentication.SaslPrep
super_class: java.lang.Object
{
public static java.lang.String saslPrepQuery(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
invokestatic com.mongodb.internal.authentication.SaslPrep.saslPrep:(Ljava/lang/String;Z)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 str Ljava/lang/String;
MethodParameters:
Name Flags
str final
public static java.lang.String saslPrepStored(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
invokestatic com.mongodb.internal.authentication.SaslPrep.saslPrep:(Ljava/lang/String;Z)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 str Ljava/lang/String;
MethodParameters:
Name Flags
str final
private static java.lang.String saslPrep(java.lang.String, boolean);
descriptor: (Ljava/lang/String;Z)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=12, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual java.lang.String.toCharArray:()[C
astore 2
start local 2 1: iconst_0
istore 3
start local 3 2: goto 7
3: StackMap locals: char[] int
StackMap stack:
aload 0
iload 3
invokevirtual java.lang.String.charAt:(I)C
istore 4
start local 4 4: iload 4
invokestatic com.mongodb.internal.authentication.SaslPrep.nonAsciiSpace:(C)Z
ifeq 6
5: aload 2
iload 3
bipush 32
castore
end local 4 6: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
7: iload 3
aload 0
invokevirtual java.lang.String.length:()I
if_icmplt 3
end local 3 8: iconst_0
istore 3
start local 3 9: iconst_0
istore 4
start local 4 10: goto 15
11: StackMap locals: int
StackMap stack:
aload 2
iload 4
caload
istore 5
start local 5 12: iload 5
invokestatic com.mongodb.internal.authentication.SaslPrep.mappedToNothing:(C)Z
ifne 14
13: aload 2
iload 3
iinc 3 1
iload 5
castore
end local 5 14: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
15: iload 4
aload 0
invokevirtual java.lang.String.length:()I
if_icmplt 11
end local 4 16: aload 2
iconst_0
iload 3
invokestatic java.nio.CharBuffer.wrap:([CII)Ljava/nio/CharBuffer;
getstatic java.text.Normalizer$Form.NFKC:Ljava/text/Normalizer$Form;
invokestatic java.text.Normalizer.normalize:(Ljava/lang/CharSequence;Ljava/text/Normalizer$Form;)Ljava/lang/String;
astore 4
start local 4 17: iconst_0
istore 5
start local 5 18: iconst_0
istore 6
start local 6 19: iconst_0
istore 7
start local 7 20: iconst_0
istore 8
start local 8 21: goto 43
22: StackMap locals: java.lang.String int char[] int java.lang.String int int int int
StackMap stack:
aload 4
iload 8
invokevirtual java.lang.String.codePointAt:(I)I
istore 9
start local 9 23: iload 9
invokestatic com.mongodb.internal.authentication.SaslPrep.prohibited:(I)Z
ifeq 25
24: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Prohibited character at position "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 8
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
25: StackMap locals: int
StackMap stack:
iload 9
invokestatic java.lang.Character.getDirectionality:(I)B
istore 10
start local 10 26: iload 10
iconst_1
if_icmpeq 29
27: iload 10
iconst_2
if_icmpeq 29
28: iconst_0
goto 30
StackMap locals: int
StackMap stack:
29: iconst_1
StackMap locals:
StackMap stack: int
30: istore 11
start local 11 31: iload 5
iload 11
ior
istore 5
32: iload 6
iload 10
ifne 33
iconst_1
goto 34
StackMap locals: java.lang.String int char[] int java.lang.String int int int int int int int
StackMap stack: int
33: iconst_0
StackMap locals: java.lang.String int char[] int java.lang.String int int int int int int int
StackMap stack: int int
34: ior
istore 6
35: iload 7
iload 8
ifne 36
iload 11
ifeq 36
iconst_1
goto 37
StackMap locals:
StackMap stack: int
36: iconst_0
StackMap locals: java.lang.String int char[] int java.lang.String int int int int int int int
StackMap stack: int int
37: ior
istore 7
38: iload 1
ifne 40
iload 9
invokestatic java.lang.Character.isDefined:(I)Z
ifne 40
39: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Character at position "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 8
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " is unassigned"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
40: StackMap locals:
StackMap stack:
iload 8
iload 9
invokestatic java.lang.Character.charCount:(I)I
iadd
istore 8
41: iload 7
ifeq 43
iload 8
aload 4
invokevirtual java.lang.String.length:()I
if_icmplt 43
iload 11
ifne 43
42: new java.lang.IllegalArgumentException
dup
ldc "First character is RandALCat, but last character is not"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 11 end local 10 end local 9 43: StackMap locals:
StackMap stack:
iload 8
aload 4
invokevirtual java.lang.String.length:()I
if_icmplt 22
end local 8 44: iload 5
ifeq 46
iload 6
ifeq 46
45: new java.lang.IllegalArgumentException
dup
ldc "Contains both RandALCat characters and LCat characters"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
46: StackMap locals:
StackMap stack:
aload 4
areturn
end local 7 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 47 0 str Ljava/lang/String;
0 47 1 allowUnassigned Z
1 47 2 chars [C
2 8 3 i I
4 6 4 ch C
9 47 3 length I
10 16 4 i I
12 14 5 ch C
17 47 4 normalized Ljava/lang/String;
18 47 5 containsRandALCat Z
19 47 6 containsLCat Z
20 47 7 initialRandALCat Z
21 44 8 i I
23 43 9 codepoint I
26 43 10 directionality B
31 43 11 isRandALcat Z
MethodParameters:
Name Flags
str final
allowUnassigned final
static boolean prohibited(int);
descriptor: (I)Z
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iload 0
i2c
invokestatic com.mongodb.internal.authentication.SaslPrep.nonAsciiSpace:(C)Z
ifne 11
1: iload 0
i2c
invokestatic com.mongodb.internal.authentication.SaslPrep.asciiControl:(C)Z
ifne 11
2: iload 0
invokestatic com.mongodb.internal.authentication.SaslPrep.nonAsciiControl:(I)Z
ifne 11
3: iload 0
invokestatic com.mongodb.internal.authentication.SaslPrep.privateUse:(I)Z
ifne 11
4: iload 0
invokestatic com.mongodb.internal.authentication.SaslPrep.nonCharacterCodePoint:(I)Z
ifne 11
5: iload 0
invokestatic com.mongodb.internal.authentication.SaslPrep.surrogateCodePoint:(I)Z
ifne 11
6: iload 0
invokestatic com.mongodb.internal.authentication.SaslPrep.inappropriateForPlainText:(I)Z
ifne 11
7: iload 0
invokestatic com.mongodb.internal.authentication.SaslPrep.inappropriateForCanonical:(I)Z
ifne 11
8: iload 0
invokestatic com.mongodb.internal.authentication.SaslPrep.changeDisplayProperties:(I)Z
ifne 11
9: iload 0
invokestatic com.mongodb.internal.authentication.SaslPrep.tagging:(I)Z
ifne 11
10: iconst_0
ireturn
StackMap locals:
StackMap stack:
11: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 codepoint I
MethodParameters:
Name Flags
codepoint final
private static boolean tagging(int);
descriptor: (I)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
ldc 917505
if_icmpeq 4
1: ldc 917536
iload 0
if_icmpgt 3
iload 0
ldc 917631
2: if_icmple 4
StackMap locals:
StackMap stack:
3: iconst_0
ireturn
StackMap locals:
StackMap stack:
4: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 codepoint I
MethodParameters:
Name Flags
codepoint final
private static boolean changeDisplayProperties(int);
descriptor: (I)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
sipush 832
if_icmpeq 16
1: iload 0
sipush 833
if_icmpeq 16
2: iload 0
sipush 8206
if_icmpeq 16
3: iload 0
sipush 8207
if_icmpeq 16
4: iload 0
sipush 8234
if_icmpeq 16
5: iload 0
sipush 8235
if_icmpeq 16
6: iload 0
sipush 8236
if_icmpeq 16
7: iload 0
sipush 8237
if_icmpeq 16
8: iload 0
sipush 8238
if_icmpeq 16
9: iload 0
sipush 8298
if_icmpeq 16
10: iload 0
sipush 8299
if_icmpeq 16
11: iload 0
sipush 8300
if_icmpeq 16
12: iload 0
sipush 8301
if_icmpeq 16
13: iload 0
sipush 8302
if_icmpeq 16
14: iload 0
sipush 8303
if_icmpeq 16
15: iconst_0
ireturn
StackMap locals:
StackMap stack:
16: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 codepoint I
MethodParameters:
Name Flags
codepoint final
private static boolean inappropriateForCanonical(int);
descriptor: (I)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: sipush 12272
iload 0
if_icmpgt 1
iload 0
sipush 12283
if_icmpgt 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 codepoint I
MethodParameters:
Name Flags
codepoint final
private static boolean inappropriateForPlainText(int);
descriptor: (I)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
ldc 65529
if_icmpeq 6
1: iload 0
ldc 65530
if_icmpeq 6
2: iload 0
ldc 65531
if_icmpeq 6
3: iload 0
ldc 65532
if_icmpeq 6
4: iload 0
ldc 65533
if_icmpeq 6
5: iconst_0
ireturn
StackMap locals:
StackMap stack:
6: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 codepoint I
MethodParameters:
Name Flags
codepoint final
private static boolean surrogateCodePoint(int);
descriptor: (I)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: ldc 55296
iload 0
if_icmpgt 1
iload 0
ldc 57343
if_icmpgt 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 codepoint I
MethodParameters:
Name Flags
codepoint final
private static boolean nonCharacterCodePoint(int);
descriptor: (I)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: ldc 64976
iload 0
if_icmpgt 1
iload 0
ldc 65007
if_icmple 20
1: StackMap locals:
StackMap stack:
ldc 65534
iload 0
if_icmpgt 2
iload 0
ldc 65535
if_icmple 20
2: StackMap locals:
StackMap stack:
ldc 131070
iload 0
if_icmpgt 3
iload 0
ldc 131071
if_icmple 20
3: StackMap locals:
StackMap stack:
ldc 196606
iload 0
if_icmpgt 4
iload 0
ldc 196607
if_icmple 20
4: StackMap locals:
StackMap stack:
ldc 262142
iload 0
if_icmpgt 5
iload 0
ldc 262143
if_icmple 20
5: StackMap locals:
StackMap stack:
ldc 327678
iload 0
if_icmpgt 6
iload 0
ldc 327679
if_icmple 20
6: StackMap locals:
StackMap stack:
ldc 393214
iload 0
if_icmpgt 7
iload 0
ldc 393215
if_icmple 20
7: StackMap locals:
StackMap stack:
ldc 458750
iload 0
if_icmpgt 8
iload 0
ldc 458751
if_icmple 20
8: StackMap locals:
StackMap stack:
ldc 524286
iload 0
if_icmpgt 9
iload 0
ldc 524287
if_icmple 20
9: StackMap locals:
StackMap stack:
ldc 589822
iload 0
if_icmpgt 10
iload 0
ldc 589823
if_icmple 20
10: StackMap locals:
StackMap stack:
ldc 655358
iload 0
if_icmpgt 11
iload 0
ldc 655359
if_icmple 20
11: StackMap locals:
StackMap stack:
ldc 720894
iload 0
if_icmpgt 12
iload 0
ldc 720895
if_icmple 20
12: StackMap locals:
StackMap stack:
ldc 786430
iload 0
if_icmpgt 13
iload 0
ldc 786431
if_icmple 20
13: StackMap locals:
StackMap stack:
ldc 851966
iload 0
if_icmpgt 14
iload 0
ldc 851967
if_icmple 20
14: StackMap locals:
StackMap stack:
ldc 917502
iload 0
if_icmpgt 15
iload 0
ldc 917503
if_icmple 20
15: StackMap locals:
StackMap stack:
ldc 983038
iload 0
if_icmpgt 16
iload 0
ldc 983039
if_icmple 20
16: StackMap locals:
StackMap stack:
ldc 1048574
iload 0
if_icmpgt 17
iload 0
ldc 1048575
if_icmple 20
17: StackMap locals:
StackMap stack:
ldc 1114110
iload 0
if_icmpgt 19
iload 0
ldc 1114111
18: if_icmple 20
StackMap locals:
StackMap stack:
19: iconst_0
ireturn
StackMap locals:
StackMap stack:
20: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 codepoint I
MethodParameters:
Name Flags
codepoint final
private static boolean privateUse(int);
descriptor: (I)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: ldc 57344
iload 0
if_icmpgt 1
iload 0
ldc 63743
if_icmple 5
1: StackMap locals:
StackMap stack:
ldc 61440
iload 0
if_icmpgt 2
iload 0
ldc 1048573
if_icmple 5
2: StackMap locals:
StackMap stack:
ldc 1048576
iload 0
if_icmpgt 4
iload 0
ldc 1114109
3: if_icmple 5
StackMap locals:
StackMap stack:
4: iconst_0
ireturn
StackMap locals:
StackMap stack:
5: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 codepoint I
MethodParameters:
Name Flags
codepoint final
private static boolean nonAsciiControl(int);
descriptor: (I)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: sipush 128
iload 0
if_icmpgt 1
iload 0
sipush 159
if_icmple 18
1: StackMap locals:
StackMap stack:
iload 0
sipush 1757
if_icmpeq 18
2: iload 0
sipush 1807
if_icmpeq 18
3: iload 0
sipush 6158
if_icmpeq 18
4: iload 0
sipush 8204
if_icmpeq 18
5: iload 0
sipush 8205
if_icmpeq 18
6: iload 0
sipush 8232
if_icmpeq 18
7: iload 0
sipush 8233
if_icmpeq 18
8: iload 0
sipush 8288
if_icmpeq 18
9: iload 0
sipush 8289
if_icmpeq 18
10: iload 0
sipush 8290
if_icmpeq 18
11: iload 0
sipush 8291
if_icmpeq 18
12: sipush 8298
iload 0
if_icmpgt 13
iload 0
sipush 8303
if_icmple 18
13: StackMap locals:
StackMap stack:
iload 0
ldc 65279
if_icmpeq 18
14: ldc 65529
iload 0
if_icmpgt 15
iload 0
ldc 65532
if_icmple 18
15: StackMap locals:
StackMap stack:
ldc 119155
iload 0
if_icmpgt 17
iload 0
ldc 119162
16: if_icmple 18
StackMap locals:
StackMap stack:
17: iconst_0
ireturn
StackMap locals:
StackMap stack:
18: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 codepoint I
MethodParameters:
Name Flags
codepoint final
private static boolean asciiControl(char);
descriptor: (C)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
bipush 31
if_icmple 1
iload 0
bipush 127
if_icmpeq 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 ch C
MethodParameters:
Name Flags
ch final
private static boolean nonAsciiSpace(char);
descriptor: (C)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
sipush 160
if_icmpeq 7
1: iload 0
sipush 5760
if_icmpeq 7
2: sipush 8192
iload 0
if_icmpgt 3
iload 0
sipush 8203
if_icmple 7
3: StackMap locals:
StackMap stack:
iload 0
sipush 8239
if_icmpeq 7
4: iload 0
sipush 8287
if_icmpeq 7
5: iload 0
sipush 12288
if_icmpeq 7
6: iconst_0
ireturn
StackMap locals:
StackMap stack:
7: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 ch C
MethodParameters:
Name Flags
ch final
private static boolean mappedToNothing(char);
descriptor: (C)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
sipush 173
if_icmpeq 13
1: iload 0
sipush 847
if_icmpeq 13
2: iload 0
sipush 6150
if_icmpeq 13
3: iload 0
sipush 6155
if_icmpeq 13
4: iload 0
sipush 6156
if_icmpeq 13
5: iload 0
sipush 6157
if_icmpeq 13
6: iload 0
sipush 8203
if_icmpeq 13
7: iload 0
sipush 8204
if_icmpeq 13
8: iload 0
sipush 8205
if_icmpeq 13
9: iload 0
sipush 8288
if_icmpeq 13
10: ldc 65024
iload 0
if_icmpgt 11
iload 0
ldc 65039
if_icmple 13
11: StackMap locals:
StackMap stack:
iload 0
ldc 65279
if_icmpeq 13
12: iconst_0
ireturn
StackMap locals:
StackMap stack:
13: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 ch C
MethodParameters:
Name Flags
ch final
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/mongodb/internal/authentication/SaslPrep;
}
SourceFile: "SaslPrep.java"
InnerClasses:
public final Form = java.text.Normalizer$Form of java.text.Normalizer