public final class sun.font.BidiUtils
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: sun.font.BidiUtils
super_class: java.lang.Object
{
static final char NUMLEVELS;
descriptor: C
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 62
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 // sun.font.BidiUtils this
0: .line 40
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
return
end local 0 // sun.font.BidiUtils this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/font/BidiUtils;
public static void getLevels(java.text.Bidi, byte[], int);
descriptor: (Ljava/text/Bidi;[BI)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=9, args_size=3
start local 0 // java.text.Bidi bidi
start local 1 // byte[] levels
start local 2 // int start
0: .line 55
iload 2 /* start */
aload 0 /* bidi */
invokevirtual java.text.Bidi.getLength:()I
iadd
istore 3 /* limit */
start local 3 // int limit
1: .line 57
iload 2 /* start */
iflt 2
iload 3 /* limit */
aload 1 /* levels */
arraylength
if_icmple 5
2: .line 58
StackMap locals: int
StackMap stack:
new java.lang.IndexOutOfBoundsException
dup
new java.lang.StringBuilder
dup
ldc "levels.length = "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1 /* levels */
arraylength
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
3: .line 59
ldc " start: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 2 /* start */
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " limit: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 3 /* limit */
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
4: .line 58
invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
athrow
5: .line 62
StackMap locals:
StackMap stack:
aload 0 /* bidi */
invokevirtual java.text.Bidi.getRunCount:()I
istore 4 /* runCount */
start local 4 // int runCount
6: .line 63
iload 2 /* start */
istore 5 /* p */
start local 5 // int p
7: .line 64
iconst_0
istore 6 /* i */
start local 6 // int i
8: goto 15
9: .line 65
StackMap locals: int int int
StackMap stack:
iload 2 /* start */
aload 0 /* bidi */
iload 6 /* i */
invokevirtual java.text.Bidi.getRunLimit:(I)I
iadd
istore 7 /* rlimit */
start local 7 // int rlimit
10: .line 66
aload 0 /* bidi */
iload 6 /* i */
invokevirtual java.text.Bidi.getRunLevel:(I)I
i2b
istore 8 /* rlevel */
start local 8 // byte rlevel
11: .line 68
goto 13
12: .line 69
StackMap locals: int int
StackMap stack:
aload 1 /* levels */
iload 5 /* p */
iinc 5 /* p */ 1
iload 8 /* rlevel */
bastore
13: .line 68
StackMap locals:
StackMap stack:
iload 5 /* p */
iload 7 /* rlimit */
if_icmplt 12
end local 8 // byte rlevel
end local 7 // int rlimit
14: .line 64
iinc 6 /* i */ 1
StackMap locals:
StackMap stack:
15: iload 6 /* i */
iload 4 /* runCount */
if_icmplt 9
end local 6 // int i
16: .line 72
return
end local 5 // int p
end local 4 // int runCount
end local 3 // int limit
end local 2 // int start
end local 1 // byte[] levels
end local 0 // java.text.Bidi bidi
LocalVariableTable:
Start End Slot Name Signature
0 17 0 bidi Ljava/text/Bidi;
0 17 1 levels [B
0 17 2 start I
1 17 3 limit I
6 17 4 runCount I
7 17 5 p I
8 16 6 i I
10 14 7 rlimit I
11 14 8 rlevel B
MethodParameters:
Name Flags
bidi
levels
start
public static byte[] getLevels(java.text.Bidi);
descriptor: (Ljava/text/Bidi;)[B
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 // java.text.Bidi bidi
0: .line 79
aload 0 /* bidi */
invokevirtual java.text.Bidi.getLength:()I
newarray 8
astore 1 /* levels */
start local 1 // byte[] levels
1: .line 80
aload 0 /* bidi */
aload 1 /* levels */
iconst_0
invokestatic sun.font.BidiUtils.getLevels:(Ljava/text/Bidi;[BI)V
2: .line 81
aload 1 /* levels */
areturn
end local 1 // byte[] levels
end local 0 // java.text.Bidi bidi
LocalVariableTable:
Start End Slot Name Signature
0 3 0 bidi Ljava/text/Bidi;
1 3 1 levels [B
MethodParameters:
Name Flags
bidi
public static int[] createVisualToLogicalMap(byte[]);
descriptor: ([B)[I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=9, args_size=1
start local 0 // byte[] levels
0: .line 95
aload 0 /* levels */
arraylength
istore 1 /* len */
start local 1 // int len
1: .line 96
iload 1 /* len */
newarray 10
astore 2 /* mapping */
start local 2 // int[] mapping
2: .line 98
bipush 63
istore 3 /* lowestOddLevel */
start local 3 // byte lowestOddLevel
3: .line 99
iconst_0
istore 4 /* highestLevel */
start local 4 // byte highestLevel
4: .line 103
iconst_0
istore 5 /* i */
start local 5 // int i
5: goto 13
6: .line 104
StackMap locals: byte[] int int[] int int int
StackMap stack:
aload 2 /* mapping */
iload 5 /* i */
iload 5 /* i */
iastore
7: .line 106
aload 0 /* levels */
iload 5 /* i */
baload
istore 6 /* level */
start local 6 // byte level
8: .line 107
iload 6 /* level */
iload 4 /* highestLevel */
if_icmple 10
9: .line 108
iload 6 /* level */
istore 4 /* highestLevel */
10: .line 111
StackMap locals: int
StackMap stack:
iload 6 /* level */
iconst_1
iand
ifeq 12
iload 6 /* level */
iload 3 /* lowestOddLevel */
if_icmpge 12
11: .line 112
iload 6 /* level */
istore 3 /* lowestOddLevel */
end local 6 // byte level
12: .line 103
StackMap locals:
StackMap stack:
iinc 5 /* i */ 1
StackMap locals:
StackMap stack:
13: iload 5 /* i */
iload 1 /* len */
if_icmplt 6
end local 5 // int i
14: .line 116
goto 34
15: .line 117
StackMap locals:
StackMap stack:
iconst_0
istore 5 /* i */
start local 5 // int i
16: .line 119
goto 18
17: .line 120
StackMap locals: int
StackMap stack:
iinc 5 /* i */ 1
18: .line 119
StackMap locals:
StackMap stack:
iload 5 /* i */
iload 1 /* len */
if_icmpge 19
aload 0 /* levels */
iload 5 /* i */
baload
iload 4 /* highestLevel */
if_icmplt 17
19: .line 122
StackMap locals:
StackMap stack:
iload 5 /* i */
iinc 5 /* i */ 1
istore 6 /* begin */
start local 6 // int begin
20: .line 124
iload 6 /* begin */
aload 0 /* levels */
arraylength
if_icmpne 23
21: .line 125
goto 33
22: .line 129
StackMap locals: int
StackMap stack:
iinc 5 /* i */ 1
23: .line 128
StackMap locals:
StackMap stack:
iload 5 /* i */
iload 1 /* len */
if_icmpge 24
aload 0 /* levels */
iload 5 /* i */
baload
iload 4 /* highestLevel */
if_icmpge 22
24: .line 131
StackMap locals:
StackMap stack:
iload 5 /* i */
iconst_1
isub
istore 7 /* end */
start local 7 // int end
25: .line 133
goto 31
26: .line 134
StackMap locals: int
StackMap stack:
aload 2 /* mapping */
iload 6 /* begin */
iaload
istore 8 /* temp */
start local 8 // int temp
27: .line 135
aload 2 /* mapping */
iload 6 /* begin */
aload 2 /* mapping */
iload 7 /* end */
iaload
iastore
28: .line 136
aload 2 /* mapping */
iload 7 /* end */
iload 8 /* temp */
iastore
29: .line 137
iinc 6 /* begin */ 1
30: .line 138
iinc 7 /* end */ -1
end local 8 // int temp
31: .line 133
StackMap locals:
StackMap stack:
iload 6 /* begin */
iload 7 /* end */
if_icmplt 26
end local 7 // int end
end local 6 // int begin
32: .line 118
goto 18
33: .line 142
StackMap locals:
StackMap stack:
iload 4 /* highestLevel */
iconst_1
isub
i2b
istore 4 /* highestLevel */
end local 5 // int i
34: .line 116
StackMap locals:
StackMap stack:
iload 4 /* highestLevel */
iload 3 /* lowestOddLevel */
if_icmpge 15
35: .line 145
aload 2 /* mapping */
areturn
end local 4 // byte highestLevel
end local 3 // byte lowestOddLevel
end local 2 // int[] mapping
end local 1 // int len
end local 0 // byte[] levels
LocalVariableTable:
Start End Slot Name Signature
0 36 0 levels [B
1 36 1 len I
2 36 2 mapping [I
3 36 3 lowestOddLevel B
4 36 4 highestLevel B
5 14 5 i I
8 12 6 level B
16 34 5 i I
20 32 6 begin I
25 32 7 end I
27 31 8 temp I
MethodParameters:
Name Flags
levels
public static int[] createInverseMap(int[]);
descriptor: ([I)[I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=1
start local 0 // int[] values
0: .line 156
aload 0 /* values */
ifnonnull 2
1: .line 157
aconst_null
areturn
2: .line 160
StackMap locals:
StackMap stack:
aload 0 /* values */
arraylength
newarray 10
astore 1 /* result */
start local 1 // int[] result
3: .line 161
iconst_0
istore 2 /* i */
start local 2 // int i
4: goto 7
5: .line 162
StackMap locals: int[] int
StackMap stack:
aload 1 /* result */
aload 0 /* values */
iload 2 /* i */
iaload
iload 2 /* i */
iastore
6: .line 161
iinc 2 /* i */ 1
StackMap locals:
StackMap stack:
7: iload 2 /* i */
aload 0 /* values */
arraylength
if_icmplt 5
end local 2 // int i
8: .line 165
aload 1 /* result */
areturn
end local 1 // int[] result
end local 0 // int[] values
LocalVariableTable:
Start End Slot Name Signature
0 9 0 values [I
3 9 1 result [I
4 8 2 i I
MethodParameters:
Name Flags
values
public static int[] createContiguousOrder(int[]);
descriptor: ([I)[I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 // int[] values
0: .line 179
aload 0 /* values */
ifnull 2
1: .line 180
aload 0 /* values */
iconst_0
aload 0 /* values */
arraylength
invokestatic sun.font.BidiUtils.computeContiguousOrder:([III)[I
areturn
2: .line 183
StackMap locals:
StackMap stack:
aconst_null
areturn
end local 0 // int[] values
LocalVariableTable:
Start End Slot Name Signature
0 3 0 values [I
MethodParameters:
Name Flags
values
private static int[] computeContiguousOrder(int[], int, int);
descriptor: ([III)[I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=8, args_size=3
start local 0 // int[] values
start local 1 // int start
start local 2 // int limit
0: .line 192
iload 2 /* limit */
iload 1 /* start */
isub
newarray 10
astore 3 /* result */
start local 3 // int[] result
1: .line 193
iconst_0
istore 4 /* i */
start local 4 // int i
2: goto 5
3: .line 194
StackMap locals: int[] int
StackMap stack:
aload 3 /* result */
iload 4 /* i */
iload 4 /* i */
iload 1 /* start */
iadd
iastore
4: .line 193
iinc 4 /* i */ 1
StackMap locals:
StackMap stack:
5: iload 4 /* i */
aload 3 /* result */
arraylength
if_icmplt 3
end local 4 // int i
6: .line 201
iconst_0
istore 4 /* i */
start local 4 // int i
7: goto 21
8: .line 202
StackMap locals:
StackMap stack:
iload 4 /* i */
istore 5 /* minIndex */
start local 5 // int minIndex
9: .line 203
aload 0 /* values */
aload 3 /* result */
iload 5 /* minIndex */
iaload
iaload
istore 6 /* currentValue */
start local 6 // int currentValue
10: .line 204
iload 4 /* i */
istore 7 /* j */
start local 7 // int j
11: goto 16
12: .line 205
StackMap locals: int int int
StackMap stack:
aload 0 /* values */
aload 3 /* result */
iload 7 /* j */
iaload
iaload
iload 6 /* currentValue */
if_icmpge 15
13: .line 206
iload 7 /* j */
istore 5 /* minIndex */
14: .line 207
aload 0 /* values */
aload 3 /* result */
iload 5 /* minIndex */
iaload
iaload
istore 6 /* currentValue */
15: .line 204
StackMap locals:
StackMap stack:
iinc 7 /* j */ 1
StackMap locals:
StackMap stack:
16: iload 7 /* j */
aload 3 /* result */
arraylength
if_icmplt 12
end local 7 // int j
17: .line 210
aload 3 /* result */
iload 4 /* i */
iaload
istore 7 /* temp */
start local 7 // int temp
18: .line 211
aload 3 /* result */
iload 4 /* i */
aload 3 /* result */
iload 5 /* minIndex */
iaload
iastore
19: .line 212
aload 3 /* result */
iload 5 /* minIndex */
iload 7 /* temp */
iastore
end local 7 // int temp
end local 6 // int currentValue
end local 5 // int minIndex
20: .line 201
iinc 4 /* i */ 1
StackMap locals:
StackMap stack:
21: iload 4 /* i */
aload 3 /* result */
arraylength
iconst_1
isub
if_icmplt 8
end local 4 // int i
22: .line 216
iload 1 /* start */
ifeq 28
23: .line 217
iconst_0
istore 4 /* i */
start local 4 // int i
24: goto 27
25: .line 218
StackMap locals:
StackMap stack:
aload 3 /* result */
iload 4 /* i */
dup2
iaload
iload 1 /* start */
isub
iastore
26: .line 217
iinc 4 /* i */ 1
StackMap locals:
StackMap stack:
27: iload 4 /* i */
aload 3 /* result */
arraylength
if_icmplt 25
end local 4 // int i
28: .line 224
StackMap locals:
StackMap stack:
iconst_0
istore 4 /* k */
start local 4 // int k
29: goto 33
30: .line 225
StackMap locals: int
StackMap stack:
aload 3 /* result */
iload 4 /* k */
iaload
iload 4 /* k */
if_icmpeq 32
31: .line 226
goto 34
32: .line 224
StackMap locals:
StackMap stack:
iinc 4 /* k */ 1
StackMap locals:
StackMap stack:
33: iload 4 /* k */
aload 3 /* result */
arraylength
if_icmplt 30
34: .line 230
StackMap locals:
StackMap stack:
iload 4 /* k */
aload 3 /* result */
arraylength
if_icmpne 36
35: .line 231
aconst_null
areturn
36: .line 235
StackMap locals:
StackMap stack:
aload 3 /* result */
invokestatic sun.font.BidiUtils.createInverseMap:([I)[I
areturn
end local 4 // int k
end local 3 // int[] result
end local 2 // int limit
end local 1 // int start
end local 0 // int[] values
LocalVariableTable:
Start End Slot Name Signature
0 37 0 values [I
0 37 1 start I
0 37 2 limit I
1 37 3 result [I
2 6 4 i I
7 22 4 i I
9 20 5 minIndex I
10 20 6 currentValue I
11 17 7 j I
18 20 7 temp I
24 28 4 i I
29 37 4 k I
MethodParameters:
Name Flags
values
start
limit
public static int[] createNormalizedMap(int[], byte[], int, int);
descriptor: ([I[BII)[I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=10, args_size=4
start local 0 // int[] values
start local 1 // byte[] levels
start local 2 // int start
start local 3 // int limit
0: .line 253
aload 0 /* values */
ifnull 48
1: .line 254
iload 2 /* start */
ifne 2
iload 3 /* limit */
aload 0 /* values */
arraylength
if_icmpeq 47
2: .line 259
StackMap locals:
StackMap stack:
aload 1 /* levels */
ifnonnull 7
3: .line 260
iconst_0
istore 6 /* primaryLevel */
start local 6 // byte primaryLevel
4: .line 261
iconst_1
istore 4 /* copyRange */
start local 4 // boolean copyRange
5: .line 262
iconst_1
istore 5 /* canonical */
start local 5 // boolean canonical
6: .line 263
goto 29
end local 6 // byte primaryLevel
end local 5 // boolean canonical
end local 4 // boolean copyRange
7: .line 265
StackMap locals:
StackMap stack:
aload 1 /* levels */
iload 2 /* start */
baload
aload 1 /* levels */
iload 3 /* limit */
iconst_1
isub
baload
if_icmpne 26
8: .line 266
aload 1 /* levels */
iload 2 /* start */
baload
istore 6 /* primaryLevel */
start local 6 // byte primaryLevel
9: .line 267
iload 6 /* primaryLevel */
iconst_1
iand
ifne 10
iconst_1
goto 11
StackMap locals: int[] byte[] int int top top int
StackMap stack:
10: iconst_0
StackMap locals:
StackMap stack: int
11: istore 5 /* canonical */
start local 5 // boolean canonical
12: .line 271
iload 2 /* start */
istore 7 /* i */
start local 7 // int i
13: goto 21
14: .line 272
StackMap locals: int[] byte[] int int top int int int
StackMap stack:
aload 1 /* levels */
iload 7 /* i */
baload
iload 6 /* primaryLevel */
if_icmpge 16
15: .line 273
goto 22
16: .line 275
StackMap locals:
StackMap stack:
iload 5 /* canonical */
ifeq 20
17: .line 276
aload 1 /* levels */
iload 7 /* i */
baload
iload 6 /* primaryLevel */
if_icmpne 18
iconst_1
goto 19
StackMap locals:
StackMap stack:
18: iconst_0
StackMap locals:
StackMap stack: int
19: istore 5 /* canonical */
20: .line 271
StackMap locals:
StackMap stack:
iinc 7 /* i */ 1
StackMap locals:
StackMap stack:
21: iload 7 /* i */
iload 3 /* limit */
if_icmplt 14
22: .line 280
StackMap locals:
StackMap stack:
iload 7 /* i */
iload 3 /* limit */
if_icmpne 23
iconst_1
goto 24
StackMap locals:
StackMap stack:
23: iconst_0
StackMap locals:
StackMap stack: int
24: istore 4 /* copyRange */
end local 7 // int i
start local 4 // boolean copyRange
25: .line 281
goto 29
end local 6 // byte primaryLevel
end local 5 // boolean canonical
end local 4 // boolean copyRange
26: .line 283
StackMap locals: int[] byte[] int int
StackMap stack:
iconst_0
istore 4 /* copyRange */
start local 4 // boolean copyRange
27: .line 286
iconst_0
istore 6 /* primaryLevel */
start local 6 // byte primaryLevel
28: .line 287
iconst_0
istore 5 /* canonical */
start local 5 // boolean canonical
29: .line 291
StackMap locals: int int int
StackMap stack:
iload 4 /* copyRange */
ifeq 46
30: .line 292
iload 5 /* canonical */
ifeq 32
31: .line 293
aconst_null
areturn
32: .line 296
StackMap locals:
StackMap stack:
iload 3 /* limit */
iload 2 /* start */
isub
newarray 10
astore 7 /* result */
start local 7 // int[] result
33: .line 299
iload 6 /* primaryLevel */
iconst_1
iand
ifeq 36
34: .line 300
aload 0 /* values */
iload 3 /* limit */
iconst_1
isub
iaload
istore 8 /* baseValue */
start local 8 // int baseValue
35: .line 301
goto 37
end local 8 // int baseValue
36: .line 302
StackMap locals: int[]
StackMap stack:
aload 0 /* values */
iload 2 /* start */
iaload
istore 8 /* baseValue */
start local 8 // int baseValue
37: .line 305
StackMap locals: int
StackMap stack:
iload 8 /* baseValue */
ifne 40
38: .line 306
aload 0 /* values */
iload 2 /* start */
aload 7 /* result */
iconst_0
iload 3 /* limit */
iload 2 /* start */
isub
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
39: .line 307
goto 45
40: .line 309
StackMap locals:
StackMap stack:
iconst_0
istore 9 /* j */
start local 9 // int j
41: goto 44
42: .line 310
StackMap locals: int
StackMap stack:
aload 7 /* result */
iload 9 /* j */
aload 0 /* values */
iload 9 /* j */
iload 2 /* start */
iadd
iaload
iload 8 /* baseValue */
isub
iastore
43: .line 309
iinc 9 /* j */ 1
StackMap locals:
StackMap stack:
44: iload 9 /* j */
aload 7 /* result */
arraylength
if_icmplt 42
end local 9 // int j
45: .line 314
StackMap locals:
StackMap stack:
aload 7 /* result */
areturn
end local 8 // int baseValue
end local 7 // int[] result
46: .line 317
StackMap locals:
StackMap stack:
aload 0 /* values */
iload 2 /* start */
iload 3 /* limit */
invokestatic sun.font.BidiUtils.computeContiguousOrder:([III)[I
areturn
end local 6 // byte primaryLevel
end local 5 // boolean canonical
end local 4 // boolean copyRange
47: .line 321
StackMap locals:
StackMap stack:
aload 0 /* values */
areturn
48: .line 325
StackMap locals:
StackMap stack:
aconst_null
areturn
end local 3 // int limit
end local 2 // int start
end local 1 // byte[] levels
end local 0 // int[] values
LocalVariableTable:
Start End Slot Name Signature
0 49 0 values [I
0 49 1 levels [B
0 49 2 start I
0 49 3 limit I
5 7 4 copyRange Z
25 26 4 copyRange Z
27 47 4 copyRange Z
6 7 5 canonical Z
12 26 5 canonical Z
29 47 5 canonical Z
4 7 6 primaryLevel B
9 26 6 primaryLevel B
28 47 6 primaryLevel B
13 25 7 i I
33 46 7 result [I
35 36 8 baseValue I
37 46 8 baseValue I
41 45 9 j I
MethodParameters:
Name Flags
values
levels
start
limit
public static void reorderVisually(byte[], java.lang.Object[]);
descriptor: ([B[Ljava/lang/Object;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=9, args_size=2
start local 0 // byte[] levels
start local 1 // java.lang.Object[] objects
0: .line 339
aload 0 /* levels */
arraylength
istore 2 /* len */
start local 2 // int len
1: .line 341
bipush 63
istore 3 /* lowestOddLevel */
start local 3 // byte lowestOddLevel
2: .line 342
iconst_0
istore 4 /* highestLevel */
start local 4 // byte highestLevel
3: .line 346
iconst_0
istore 5 /* i */
start local 5 // int i
4: goto 11
5: .line 347
StackMap locals: byte[] java.lang.Object[] int int int int
StackMap stack:
aload 0 /* levels */
iload 5 /* i */
baload
istore 6 /* level */
start local 6 // byte level
6: .line 348
iload 6 /* level */
iload 4 /* highestLevel */
if_icmple 8
7: .line 349
iload 6 /* level */
istore 4 /* highestLevel */
8: .line 352
StackMap locals: int
StackMap stack:
iload 6 /* level */
iconst_1
iand
ifeq 10
iload 6 /* level */
iload 3 /* lowestOddLevel */
if_icmpge 10
9: .line 353
iload 6 /* level */
istore 3 /* lowestOddLevel */
end local 6 // byte level
10: .line 346
StackMap locals:
StackMap stack:
iinc 5 /* i */ 1
StackMap locals:
StackMap stack:
11: iload 5 /* i */
iload 2 /* len */
if_icmplt 5
end local 5 // int i
12: .line 357
goto 32
13: .line 358
StackMap locals:
StackMap stack:
iconst_0
istore 5 /* i */
start local 5 // int i
14: .line 360
goto 16
15: .line 361
StackMap locals: int
StackMap stack:
iinc 5 /* i */ 1
16: .line 360
StackMap locals:
StackMap stack:
iload 5 /* i */
iload 2 /* len */
if_icmpge 17
aload 0 /* levels */
iload 5 /* i */
baload
iload 4 /* highestLevel */
if_icmplt 15
17: .line 363
StackMap locals:
StackMap stack:
iload 5 /* i */
iinc 5 /* i */ 1
istore 6 /* begin */
start local 6 // int begin
18: .line 365
iload 6 /* begin */
aload 0 /* levels */
arraylength
if_icmpne 21
19: .line 366
goto 31
20: .line 370
StackMap locals: int
StackMap stack:
iinc 5 /* i */ 1
21: .line 369
StackMap locals:
StackMap stack:
iload 5 /* i */
iload 2 /* len */
if_icmpge 22
aload 0 /* levels */
iload 5 /* i */
baload
iload 4 /* highestLevel */
if_icmpge 20
22: .line 372
StackMap locals:
StackMap stack:
iload 5 /* i */
iconst_1
isub
istore 7 /* end */
start local 7 // int end
23: .line 374
goto 29
24: .line 375
StackMap locals: int
StackMap stack:
aload 1 /* objects */
iload 6 /* begin */
aaload
astore 8 /* temp */
start local 8 // java.lang.Object temp
25: .line 376
aload 1 /* objects */
iload 6 /* begin */
aload 1 /* objects */
iload 7 /* end */
aaload
aastore
26: .line 377
aload 1 /* objects */
iload 7 /* end */
aload 8 /* temp */
aastore
27: .line 378
iinc 6 /* begin */ 1
28: .line 379
iinc 7 /* end */ -1
end local 8 // java.lang.Object temp
29: .line 374
StackMap locals:
StackMap stack:
iload 6 /* begin */
iload 7 /* end */
if_icmplt 24
end local 7 // int end
end local 6 // int begin
30: .line 359
goto 16
31: .line 383
StackMap locals:
StackMap stack:
iload 4 /* highestLevel */
iconst_1
isub
i2b
istore 4 /* highestLevel */
end local 5 // int i
32: .line 357
StackMap locals:
StackMap stack:
iload 4 /* highestLevel */
iload 3 /* lowestOddLevel */
if_icmpge 13
33: .line 385
return
end local 4 // byte highestLevel
end local 3 // byte lowestOddLevel
end local 2 // int len
end local 1 // java.lang.Object[] objects
end local 0 // byte[] levels
LocalVariableTable:
Start End Slot Name Signature
0 34 0 levels [B
0 34 1 objects [Ljava/lang/Object;
1 34 2 len I
2 34 3 lowestOddLevel B
3 34 4 highestLevel B
4 12 5 i I
6 10 6 level B
14 32 5 i I
18 30 6 begin I
23 30 7 end I
25 29 8 temp Ljava/lang/Object;
MethodParameters:
Name Flags
levels
objects
}
SourceFile: "BidiUtils.java"