class sun.font.CMap$UVS
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: sun.font.CMap$UVS
super_class: java.lang.Object
{
int numSelectors;
descriptor: I
flags: (0x0000)
int[] selector;
descriptor: [I
flags: (0x0000)
int[] numUVSMapping;
descriptor: [I
flags: (0x0000)
int[][] unicodeValue;
descriptor: [[I
flags: (0x0000)
char[][] glyphID;
descriptor: [[C
flags: (0x0000)
static final int VS_NOGLYPH;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 0
void <init>(java.nio.ByteBuffer, int);
descriptor: (Ljava/nio/ByteBuffer;I)V
flags: (0x0000)
Code:
stack=6, locals=7, args_size=3
start local 0 // sun.font.CMap$UVS this
start local 1 // java.nio.ByteBuffer buffer
start local 2 // int offset
0: .line 1106
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 1107
aload 1 /* buffer */
iload 2 /* offset */
bipush 6
iadd
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
pop
2: .line 1108
aload 0 /* this */
aload 1 /* buffer */
invokevirtual java.nio.ByteBuffer.getInt:()I
ldc 2147483647
iand
putfield sun.font.CMap$UVS.numSelectors:I
3: .line 1111
aload 1 /* buffer */
invokevirtual java.nio.ByteBuffer.remaining:()I
i2l
ldc 11
aload 0 /* this */
getfield sun.font.CMap$UVS.numSelectors:I
i2l
lmul
lcmp
ifge 5
4: .line 1112
new java.lang.RuntimeException
dup
ldc "Variations exceed buffer"
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
5: .line 1114
StackMap locals: sun.font.CMap$UVS java.nio.ByteBuffer int
StackMap stack:
aload 0 /* this */
aload 0 /* this */
getfield sun.font.CMap$UVS.numSelectors:I
newarray 10
putfield sun.font.CMap$UVS.selector:[I
6: .line 1115
aload 0 /* this */
aload 0 /* this */
getfield sun.font.CMap$UVS.numSelectors:I
newarray 10
putfield sun.font.CMap$UVS.numUVSMapping:[I
7: .line 1116
aload 0 /* this */
aload 0 /* this */
getfield sun.font.CMap$UVS.numSelectors:I
anewarray int[]
putfield sun.font.CMap$UVS.unicodeValue:[[I
8: .line 1117
aload 0 /* this */
aload 0 /* this */
getfield sun.font.CMap$UVS.numSelectors:I
anewarray char[]
putfield sun.font.CMap$UVS.glyphID:[[C
9: .line 1119
iconst_0
istore 3 /* i */
start local 3 // int i
10: goto 36
11: .line 1120
StackMap locals: int
StackMap stack:
aload 1 /* buffer */
iload 2 /* offset */
bipush 10
iadd
iload 3 /* i */
bipush 11
imul
iadd
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
pop
12: .line 1121
aload 0 /* this */
getfield sun.font.CMap$UVS.selector:[I
iload 3 /* i */
aload 1 /* buffer */
invokevirtual java.nio.ByteBuffer.get:()B
sipush 255
iand
bipush 16
ishl
iastore
13: .line 1122
aload 0 /* this */
getfield sun.font.CMap$UVS.selector:[I
iload 3 /* i */
dup2
iaload
aload 1 /* buffer */
invokevirtual java.nio.ByteBuffer.get:()B
sipush 255
iand
bipush 8
ishl
iadd
iastore
14: .line 1123
aload 0 /* this */
getfield sun.font.CMap$UVS.selector:[I
iload 3 /* i */
dup2
iaload
aload 1 /* buffer */
invokevirtual java.nio.ByteBuffer.get:()B
sipush 255
iand
iadd
iastore
15: .line 1128
aload 1 /* buffer */
iload 2 /* offset */
bipush 10
iadd
iload 3 /* i */
bipush 11
imul
iadd
bipush 7
iadd
invokevirtual java.nio.ByteBuffer.getInt:(I)I
istore 4 /* tableOffset */
start local 4 // int tableOffset
16: .line 1129
iload 4 /* tableOffset */
ifne 19
17: .line 1130
aload 0 /* this */
getfield sun.font.CMap$UVS.numUVSMapping:[I
iload 3 /* i */
iconst_0
iastore
18: .line 1131
goto 35
StackMap locals: int
StackMap stack:
19: iload 4 /* tableOffset */
ifle 35
20: .line 1132
aload 1 /* buffer */
iload 2 /* offset */
iload 4 /* tableOffset */
iadd
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
pop
21: .line 1133
aload 0 /* this */
getfield sun.font.CMap$UVS.numUVSMapping:[I
iload 3 /* i */
aload 1 /* buffer */
invokevirtual java.nio.ByteBuffer.getInt:()I
ldc 2147483647
iand
iastore
22: .line 1136
aload 1 /* buffer */
invokevirtual java.nio.ByteBuffer.remaining:()I
i2l
ldc 5
aload 0 /* this */
getfield sun.font.CMap$UVS.numUVSMapping:[I
iload 3 /* i */
iaload
i2l
lmul
lcmp
ifge 24
23: .line 1137
new java.lang.RuntimeException
dup
ldc "Variations exceed buffer"
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
24: .line 1139
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.font.CMap$UVS.unicodeValue:[[I
iload 3 /* i */
aload 0 /* this */
getfield sun.font.CMap$UVS.numUVSMapping:[I
iload 3 /* i */
iaload
newarray 10
aastore
25: .line 1140
aload 0 /* this */
getfield sun.font.CMap$UVS.glyphID:[[C
iload 3 /* i */
aload 0 /* this */
getfield sun.font.CMap$UVS.numUVSMapping:[I
iload 3 /* i */
iaload
newarray 5
aastore
26: .line 1142
iconst_0
istore 5 /* j */
start local 5 // int j
27: goto 34
28: .line 1143
StackMap locals: int
StackMap stack:
aload 1 /* buffer */
invokevirtual java.nio.ByteBuffer.get:()B
sipush 255
iand
bipush 16
ishl
istore 6 /* temp */
start local 6 // int temp
29: .line 1144
iload 6 /* temp */
aload 1 /* buffer */
invokevirtual java.nio.ByteBuffer.get:()B
sipush 255
iand
bipush 8
ishl
iadd
istore 6 /* temp */
30: .line 1145
iload 6 /* temp */
aload 1 /* buffer */
invokevirtual java.nio.ByteBuffer.get:()B
sipush 255
iand
iadd
istore 6 /* temp */
31: .line 1146
aload 0 /* this */
getfield sun.font.CMap$UVS.unicodeValue:[[I
iload 3 /* i */
aaload
iload 5 /* j */
iload 6 /* temp */
iastore
32: .line 1147
aload 0 /* this */
getfield sun.font.CMap$UVS.glyphID:[[C
iload 3 /* i */
aaload
iload 5 /* j */
aload 1 /* buffer */
invokevirtual java.nio.ByteBuffer.getChar:()C
castore
end local 6 // int temp
33: .line 1142
iinc 5 /* j */ 1
StackMap locals:
StackMap stack:
34: iload 5 /* j */
aload 0 /* this */
getfield sun.font.CMap$UVS.numUVSMapping:[I
iload 3 /* i */
iaload
if_icmplt 28
end local 5 // int j
end local 4 // int tableOffset
35: .line 1119
StackMap locals:
StackMap stack:
iinc 3 /* i */ 1
StackMap locals:
StackMap stack:
36: iload 3 /* i */
aload 0 /* this */
getfield sun.font.CMap$UVS.numSelectors:I
if_icmplt 11
end local 3 // int i
37: .line 1151
return
end local 2 // int offset
end local 1 // java.nio.ByteBuffer buffer
end local 0 // sun.font.CMap$UVS this
LocalVariableTable:
Start End Slot Name Signature
0 38 0 this Lsun/font/CMap$UVS;
0 38 1 buffer Ljava/nio/ByteBuffer;
0 38 2 offset I
10 37 3 i I
16 35 4 tableOffset I
27 35 5 j I
29 33 6 temp I
MethodParameters:
Name Flags
buffer
offset
private int getGlyph(int, int);
descriptor: (II)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=5, args_size=3
start local 0 // sun.font.CMap$UVS this
start local 1 // int charCode
start local 2 // int variationSelector
0: .line 1155
iconst_m1
istore 3 /* targetSelector */
start local 3 // int targetSelector
1: .line 1156
iconst_0
istore 4 /* i */
start local 4 // int i
2: goto 7
3: .line 1157
StackMap locals: int int
StackMap stack:
aload 0 /* this */
getfield sun.font.CMap$UVS.selector:[I
iload 4 /* i */
iaload
iload 2 /* variationSelector */
if_icmpne 6
4: .line 1158
iload 4 /* i */
istore 3 /* targetSelector */
5: .line 1159
goto 8
6: .line 1156
StackMap locals:
StackMap stack:
iinc 4 /* i */ 1
StackMap locals:
StackMap stack:
7: iload 4 /* i */
aload 0 /* this */
getfield sun.font.CMap$UVS.numSelectors:I
if_icmplt 3
end local 4 // int i
8: .line 1162
StackMap locals:
StackMap stack:
iload 3 /* targetSelector */
iconst_m1
if_icmpne 10
9: .line 1163
iconst_0
ireturn
10: .line 1165
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.font.CMap$UVS.numUVSMapping:[I
iload 3 /* targetSelector */
iaload
ifle 15
11: .line 1167
aload 0 /* this */
getfield sun.font.CMap$UVS.unicodeValue:[[I
iload 3 /* targetSelector */
aaload
iload 1 /* charCode */
12: .line 1166
invokestatic java.util.Arrays.binarySearch:([II)I
istore 4 /* index */
start local 4 // int index
13: .line 1168
iload 4 /* index */
iflt 15
14: .line 1169
aload 0 /* this */
getfield sun.font.CMap$UVS.glyphID:[[C
iload 3 /* targetSelector */
aaload
iload 4 /* index */
caload
ireturn
end local 4 // int index
15: .line 1172
StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 3 // int targetSelector
end local 2 // int variationSelector
end local 1 // int charCode
end local 0 // sun.font.CMap$UVS this
LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lsun/font/CMap$UVS;
0 16 1 charCode I
0 16 2 variationSelector I
1 16 3 targetSelector I
2 8 4 i I
13 15 4 index I
MethodParameters:
Name Flags
charCode
variationSelector
}
SourceFile: "CMap.java"
NestHost: sun.font.CMap
InnerClasses:
UVS = sun.font.CMap$UVS of sun.font.CMap