public final class sun.text.normalizer.UTF16
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: sun.text.normalizer.UTF16
super_class: java.lang.Object
{
public static final int CODEPOINT_MIN_VALUE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 0
public static final int CODEPOINT_MAX_VALUE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1114111
public static final int SUPPLEMENTARY_MIN_VALUE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 65536
public static final int LEAD_SURROGATE_MIN_VALUE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 55296
public static final int TRAIL_SURROGATE_MIN_VALUE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 56320
public static final int LEAD_SURROGATE_MAX_VALUE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 56319
public static final int TRAIL_SURROGATE_MAX_VALUE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 57343
public static final int SURROGATE_MIN_VALUE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 55296
private static final int LEAD_SURROGATE_SHIFT_;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 10
private static final int TRAIL_SURROGATE_MASK_;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1023
private static final int LEAD_SURROGATE_OFFSET_;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 55232
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 Lsun/text/normalizer/UTF16;
public static int charAt(java.lang.String, int);
descriptor: (Ljava/lang/String;I)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: iload 1
iflt 1
iload 1
aload 0
invokevirtual java.lang.String.length:()I
if_icmplt 2
1: StackMap locals:
StackMap stack:
new java.lang.StringIndexOutOfBoundsException
dup
iload 1
invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
iload 1
invokevirtual java.lang.String.charAt:(I)C
istore 2
start local 2 3: iload 2
ldc 55296
if_icmplt 5
4: iload 2
ldc 57343
if_icmple 6
5: StackMap locals: int
StackMap stack:
iload 2
ireturn
6: StackMap locals:
StackMap stack:
iload 2
ldc 56319
if_icmpgt 15
7: iinc 1 1
8: aload 0
invokevirtual java.lang.String.length:()I
iload 1
if_icmpeq 23
9: aload 0
iload 1
invokevirtual java.lang.String.charAt:(I)C
istore 3
start local 3 10: iload 3
ldc 56320
if_icmplt 23
11: iload 3
ldc 57343
if_icmpgt 23
12: iload 2
13: iload 3
14: invokestatic sun.text.normalizer.UCharacterProperty.getRawSupplementary:(CC)I
ireturn
end local 3 15: StackMap locals:
StackMap stack:
iinc 1 -1
16: iload 1
iflt 23
17: aload 0
iload 1
invokevirtual java.lang.String.charAt:(I)C
istore 3
start local 3 18: iload 3
ldc 55296
if_icmplt 23
19: iload 3
ldc 56319
if_icmpgt 23
20: iload 3
21: iload 2
22: invokestatic sun.text.normalizer.UCharacterProperty.getRawSupplementary:(CC)I
ireturn
end local 3 23: StackMap locals:
StackMap stack:
iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 source Ljava/lang/String;
0 24 1 offset16 I
3 24 2 single C
10 15 3 trail C
18 23 3 lead C
MethodParameters:
Name Flags
source
offset16
public static int charAt(char[], int, int, int);
descriptor: ([CIII)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 3
iload 1
iadd
istore 3
1: iload 3
iload 1
if_icmplt 2
iload 3
iload 2
if_icmplt 3
2: StackMap locals:
StackMap stack:
new java.lang.ArrayIndexOutOfBoundsException
dup
iload 3
invokespecial java.lang.ArrayIndexOutOfBoundsException.<init>:(I)V
athrow
3: StackMap locals:
StackMap stack:
aload 0
iload 3
caload
istore 4
start local 4 4: iload 4
invokestatic sun.text.normalizer.UTF16.isSurrogate:(C)Z
ifne 6
5: iload 4
ireturn
6: StackMap locals: int
StackMap stack:
iload 4
ldc 56319
if_icmpgt 13
7: iinc 3 1
8: iload 3
iload 2
if_icmplt 10
9: iload 4
ireturn
10: StackMap locals:
StackMap stack:
aload 0
iload 3
caload
istore 5
start local 5 11: iload 5
invokestatic sun.text.normalizer.UTF16.isTrailSurrogate:(C)Z
ifeq 19
12: iload 4
iload 5
invokestatic sun.text.normalizer.UCharacterProperty.getRawSupplementary:(CC)I
ireturn
end local 5 13: StackMap locals:
StackMap stack:
iload 3
iload 1
if_icmpne 15
14: iload 4
ireturn
15: StackMap locals:
StackMap stack:
iinc 3 -1
16: aload 0
iload 3
caload
istore 5
start local 5 17: iload 5
invokestatic sun.text.normalizer.UTF16.isLeadSurrogate:(C)Z
ifeq 19
18: iload 5
iload 4
invokestatic sun.text.normalizer.UCharacterProperty.getRawSupplementary:(CC)I
ireturn
end local 5 19: StackMap locals:
StackMap stack:
iload 4
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 source [C
0 20 1 start I
0 20 2 limit I
0 20 3 offset16 I
4 20 4 single C
11 13 5 trail C
17 19 5 lead C
MethodParameters:
Name Flags
source
start
limit
offset16
public static int getCharCount(int);
descriptor: (I)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
ldc 65536
if_icmpge 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
iconst_2
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 char32 I
MethodParameters:
Name Flags
char32
public static boolean isSurrogate(char);
descriptor: (C)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: ldc 55296
iload 0
if_icmpgt 3
1: iload 0
ldc 57343
2: if_icmpgt 3
iconst_1
ireturn
StackMap locals:
StackMap stack:
3: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 char16 C
MethodParameters:
Name Flags
char16
public static boolean isTrailSurrogate(char);
descriptor: (C)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: ldc 56320
iload 0
if_icmpgt 3
1: iload 0
ldc 57343
2: if_icmpgt 3
iconst_1
ireturn
StackMap locals:
StackMap stack:
3: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 char16 C
MethodParameters:
Name Flags
char16
public static boolean isLeadSurrogate(char);
descriptor: (C)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: ldc 55296
iload 0
if_icmpgt 3
1: iload 0
ldc 56319
2: if_icmpgt 3
iconst_1
ireturn
StackMap locals:
StackMap stack:
3: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 char16 C
MethodParameters:
Name Flags
char16
public static char getLeadSurrogate(int);
descriptor: (I)C
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: iload 0
ldc 65536
if_icmplt 4
1: ldc 55232
2: iload 0
bipush 10
ishr
3: iadd
i2c
ireturn
4: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 char32 I
MethodParameters:
Name Flags
char32
public static char getTrailSurrogate(int);
descriptor: (I)C
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: iload 0
ldc 65536
if_icmplt 4
1: ldc 56320
2: iload 0
sipush 1023
iand
3: iadd
i2c
ireturn
4: StackMap locals:
StackMap stack:
iload 0
i2c
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 char32 I
MethodParameters:
Name Flags
char32
public static java.lang.String valueOf(int);
descriptor: (I)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: iload 0
iflt 1
iload 0
ldc 1114111
if_icmple 2
1: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "Illegal codepoint"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
iload 0
invokestatic sun.text.normalizer.UTF16.toString:(I)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 char32 I
MethodParameters:
Name Flags
char32
public static java.lang.StringBuffer append(java.lang.StringBuffer, int);
descriptor: (Ljava/lang/StringBuffer;I)Ljava/lang/StringBuffer;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: iload 1
iflt 1
iload 1
ldc 1114111
if_icmple 2
1: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Illegal codepoint: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
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
2: StackMap locals:
StackMap stack:
iload 1
ldc 65536
if_icmplt 6
3: aload 0
iload 1
invokestatic sun.text.normalizer.UTF16.getLeadSurrogate:(I)C
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
4: aload 0
iload 1
invokestatic sun.text.normalizer.UTF16.getTrailSurrogate:(I)C
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
5: goto 7
6: StackMap locals:
StackMap stack:
aload 0
iload 1
i2c
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
7: StackMap locals:
StackMap stack:
aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 target Ljava/lang/StringBuffer;
0 8 1 char32 I
MethodParameters:
Name Flags
target
char32
public static int moveCodePointOffset(char[], int, int, int, int);
descriptor: ([CIIII)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=9, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
arraylength
istore 5
start local 5 1: iload 3
iload 1
iadd
istore 8
start local 8 2: iload 1
iflt 3
iload 2
iload 1
if_icmpge 4
3: StackMap locals: char[] int int int int int top top int
StackMap stack:
new java.lang.StringIndexOutOfBoundsException
dup
iload 1
invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
athrow
4: StackMap locals:
StackMap stack:
iload 2
iload 5
if_icmple 6
5: new java.lang.StringIndexOutOfBoundsException
dup
iload 2
invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
athrow
6: StackMap locals:
StackMap stack:
iload 3
iflt 7
iload 8
iload 2
if_icmple 8
7: StackMap locals:
StackMap stack:
new java.lang.StringIndexOutOfBoundsException
dup
iload 3
invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
athrow
8: StackMap locals:
StackMap stack:
iload 4
ifle 21
9: iload 4
iload 8
iadd
iload 5
if_icmple 11
10: new java.lang.StringIndexOutOfBoundsException
dup
iload 8
invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
athrow
11: StackMap locals:
StackMap stack:
iload 4
istore 6
start local 6 12: goto 19
13: StackMap locals: char[] int int int int int int top int
StackMap stack:
aload 0
iload 8
caload
istore 7
start local 7 14: iload 7
invokestatic sun.text.normalizer.UTF16.isLeadSurrogate:(C)Z
ifeq 17
iload 8
iconst_1
iadd
iload 2
if_icmpge 17
15: aload 0
iload 8
iconst_1
iadd
caload
invokestatic sun.text.normalizer.UTF16.isTrailSurrogate:(C)Z
ifeq 17
16: iinc 8 1
17: StackMap locals: char[] int int int int int int int int
StackMap stack:
iinc 6 -1
18: iinc 8 1
end local 7 19: StackMap locals: char[] int int int int int int top int
StackMap stack:
iload 8
iload 2
if_icmpge 33
iload 6
ifgt 13
20: goto 33
end local 6 21: StackMap locals: char[] int int int int int top top int
StackMap stack:
iload 8
iload 4
iadd
iload 1
if_icmpge 23
22: new java.lang.StringIndexOutOfBoundsException
dup
iload 8
invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
athrow
23: StackMap locals:
StackMap stack:
iload 4
ineg
istore 6
start local 6 24: goto 32
25: StackMap locals: char[] int int int int int int top int
StackMap stack:
iinc 8 -1
26: iload 8
iload 1
if_icmpge 28
27: goto 33
28: StackMap locals:
StackMap stack:
aload 0
iload 8
caload
istore 7
start local 7 29: iload 7
invokestatic sun.text.normalizer.UTF16.isTrailSurrogate:(C)Z
ifeq 31
iload 8
iload 1
if_icmple 31
aload 0
iload 8
iconst_1
isub
caload
invokestatic sun.text.normalizer.UTF16.isLeadSurrogate:(C)Z
ifeq 31
30: iinc 8 -1
31: StackMap locals: char[] int int int int int int int int
StackMap stack:
iinc 6 -1
end local 7 StackMap locals: char[] int int int int int int top int
StackMap stack:
32: iload 6
ifgt 25
33: StackMap locals:
StackMap stack:
iload 6
ifeq 35
34: new java.lang.StringIndexOutOfBoundsException
dup
iload 4
invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
athrow
35: StackMap locals:
StackMap stack:
iload 8
iload 1
isub
istore 8
36: iload 8
ireturn
end local 8 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 37 0 source [C
0 37 1 start I
0 37 2 limit I
0 37 3 offset16 I
0 37 4 shift32 I
1 37 5 size I
12 21 6 count I
24 37 6 count I
14 19 7 ch C
29 32 7 ch C
2 37 8 result I
MethodParameters:
Name Flags
source
start
limit
offset16
shift32
private static java.lang.String toString(int);
descriptor: (I)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: iload 0
ldc 65536
if_icmpge 2
1: iload 0
i2c
invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
areturn
2: StackMap locals:
StackMap stack:
new java.lang.StringBuffer
dup
invokespecial java.lang.StringBuffer.<init>:()V
astore 1
start local 1 3: aload 1
iload 0
invokestatic sun.text.normalizer.UTF16.getLeadSurrogate:(I)C
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
4: aload 1
iload 0
invokestatic sun.text.normalizer.UTF16.getTrailSurrogate:(I)C
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
5: aload 1
invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 ch I
3 6 1 result Ljava/lang/StringBuffer;
MethodParameters:
Name Flags
ch
}
SourceFile: "UTF16.java"