public class com.sun.inputmethods.internal.thaiim.ThaiRules
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.sun.inputmethods.internal.thaiim.ThaiRules
super_class: java.lang.Object
{
public static final char BASE;
descriptor: C
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 3584
public static final byte NON;
descriptor: B
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 0
public static final byte CONS;
descriptor: B
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1
public static final byte LV;
descriptor: B
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 2
public static final byte FV1;
descriptor: B
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 3
public static final byte FV2;
descriptor: B
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 4
public static final byte FV3;
descriptor: B
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 5
public static final byte FV4;
descriptor: B
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 6
public static final byte BV1;
descriptor: B
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 7
public static final byte BV2;
descriptor: B
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 8
public static final byte BD;
descriptor: B
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 9
public static final byte TONE;
descriptor: B
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 10
public static final byte AD1;
descriptor: B
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 11
public static final byte AD2;
descriptor: B
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 12
public static final byte AD3;
descriptor: B
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 13
public static final byte AV1;
descriptor: B
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 14
public static final byte AV2;
descriptor: B
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 15
public static final byte AV3;
descriptor: B
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 16
public static final byte STRICT;
descriptor: B
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 0
public static final byte LOOSE;
descriptor: B
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1
public static final byte NOREPLACE;
descriptor: B
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 2
public static final byte[] CHARTYPE;
descriptor: [B
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
private java.awt.im.InputMethodRequests requests;
descriptor: Ljava/awt/im/InputMethodRequests;
flags: (0x0002) ACC_PRIVATE
private static final int[] INPUTVALIDITY;
descriptor: [I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int[] COMPOSABLE;
descriptor: [I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int[] REPLACABLE;
descriptor: [I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int[] SWAPPABLE;
descriptor: [I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: bipush 92
newarray 8
dup
iconst_1
1: iconst_1
bastore
dup
iconst_2
2: iconst_1
bastore
dup
iconst_3
3: iconst_1
bastore
dup
iconst_4
4: iconst_1
bastore
dup
iconst_5
5: iconst_1
bastore
dup
bipush 6
6: iconst_1
bastore
dup
bipush 7
7: iconst_1
bastore
dup
bipush 8
8: iconst_1
bastore
dup
bipush 9
9: iconst_1
bastore
dup
bipush 10
10: iconst_1
bastore
dup
bipush 11
11: iconst_1
bastore
dup
bipush 12
12: iconst_1
bastore
dup
bipush 13
13: iconst_1
bastore
dup
bipush 14
14: iconst_1
bastore
dup
bipush 15
15: iconst_1
bastore
dup
bipush 16
16: iconst_1
bastore
dup
bipush 17
17: iconst_1
bastore
dup
bipush 18
18: iconst_1
bastore
dup
bipush 19
19: iconst_1
bastore
dup
bipush 20
20: iconst_1
bastore
dup
bipush 21
21: iconst_1
bastore
dup
bipush 22
22: iconst_1
bastore
dup
bipush 23
23: iconst_1
bastore
dup
bipush 24
24: iconst_1
bastore
dup
bipush 25
25: iconst_1
bastore
dup
bipush 26
26: iconst_1
bastore
dup
bipush 27
27: iconst_1
bastore
dup
bipush 28
28: iconst_1
bastore
dup
bipush 29
29: iconst_1
bastore
dup
bipush 30
30: iconst_1
bastore
dup
bipush 31
31: iconst_1
bastore
dup
bipush 32
32: iconst_1
bastore
dup
bipush 33
33: iconst_1
bastore
dup
bipush 34
34: iconst_1
bastore
dup
bipush 35
35: iconst_1
bastore
dup
bipush 36
36: iconst_5
bastore
dup
bipush 37
37: iconst_1
bastore
dup
bipush 38
38: iconst_5
bastore
dup
bipush 39
39: iconst_1
bastore
dup
bipush 40
40: iconst_1
bastore
dup
bipush 41
41: iconst_1
bastore
dup
bipush 42
42: iconst_1
bastore
dup
bipush 43
43: iconst_1
bastore
dup
bipush 44
44: iconst_1
bastore
dup
bipush 45
45: iconst_1
bastore
dup
bipush 46
46: iconst_1
bastore
dup
bipush 48
47: iconst_3
bastore
dup
bipush 49
48: bipush 15
bastore
dup
bipush 50
49: iconst_3
bastore
dup
bipush 51
50: bipush 6
bastore
dup
bipush 52
51: bipush 14
bastore
dup
bipush 53
52: bipush 16
bastore
dup
bipush 54
53: bipush 15
bastore
dup
bipush 55
54: bipush 16
bastore
dup
bipush 56
55: bipush 7
bastore
dup
bipush 57
56: bipush 8
bastore
dup
bipush 58
57: bipush 9
bastore
dup
bipush 64
58: iconst_2
bastore
dup
bipush 65
59: iconst_2
bastore
dup
bipush 66
60: iconst_2
bastore
dup
bipush 67
61: iconst_2
bastore
dup
bipush 68
62: iconst_2
bastore
dup
bipush 69
63: iconst_4
bastore
dup
bipush 71
64: bipush 12
bastore
dup
bipush 72
65: bipush 10
bastore
dup
bipush 73
66: bipush 10
bastore
dup
bipush 74
67: bipush 10
bastore
dup
bipush 75
68: bipush 10
bastore
dup
bipush 76
69: bipush 11
bastore
dup
bipush 77
70: bipush 13
bastore
dup
bipush 78
71: bipush 13
bastore
72: putstatic com.sun.inputmethods.internal.thaiim.ThaiRules.CHARTYPE:[B
73: bipush 17
newarray 10
dup
iconst_0
74: bipush 39
iastore
dup
iconst_1
75: ldc 131071
iastore
dup
iconst_2
76: iconst_2
iastore
dup
iconst_3
77: bipush 39
iastore
dup
iconst_4
78: bipush 39
iastore
dup
iconst_5
79: bipush 55
iastore
dup
bipush 6
80: bipush 39
iastore
dup
bipush 7
81: sipush 3111
iastore
dup
bipush 8
82: sipush 1063
iastore
dup
bipush 9
83: bipush 39
iastore
dup
bipush 10
84: bipush 111
iastore
dup
bipush 11
85: bipush 39
iastore
dup
bipush 12
86: bipush 39
iastore
dup
bipush 13
87: bipush 39
iastore
dup
bipush 14
88: sipush 3111
iastore
dup
bipush 15
89: sipush 1063
iastore
dup
bipush 16
90: sipush 9255
iastore
91: putstatic com.sun.inputmethods.internal.thaiim.ThaiRules.INPUTVALIDITY:[I
92: bipush 17
newarray 10
dup
iconst_1
93: ldc 131008
iastore
dup
bipush 7
94: sipush 3072
iastore
dup
bipush 8
95: sipush 1024
iastore
dup
bipush 10
96: bipush 64
iastore
dup
bipush 14
97: sipush 3072
iastore
dup
bipush 15
98: sipush 1024
iastore
dup
bipush 16
99: sipush 9216
iastore
100: putstatic com.sun.inputmethods.internal.thaiim.ThaiRules.COMPOSABLE:[I
101: bipush 17
newarray 10
dup
bipush 6
102: ldc 129472
iastore
dup
bipush 7
103: ldc 127936
iastore
dup
bipush 8
104: ldc 129984
iastore
dup
bipush 9
105: ldc 131008
iastore
dup
bipush 10
106: sipush 15872
iastore
dup
bipush 11
107: ldc 114496
iastore
dup
bipush 12
108: ldc 131008
iastore
dup
bipush 13
109: ldc 65472
iastore
dup
bipush 14
110: ldc 127936
iastore
dup
bipush 15
111: ldc 129984
iastore
dup
bipush 16
112: ldc 121792
iastore
113: putstatic com.sun.inputmethods.internal.thaiim.ThaiRules.REPLACABLE:[I
114: bipush 17
newarray 10
dup
bipush 6
115: sipush 1024
iastore
dup
bipush 10
116: ldc 115072
iastore
dup
bipush 11
117: sipush 16512
iastore
dup
bipush 13
118: ldc 65536
iastore
119: putstatic com.sun.inputmethods.internal.thaiim.ThaiRules.SWAPPABLE:[I
120: return
LocalVariableTable:
Start End Slot Name Signature
void <init>(java.awt.im.InputMethodRequests);
descriptor: (Ljava/awt/im/InputMethodRequests;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield com.sun.inputmethods.internal.thaiim.ThaiRules.requests:Ljava/awt/im/InputMethodRequests;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/inputmethods/internal/thaiim/ThaiRules;
0 3 1 requests Ljava/awt/im/InputMethodRequests;
MethodParameters:
Name Flags
requests
public static byte getCharType(char);
descriptor: (C)B
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: iload 0
sipush 3584
isub
istore 2
start local 2 1: iload 2
iflt 2
iload 2
getstatic com.sun.inputmethods.internal.thaiim.ThaiRules.CHARTYPE:[B
arraylength
if_icmplt 4
2: StackMap locals: int top int
StackMap stack:
iconst_0
istore 1
start local 1 3: goto 5
end local 1 4: StackMap locals:
StackMap stack:
getstatic com.sun.inputmethods.internal.thaiim.ThaiRules.CHARTYPE:[B
iload 2
baload
istore 1
start local 1 5: StackMap locals: int int int
StackMap stack:
iload 1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 c C
3 4 1 cType B
5 6 1 cType B
1 6 2 ci I
MethodParameters:
Name Flags
c
private static boolean isValid(char, char, int[]);
descriptor: (CC[I)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
iload 0
invokestatic com.sun.inputmethods.internal.thaiim.ThaiRules.getCharType:(C)B
iaload
1: iconst_1
iload 1
invokestatic com.sun.inputmethods.internal.thaiim.ThaiRules.getCharType:(C)B
ishl
2: iand
ifeq 3
iconst_1
ireturn
StackMap locals:
StackMap stack:
3: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 c1 C
0 4 1 c2 C
0 4 2 validityArray [I
MethodParameters:
Name Flags
c1
c2
validityArray
public static boolean isInputValid(char, char);
descriptor: (CC)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: iload 0
iload 1
getstatic com.sun.inputmethods.internal.thaiim.ThaiRules.INPUTVALIDITY:[I
invokestatic com.sun.inputmethods.internal.thaiim.ThaiRules.isValid:(CC[I)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 c1 C
0 1 1 c2 C
MethodParameters:
Name Flags
c1
c2
public static boolean isComposable(char, char);
descriptor: (CC)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: iload 0
iload 1
getstatic com.sun.inputmethods.internal.thaiim.ThaiRules.COMPOSABLE:[I
invokestatic com.sun.inputmethods.internal.thaiim.ThaiRules.isValid:(CC[I)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 c1 C
0 1 1 c2 C
MethodParameters:
Name Flags
c1
c2
public static boolean isSwappable(char, char);
descriptor: (CC)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: iload 0
iload 1
getstatic com.sun.inputmethods.internal.thaiim.ThaiRules.SWAPPABLE:[I
invokestatic com.sun.inputmethods.internal.thaiim.ThaiRules.isValid:(CC[I)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 c1 C
0 1 1 c2 C
MethodParameters:
Name Flags
c1
c2
public static boolean isReplacable(char, char);
descriptor: (CC)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: iload 0
iload 1
getstatic com.sun.inputmethods.internal.thaiim.ThaiRules.REPLACABLE:[I
invokestatic com.sun.inputmethods.internal.thaiim.ThaiRules.isValid:(CC[I)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 c1 C
0 1 1 c2 C
MethodParameters:
Name Flags
c1
c2
public static boolean isForward(char);
descriptor: (C)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
invokestatic com.sun.inputmethods.internal.thaiim.ThaiRules.getCharType:(C)B
bipush 6
if_icmpge 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 c C
MethodParameters:
Name Flags
c
public static boolean isDead(char);
descriptor: (C)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
invokestatic com.sun.inputmethods.internal.thaiim.ThaiRules.getCharType:(C)B
iconst_5
if_icmple 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 c C
MethodParameters:
Name Flags
c
public boolean isInputValid(char);
descriptor: (C)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.inputmethods.internal.thaiim.ThaiRules.requests:Ljava/awt/im/InputMethodRequests;
invokeinterface java.awt.im.InputMethodRequests.getInsertPositionOffset:()I
istore 2
start local 2 1: iload 2
ifne 5
2: iload 1
invokestatic com.sun.inputmethods.internal.thaiim.ThaiRules.getCharType:(C)B
istore 3
start local 3 3: iload 3
iconst_3
if_icmplt 4
iload 3
iconst_5
if_icmpeq 4
iconst_0
ireturn
StackMap locals: int int
StackMap stack:
4: iconst_1
ireturn
end local 3 5: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.inputmethods.internal.thaiim.ThaiRules.requests:Ljava/awt/im/InputMethodRequests;
iload 2
iconst_1
isub
iload 2
aconst_null
invokeinterface java.awt.im.InputMethodRequests.getCommittedText:(II[Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/text/AttributedCharacterIterator;
invokeinterface java.text.AttributedCharacterIterator.first:()C
istore 3
start local 3 6: iload 1
invokestatic com.sun.inputmethods.internal.thaiim.ThaiRules.isForward:(C)Z
ifeq 23
7: iload 3
iload 1
invokestatic com.sun.inputmethods.internal.thaiim.ThaiRules.isInputValid:(CC)Z
ifeq 16
8: iload 3
invokestatic com.sun.inputmethods.internal.thaiim.ThaiRules.getCharType:(C)B
bipush 10
if_icmpne 15
9: iload 1
invokestatic com.sun.inputmethods.internal.thaiim.ThaiRules.getCharType:(C)B
iconst_3
if_icmpne 15
10: iload 2
iconst_1
if_icmpne 12
11: iconst_1
ireturn
12: StackMap locals: int
StackMap stack:
aload 0
getfield com.sun.inputmethods.internal.thaiim.ThaiRules.requests:Ljava/awt/im/InputMethodRequests;
iload 2
iconst_2
isub
iload 2
iconst_1
isub
aconst_null
invokeinterface java.awt.im.InputMethodRequests.getCommittedText:(II[Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/text/AttributedCharacterIterator;
invokeinterface java.text.AttributedCharacterIterator.first:()C
13: istore 4
start local 4 14: iload 4
iload 1
invokestatic com.sun.inputmethods.internal.thaiim.ThaiRules.isInputValid:(CC)Z
ireturn
end local 4 15: StackMap locals:
StackMap stack:
iconst_1
ireturn
16: StackMap locals:
StackMap stack:
iload 3
sipush 3634
if_icmpne 19
17: iload 1
sipush 3632
if_icmpne 19
18: iconst_1
ireturn
19: StackMap locals:
StackMap stack:
iload 3
sipush 3661
if_icmpne 22
20: iload 1
sipush 3634
if_icmpne 22
21: iconst_1
ireturn
22: StackMap locals:
StackMap stack:
iconst_0
ireturn
23: StackMap locals:
StackMap stack:
iload 3
iload 1
invokestatic com.sun.inputmethods.internal.thaiim.ThaiRules.isInputValid:(CC)Z
ifeq 29
24: iload 3
invokestatic com.sun.inputmethods.internal.thaiim.ThaiRules.getCharType:(C)B
bipush 10
if_icmpne 28
25: iload 1
invokestatic com.sun.inputmethods.internal.thaiim.ThaiRules.getCharType:(C)B
bipush 6
if_icmpne 28
26: iload 2
iconst_1
if_icmpeq 27
iconst_1
ireturn
StackMap locals:
StackMap stack:
27: iconst_0
ireturn
28: StackMap locals:
StackMap stack:
iconst_1
ireturn
29: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 30 0 this Lcom/sun/inputmethods/internal/thaiim/ThaiRules;
0 30 1 current C
1 30 2 offset I
3 5 3 charType B
6 30 3 prev C
14 15 4 pprev C
MethodParameters:
Name Flags
current
}
SourceFile: "ThaiRules.java"
InnerClasses:
public Attribute = java.text.AttributedCharacterIterator$Attribute of java.text.AttributedCharacterIterator