public final class java.text.Bidi
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: java.text.Bidi
super_class: java.lang.Object
{
byte dir;
descriptor: B
flags: (0x0000)
byte baselevel;
descriptor: B
flags: (0x0000)
int length;
descriptor: I
flags: (0x0000)
int[] runs;
descriptor: [I
flags: (0x0000)
int[] cws;
descriptor: [I
flags: (0x0000)
public static final int DIRECTION_LEFT_TO_RIGHT;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 0
public static final int DIRECTION_RIGHT_TO_LEFT;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1
public static final int DIRECTION_DEFAULT_LEFT_TO_RIGHT;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: -2
public static final int DIRECTION_DEFAULT_RIGHT_TO_LEFT;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: -1
private static final int DIR_MIXED;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2
private static final char NUMLEVELS;
descriptor: C
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 62
private static final int RMASK;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 57378
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=0, locals=0, args_size=0
0: invokestatic sun.font.FontManagerNativeLibrary.load:()V
1: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(java.lang.String, int);
descriptor: (Ljava/lang/String;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 1
ifnonnull 3
2: new java.lang.IllegalArgumentException
dup
ldc "paragraph is null"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: java.text.Bidi java.lang.String int
StackMap stack:
aload 0
aload 1
invokevirtual java.lang.String.toCharArray:()[C
iconst_0
aconst_null
iconst_0
aload 1
invokevirtual java.lang.String.length:()I
iload 2
invokestatic java.text.Bidi.nativeBidiChars:(Ljava/text/Bidi;[CI[BIII)V
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/text/Bidi;
0 5 1 paragraph Ljava/lang/String;
0 5 2 flags I
MethodParameters:
Name Flags
paragraph
flags
public void <init>(java.text.AttributedCharacterIterator);
descriptor: (Ljava/text/AttributedCharacterIterator;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=15, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 1
ifnonnull 3
2: new java.lang.IllegalArgumentException
dup
ldc "paragraph is null"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: java.text.Bidi java.text.AttributedCharacterIterator
StackMap stack:
bipush -2
istore 2
start local 2 4: aconst_null
astore 3
start local 3 5: aload 1
invokeinterface java.text.AttributedCharacterIterator.getBeginIndex:()I
istore 4
start local 4 6: aload 1
invokeinterface java.text.AttributedCharacterIterator.getEndIndex:()I
istore 5
start local 5 7: iload 5
iload 4
isub
istore 6
start local 6 8: iconst_0
istore 7
start local 7 9: iload 6
newarray 5
astore 8
start local 8 10: aload 1
invokeinterface java.text.AttributedCharacterIterator.first:()C
istore 9
start local 9 11: goto 14
12: StackMap locals: java.text.Bidi java.text.AttributedCharacterIterator int byte[] int int int int char[] int
StackMap stack:
aload 8
iload 7
iinc 7 1
iload 9
castore
13: aload 1
invokeinterface java.text.AttributedCharacterIterator.next:()C
istore 9
StackMap locals:
StackMap stack:
14: iload 9
ldc 65535
if_icmpne 12
end local 9 15: aload 1
invokeinterface java.text.AttributedCharacterIterator.first:()C
pop
16: aload 1
getstatic java.awt.font.TextAttribute.RUN_DIRECTION:Ljava/awt/font/TextAttribute;
invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
checkcast java.lang.Boolean
astore 9
start local 9 17: aload 9
ifnull 24
18: getstatic java.awt.font.TextAttribute.RUN_DIRECTION_LTR:Ljava/lang/Boolean;
aload 9
invokevirtual java.lang.Boolean.equals:(Ljava/lang/Object;)Z
ifeq 21
19: iconst_0
istore 2
20: goto 24
21: StackMap locals: java.text.Bidi java.text.AttributedCharacterIterator int byte[] int int int int char[] java.lang.Boolean
StackMap stack:
iconst_1
istore 2
end local 9 22: goto 24
23: StackMap locals: java.text.Bidi java.text.AttributedCharacterIterator int byte[] int int int int char[]
StackMap stack: java.lang.ClassCastException
pop
24: StackMap locals:
StackMap stack:
aload 1
getstatic java.awt.font.TextAttribute.NUMERIC_SHAPING:Ljava/awt/font/TextAttribute;
invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
checkcast java.awt.font.NumericShaper
astore 9
start local 9 25: aload 9
ifnull 29
26: aload 9
aload 8
iconst_0
aload 8
arraylength
invokevirtual java.awt.font.NumericShaper.shape:([CII)V
end local 9 27: goto 29
28: StackMap locals:
StackMap stack: java.lang.ClassCastException
pop
29: StackMap locals:
StackMap stack:
iload 4
istore 9
start local 9 30: StackMap locals: int
StackMap stack:
aload 1
iload 9
invokeinterface java.text.AttributedCharacterIterator.setIndex:(I)C
pop
31: aload 1
getstatic java.awt.font.TextAttribute.BIDI_EMBEDDING:Ljava/awt/font/TextAttribute;
invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
astore 10
start local 10 32: aload 1
getstatic java.awt.font.TextAttribute.BIDI_EMBEDDING:Ljava/awt/font/TextAttribute;
invokeinterface java.text.AttributedCharacterIterator.getRunLimit:(Ljava/text/AttributedCharacterIterator$Attribute;)I
istore 11
start local 11 33: aload 10
ifnull 48
34: aload 10
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
istore 12
start local 12 35: iload 12
bipush -61
if_icmplt 48
iload 12
bipush 61
if_icmpge 48
36: iload 12
ifge 37
iload 12
ineg
sipush 128
ior
goto 38
StackMap locals: java.lang.Object int int
StackMap stack:
37: iload 12
StackMap locals:
StackMap stack: int
38: i2b
istore 13
start local 13 39: aload 3
ifnonnull 41
40: iload 6
newarray 8
astore 3
41: StackMap locals: int
StackMap stack:
iload 9
iload 4
isub
istore 14
start local 14 42: goto 45
43: StackMap locals: int
StackMap stack:
aload 3
iload 14
iload 13
bastore
44: iinc 14 1
StackMap locals:
StackMap stack:
45: iload 14
iload 11
iload 4
isub
if_icmplt 43
end local 14 end local 13 end local 12 46: goto 48
47: StackMap locals: java.text.Bidi java.text.AttributedCharacterIterator int byte[] int int int int char[] int java.lang.Object int
StackMap stack: java.lang.ClassCastException
pop
48: StackMap locals:
StackMap stack:
iload 11
istore 9
end local 11 end local 10 49: iload 9
iload 5
50: if_icmplt 30
51: aload 0
aload 8
iconst_0
aload 3
iconst_0
aload 8
arraylength
iload 2
invokestatic java.text.Bidi.nativeBidiChars:(Ljava/text/Bidi;[CI[BIII)V
52: return
end local 9 end local 8 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 53 0 this Ljava/text/Bidi;
0 53 1 paragraph Ljava/text/AttributedCharacterIterator;
4 53 2 flags I
5 53 3 embeddings [B
6 53 4 start I
7 53 5 limit I
8 53 6 length I
9 53 7 n I
10 53 8 text [C
11 15 9 c C
17 22 9 runDirection Ljava/lang/Boolean;
25 27 9 shaper Ljava/awt/font/NumericShaper;
30 53 9 pos I
32 49 10 embeddingLevel Ljava/lang/Object;
33 49 11 newpos I
35 46 12 intLevel I
39 46 13 level B
42 46 14 i I
Exception table:
from to target type
16 22 23 Class java.lang.ClassCastException
24 27 28 Class java.lang.ClassCastException
34 46 47 Class java.lang.ClassCastException
MethodParameters:
Name Flags
paragraph
public void <init>(char[], int, byte[], int, int, int);
descriptor: ([CI[BIII)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=10, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 1
ifnonnull 3
2: new java.lang.IllegalArgumentException
dup
ldc "text is null"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: java.text.Bidi char[] int byte[] int int int
StackMap stack:
iload 5
ifge 5
4: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "bad length: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 5
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
5: StackMap locals:
StackMap stack:
iload 2
iflt 6
iload 5
aload 1
arraylength
iload 2
isub
if_icmple 10
6: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "bad range: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
7: ldc " length: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 5
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
8: ldc " for text of length: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
arraylength
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
9: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
10: StackMap locals:
StackMap stack:
aload 3
ifnull 15
iload 4
iflt 11
iload 5
aload 3
arraylength
iload 4
isub
if_icmple 15
11: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "bad range: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 4
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
12: ldc " length: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 5
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
13: ldc " for embeddings of length: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
arraylength
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
14: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
15: StackMap locals:
StackMap stack:
aload 3
ifnull 32
16: iload 4
istore 7
start local 7 17: iload 4
iload 5
iadd
istore 8
start local 8 18: goto 31
19: StackMap locals: int int
StackMap stack:
aload 3
iload 7
baload
ifge 30
20: iload 5
newarray 8
astore 9
start local 9 21: aload 3
iload 4
aload 9
iconst_0
iload 5
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
22: iload 7
iload 4
isub
istore 7
goto 26
23: StackMap locals: byte[]
StackMap stack:
aload 9
iload 7
baload
ifge 25
24: aload 9
iload 7
aload 9
iload 7
baload
ineg
sipush 128
ior
i2b
bastore
25: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
26: iload 7
iload 5
if_icmplt 23
27: aload 9
astore 3
28: iconst_0
istore 4
29: goto 32
end local 9 30: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
31: iload 7
iload 8
if_icmplt 19
end local 8 end local 7 32: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 2
aload 3
iload 4
iload 5
iload 6
invokestatic java.text.Bidi.nativeBidiChars:(Ljava/text/Bidi;[CI[BIII)V
33: return
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 34 0 this Ljava/text/Bidi;
0 34 1 text [C
0 34 2 textStart I
0 34 3 embeddings [B
0 34 4 embStart I
0 34 5 paragraphLength I
0 34 6 flags I
17 32 7 i I
18 32 8 embLimit I
21 30 9 temp [B
MethodParameters:
Name Flags
text
textStart
embeddings
embStart
paragraphLength
flags
private void <init>(int, int, int, int[], int[]);
descriptor: (III[I[I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iload 1
iload 2
iload 3
aload 4
aload 5
invokevirtual java.text.Bidi.reset:(III[I[I)V
2: return
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 3 0 this Ljava/text/Bidi;
0 3 1 dir I
0 3 2 baseLevel I
0 3 3 length I
0 3 4 data [I
0 3 5 cws [I
MethodParameters:
Name Flags
dir
baseLevel
length
data
cws
private void reset(int, int, int, int[], int[]);
descriptor: (III[I[I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
iload 1
i2b
putfield java.text.Bidi.dir:B
1: aload 0
iload 2
i2b
putfield java.text.Bidi.baselevel:B
2: aload 0
iload 3
putfield java.text.Bidi.length:I
3: aload 0
aload 4
putfield java.text.Bidi.runs:[I
4: aload 0
aload 5
putfield java.text.Bidi.cws:[I
5: return
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 6 0 this Ljava/text/Bidi;
0 6 1 dir I
0 6 2 baselevel I
0 6 3 length I
0 6 4 data [I
0 6 5 cws [I
MethodParameters:
Name Flags
dir
baselevel
length
data
cws
public java.text.Bidi createLineBidi(int, int);
descriptor: (II)Ljava/text/Bidi;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=13, args_size=3
start local 0 start local 1 start local 2 0: iload 1
ifne 2
iload 2
aload 0
getfield java.text.Bidi.length:I
if_icmpne 2
1: aload 0
areturn
2: StackMap locals:
StackMap stack:
iload 2
iload 1
isub
istore 3
start local 3 3: iload 1
iflt 6
4: iload 2
iload 1
if_icmplt 6
5: iload 2
aload 0
getfield java.text.Bidi.length:I
if_icmple 10
6: StackMap locals: int
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "range "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
7: ldc " to "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
8: ldc " is invalid for paragraph of length "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield java.text.Bidi.length:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
9: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
10: StackMap locals:
StackMap stack:
aload 0
getfield java.text.Bidi.runs:[I
ifnonnull 12
11: new java.text.Bidi
dup
aload 0
getfield java.text.Bidi.dir:B
aload 0
getfield java.text.Bidi.baselevel:B
iload 3
aconst_null
aconst_null
invokespecial java.text.Bidi.<init>:(III[I[I)V
areturn
12: StackMap locals:
StackMap stack:
iconst_m1
istore 4
start local 4 13: aconst_null
astore 5
start local 5 14: aload 0
getfield java.text.Bidi.cws:[I
ifnull 42
15: iconst_0
istore 6
start local 6 16: aload 0
getfield java.text.Bidi.cws:[I
arraylength
istore 7
start local 7 17: goto 41
18: StackMap locals: java.text.Bidi int int int int int[] int int
StackMap stack:
aload 0
getfield java.text.Bidi.cws:[I
iload 6
iaload
iload 1
if_icmplt 40
19: iload 6
istore 7
20: goto 22
21: StackMap locals:
StackMap stack:
iinc 7 1
22: StackMap locals:
StackMap stack:
iload 7
aload 0
getfield java.text.Bidi.cws:[I
arraylength
if_icmpge 23
aload 0
getfield java.text.Bidi.cws:[I
iload 7
iaload
iload 2
if_icmplt 21
23: StackMap locals:
StackMap stack:
iload 2
iconst_1
isub
istore 8
start local 8 24: goto 28
25: StackMap locals: int
StackMap stack:
iload 8
istore 4
26: iinc 7 -1
27: iinc 8 -1
28: StackMap locals:
StackMap stack:
iload 7
iload 6
if_icmple 29
aload 0
getfield java.text.Bidi.cws:[I
iload 7
iconst_1
isub
iaload
iload 8
if_icmpeq 25
29: StackMap locals:
StackMap stack:
iload 4
iload 1
if_icmpne 31
30: new java.text.Bidi
dup
aload 0
getfield java.text.Bidi.dir:B
aload 0
getfield java.text.Bidi.baselevel:B
iload 3
aconst_null
aconst_null
invokespecial java.text.Bidi.<init>:(III[I[I)V
areturn
31: StackMap locals:
StackMap stack:
iload 7
iload 6
isub
istore 9
start local 9 32: iload 9
ifle 42
33: iload 9
newarray 10
astore 5
34: iconst_0
istore 10
start local 10 35: goto 38
36: StackMap locals: int int
StackMap stack:
aload 5
iload 10
aload 0
getfield java.text.Bidi.cws:[I
iload 6
iload 10
iadd
iaload
iload 1
isub
iastore
37: iinc 10 1
StackMap locals:
StackMap stack:
38: iload 10
iload 9
if_icmplt 36
end local 10 39: goto 42
end local 9 end local 8 40: StackMap locals:
StackMap stack:
iinc 6 1
41: StackMap locals:
StackMap stack:
iload 6
iload 7
if_icmplt 18
end local 7 end local 6 42: StackMap locals:
StackMap stack:
aconst_null
astore 6
start local 6 43: iload 4
iconst_m1
if_icmpne 44
iload 2
goto 45
StackMap locals: int[]
StackMap stack:
44: iload 4
StackMap locals:
StackMap stack: int
45: istore 7
start local 7 46: iconst_0
istore 8
start local 8 47: aload 0
getfield java.text.Bidi.runs:[I
arraylength
istore 9
start local 9 48: aload 0
getfield java.text.Bidi.dir:B
istore 10
start local 10 49: goto 78
50: StackMap locals: java.text.Bidi int int int int int[] int[] int int int int
StackMap stack:
aload 0
getfield java.text.Bidi.runs:[I
iload 8
iaload
iload 1
if_icmple 77
51: iload 8
istore 9
52: goto 54
53: StackMap locals:
StackMap stack:
iinc 9 2
54: StackMap locals:
StackMap stack:
iload 9
aload 0
getfield java.text.Bidi.runs:[I
arraylength
if_icmpge 55
aload 0
getfield java.text.Bidi.runs:[I
iload 9
iaload
iload 7
if_icmplt 53
55: StackMap locals:
StackMap stack:
iload 9
iload 8
if_icmpgt 56
aload 0
getfield java.text.Bidi.runs:[I
iload 8
iconst_1
iadd
iaload
aload 0
getfield java.text.Bidi.baselevel:B
if_icmpeq 73
56: StackMap locals:
StackMap stack:
iinc 9 2
57: iload 4
iconst_m1
if_icmpeq 62
iload 9
iload 8
if_icmple 62
aload 0
getfield java.text.Bidi.runs:[I
iload 9
iconst_1
isub
iaload
aload 0
getfield java.text.Bidi.baselevel:B
if_icmpeq 62
58: iload 9
iload 8
isub
iconst_2
iadd
newarray 10
astore 6
59: aload 6
iload 9
iload 8
isub
iload 3
iastore
60: aload 6
iload 9
iload 8
isub
iconst_1
iadd
aload 0
getfield java.text.Bidi.baselevel:B
iastore
61: goto 64
62: StackMap locals:
StackMap stack:
iload 2
istore 7
63: iload 9
iload 8
isub
newarray 10
astore 6
64: StackMap locals:
StackMap stack:
iconst_0
istore 11
start local 11 65: iload 8
istore 12
start local 12 66: goto 70
67: StackMap locals: int int
StackMap stack:
aload 6
iload 11
iinc 11 1
aload 0
getfield java.text.Bidi.runs:[I
iload 12
iaload
iload 1
isub
iastore
68: aload 6
iload 11
iinc 11 1
aload 0
getfield java.text.Bidi.runs:[I
iload 12
iconst_1
iadd
iaload
iastore
69: iinc 12 2
StackMap locals:
StackMap stack:
70: iload 12
iload 9
if_icmplt 67
end local 12 71: aload 6
iload 11
iconst_2
isub
iload 7
iload 1
isub
iastore
end local 11 72: goto 79
73: StackMap locals:
StackMap stack:
aload 0
getfield java.text.Bidi.runs:[I
iload 8
iconst_1
iadd
iaload
iconst_1
iand
ifne 74
iconst_0
goto 75
StackMap locals:
StackMap stack:
74: iconst_1
StackMap locals:
StackMap stack: int
75: istore 10
76: goto 79
77: StackMap locals:
StackMap stack:
iinc 8 2
StackMap locals:
StackMap stack:
78: iload 8
aload 0
getfield java.text.Bidi.runs:[I
arraylength
if_icmplt 50
79: StackMap locals:
StackMap stack:
new java.text.Bidi
dup
iload 10
aload 0
getfield java.text.Bidi.baselevel:B
iload 3
aload 6
aload 5
invokespecial java.text.Bidi.<init>:(III[I[I)V
areturn
end local 10 end local 9 end local 8 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 80 0 this Ljava/text/Bidi;
0 80 1 lineStart I
0 80 2 lineLimit I
3 80 3 lineLength I
13 80 4 cwspos I
14 80 5 ncws [I
16 42 6 cwss I
17 42 7 cwsl I
24 40 8 ll I
32 40 9 ncwslen I
35 39 10 i I
43 80 6 nruns [I
46 80 7 limit I
47 80 8 rs I
48 80 9 rl I
49 80 10 ndir I
65 72 11 n I
66 71 12 i I
MethodParameters:
Name Flags
lineStart
lineLimit
public boolean isMixed();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield java.text.Bidi.dir:B
iconst_2
if_icmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/text/Bidi;
public boolean isLeftToRight();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.text.Bidi.dir:B
ifne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/text/Bidi;
public boolean isRightToLeft();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield java.text.Bidi.dir:B
iconst_1
if_icmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/text/Bidi;
public int getLength();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.text.Bidi.length:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/text/Bidi;
public boolean baseIsLeftToRight();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield java.text.Bidi.baselevel:B
iconst_1
iand
ifne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/text/Bidi;
public int getBaseLevel();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.text.Bidi.baselevel:B
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/text/Bidi;
public int getLevelAt(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield java.text.Bidi.runs:[I
ifnull 1
iload 1
iflt 1
iload 1
aload 0
getfield java.text.Bidi.length:I
if_icmplt 2
1: StackMap locals:
StackMap stack:
aload 0
getfield java.text.Bidi.baselevel:B
ireturn
2: StackMap locals:
StackMap stack:
iconst_0
istore 2
start local 2 3: StackMap locals: int
StackMap stack:
iload 1
aload 0
getfield java.text.Bidi.runs:[I
iload 2
iaload
if_icmpge 5
4: aload 0
getfield java.text.Bidi.runs:[I
iload 2
iconst_1
iadd
iaload
ireturn
5: StackMap locals:
StackMap stack:
iinc 2 2
6: goto 3
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljava/text/Bidi;
0 7 1 offset I
3 7 2 i I
MethodParameters:
Name Flags
offset
public int getRunCount();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield java.text.Bidi.runs:[I
ifnonnull 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: aload 0
getfield java.text.Bidi.runs:[I
arraylength
iconst_2
idiv
StackMap locals:
StackMap stack: int
2: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/text/Bidi;
public int getRunLevel(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield java.text.Bidi.runs:[I
ifnonnull 1
aload 0
getfield java.text.Bidi.baselevel:B
goto 2
StackMap locals:
StackMap stack:
1: aload 0
getfield java.text.Bidi.runs:[I
iload 1
iconst_2
imul
iconst_1
iadd
iaload
StackMap locals:
StackMap stack: int
2: ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/text/Bidi;
0 3 1 run I
MethodParameters:
Name Flags
run
public int getRunStart(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield java.text.Bidi.runs:[I
ifnull 1
iload 1
ifne 2
StackMap locals:
StackMap stack:
1: iconst_0
goto 3
StackMap locals:
StackMap stack:
2: aload 0
getfield java.text.Bidi.runs:[I
iload 1
iconst_2
imul
iconst_2
isub
iaload
StackMap locals:
StackMap stack: int
3: ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/text/Bidi;
0 4 1 run I
MethodParameters:
Name Flags
run
public int getRunLimit(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield java.text.Bidi.runs:[I
ifnonnull 1
aload 0
getfield java.text.Bidi.length:I
goto 2
StackMap locals:
StackMap stack:
1: aload 0
getfield java.text.Bidi.runs:[I
iload 1
iconst_2
imul
iaload
StackMap locals:
StackMap stack: int
2: ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/text/Bidi;
0 3 1 run I
MethodParameters:
Name Flags
run
public static boolean requiresBidi(char[], int, int);
descriptor: ([CII)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 1
iload 2
invokestatic sun.text.CodePointIterator.create:([CII)Lsun/text/CodePointIterator;
astore 3
start local 3 1: aload 3
invokevirtual sun.text.CodePointIterator.next:()I
istore 4
start local 4 2: goto 8
3: StackMap locals: sun.text.CodePointIterator int
StackMap stack:
iload 4
sipush 1424
if_icmple 7
4: iload 4
invokestatic java.text.Bidi.nativeGetDirectionCode:(I)I
istore 5
start local 5 5: ldc 57378
iconst_1
iload 5
ishl
iand
ifeq 7
6: iconst_1
ireturn
end local 5 7: StackMap locals:
StackMap stack:
aload 3
invokevirtual sun.text.CodePointIterator.next:()I
istore 4
StackMap locals:
StackMap stack:
8: iload 4
iconst_m1
if_icmpne 3
end local 4 9: iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 text [C
0 10 1 start I
0 10 2 limit I
1 10 3 cpi Lsun/text/CodePointIterator;
2 9 4 cp I
5 7 5 dc I
MethodParameters:
Name Flags
text
start
limit
public static void reorderVisually(byte[], int, java.lang.Object[], int, int);
descriptor: ([BI[Ljava/lang/Object;II)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=13, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iload 4
ifge 2
1: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "count "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 4
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " must be >= 0"
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
iflt 3
iload 1
iload 4
iadd
aload 0
arraylength
if_icmple 6
3: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "levelStart "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " and count "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 4
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
4: ldc " out of range [0, "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
arraylength
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
5: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
iload 3
iflt 7
iload 3
iload 4
iadd
aload 2
arraylength
if_icmple 10
7: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "objectStart "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " and count "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 4
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
8: ldc " out of range [0, "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
arraylength
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
9: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
10: StackMap locals:
StackMap stack:
bipush 63
istore 5
start local 5 11: iconst_0
istore 6
start local 6 12: iload 1
iload 4
iadd
istore 7
start local 7 13: iload 1
istore 8
start local 8 14: goto 21
15: StackMap locals: byte[] int java.lang.Object[] int int int int int int
StackMap stack:
aload 0
iload 8
baload
istore 9
start local 9 16: iload 9
iload 6
if_icmple 18
17: iload 9
istore 6
18: StackMap locals: int
StackMap stack:
iload 9
iconst_1
iand
ifeq 20
iload 9
iload 5
if_icmpge 20
19: iload 9
istore 5
end local 9 20: StackMap locals:
StackMap stack:
iinc 8 1
StackMap locals:
StackMap stack:
21: iload 8
iload 7
if_icmplt 15
end local 8 22: iload 3
iload 1
isub
istore 8
start local 8 23: goto 45
24: StackMap locals:
StackMap stack:
iload 1
istore 9
start local 9 25: goto 27
26: StackMap locals: int
StackMap stack:
iinc 9 1
27: StackMap locals:
StackMap stack:
iload 9
iload 7
if_icmpge 28
aload 0
iload 9
baload
iload 6
if_icmplt 26
28: StackMap locals:
StackMap stack:
iload 9
iinc 9 1
istore 10
start local 10 29: iload 10
iload 7
if_icmpne 32
30: goto 44
31: StackMap locals: int
StackMap stack:
iinc 9 1
32: StackMap locals:
StackMap stack:
iload 9
iload 7
if_icmpge 33
aload 0
iload 9
baload
iload 6
if_icmpge 31
33: StackMap locals:
StackMap stack:
iload 9
iconst_1
isub
istore 11
start local 11 34: iload 10
iload 8
iadd
istore 10
35: iload 11
iload 8
iadd
istore 11
36: goto 42
37: StackMap locals: int
StackMap stack:
aload 2
iload 10
aaload
astore 12
start local 12 38: aload 2
iload 10
aload 2
iload 11
aaload
aastore
39: aload 2
iload 11
aload 12
aastore
40: iinc 10 1
41: iinc 11 -1
end local 12 42: StackMap locals:
StackMap stack:
iload 10
iload 11
if_icmplt 37
end local 11 end local 10 43: goto 27
44: StackMap locals:
StackMap stack:
iload 6
iconst_1
isub
i2b
istore 6
end local 9 45: StackMap locals:
StackMap stack:
iload 6
iload 5
if_icmpge 24
46: return
end local 8 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 levels [B
0 47 1 levelStart I
0 47 2 objects [Ljava/lang/Object;
0 47 3 objectStart I
0 47 4 count I
11 47 5 lowestOddLevel B
12 47 6 highestLevel B
13 47 7 levelLimit I
14 22 8 i I
16 20 9 level B
23 47 8 delta I
25 45 9 i I
29 43 10 begin I
34 43 11 end I
38 42 12 temp Ljava/lang/Object;
MethodParameters:
Name Flags
levels
levelStart
objects
objectStart
count
private static native int nativeGetDirectionCode(int);
descriptor: (I)I
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
cp
private static synchronized native void nativeBidiChars(java.text.Bidi, char[], int, byte[], int, int, int);
descriptor: (Ljava/text/Bidi;[CI[BIII)V
flags: (0x012a) ACC_PRIVATE, ACC_STATIC, ACC_SYNCHRONIZED, ACC_NATIVE
MethodParameters:
Name Flags
bidi
text
textStart
embeddings
embeddingStart
length
flags
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: new java.lang.StringBuffer
dup
aload 0
invokespecial java.lang.Object.toString:()Ljava/lang/String;
invokespecial java.lang.StringBuffer.<init>:(Ljava/lang/String;)V
astore 1
start local 1 1: aload 1
new java.lang.StringBuilder
dup
ldc "[dir: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield java.text.Bidi.dir:B
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
2: aload 1
new java.lang.StringBuilder
dup
ldc " baselevel: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield java.text.Bidi.baselevel:B
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
3: aload 1
new java.lang.StringBuilder
dup
ldc " length: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield java.text.Bidi.length:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
4: aload 0
getfield java.text.Bidi.runs:[I
ifnonnull 7
5: aload 1
ldc " runs: null"
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
6: goto 18
7: StackMap locals: java.lang.StringBuffer
StackMap stack:
aload 1
ldc " runs: ["
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
8: iconst_0
istore 2
start local 2 9: goto 16
10: StackMap locals: int
StackMap stack:
iload 2
ifeq 12
11: aload 1
bipush 32
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
12: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield java.text.Bidi.runs:[I
iload 2
iaload
invokevirtual java.lang.StringBuffer.append:(I)Ljava/lang/StringBuffer;
pop
13: aload 1
bipush 47
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
14: aload 1
aload 0
getfield java.text.Bidi.runs:[I
iload 2
iconst_1
iadd
iaload
invokevirtual java.lang.StringBuffer.append:(I)Ljava/lang/StringBuffer;
pop
15: iinc 2 2
StackMap locals:
StackMap stack:
16: iload 2
aload 0
getfield java.text.Bidi.runs:[I
arraylength
if_icmplt 10
end local 2 17: aload 1
bipush 93
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
18: StackMap locals:
StackMap stack:
aload 0
getfield java.text.Bidi.cws:[I
ifnonnull 21
19: aload 1
ldc " cws: null"
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
20: goto 30
21: StackMap locals:
StackMap stack:
aload 1
ldc " cws: ["
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
22: iconst_0
istore 2
start local 2 23: goto 28
24: StackMap locals: int
StackMap stack:
iload 2
ifeq 26
25: aload 1
bipush 32
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
26: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield java.text.Bidi.cws:[I
iload 2
iaload
invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
27: iinc 2 1
StackMap locals:
StackMap stack:
28: iload 2
aload 0
getfield java.text.Bidi.cws:[I
arraylength
if_icmplt 24
end local 2 29: aload 1
bipush 93
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
30: StackMap locals:
StackMap stack:
aload 1
bipush 93
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
31: aload 1
invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 32 0 this Ljava/text/Bidi;
1 32 1 buf Ljava/lang/StringBuffer;
9 17 2 i I
23 29 2 i I
}
SourceFile: "Bidi.java"
InnerClasses:
public Attribute = java.text.AttributedCharacterIterator$Attribute of java.text.AttributedCharacterIterator