class sun.tools.native2ascii.A2NFilter extends java.io.FilterReader
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: sun.tools.native2ascii.A2NFilter
super_class: java.io.FilterReader
{
private char[] trailChars;
descriptor: [C
flags: (0x0002) ACC_PRIVATE
public void <init>(java.io.Reader);
descriptor: (Ljava/io/Reader;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 // sun.tools.native2ascii.A2NFilter this
start local 1 // java.io.Reader in
0: .line 48
aload 0 /* this */
aload 1 /* in */
invokespecial java.io.FilterReader.<init>:(Ljava/io/Reader;)V
1: .line 45
aload 0 /* this */
aconst_null
putfield sun.tools.native2ascii.A2NFilter.trailChars:[C
2: .line 49
return
end local 1 // java.io.Reader in
end local 0 // sun.tools.native2ascii.A2NFilter this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/tools/native2ascii/A2NFilter;
0 3 1 in Ljava/io/Reader;
MethodParameters:
Name Flags
in
public int read(char[], int, int);
descriptor: ([CII)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=14, args_size=4
start local 0 // sun.tools.native2ascii.A2NFilter this
start local 1 // char[] buf
start local 2 // int off
start local 3 // int len
0: .line 52
iconst_0
istore 4 /* numChars */
start local 4 // int numChars
1: .line 53
iconst_0
istore 5 /* retChars */
start local 5 // int retChars
2: .line 55
iload 3 /* len */
newarray 5
astore 6 /* cBuf */
start local 6 // char[] cBuf
3: .line 57
iconst_0
istore 7 /* eof */
start local 7 // boolean eof
4: .line 60
aload 0 /* this */
getfield sun.tools.native2ascii.A2NFilter.trailChars:[C
ifnull 12
5: .line 61
iconst_0
istore 8 /* i */
start local 8 // int i
6: goto 9
7: .line 62
StackMap locals: sun.tools.native2ascii.A2NFilter char[] int int int int char[] int int
StackMap stack:
aload 6 /* cBuf */
iload 8 /* i */
aload 0 /* this */
getfield sun.tools.native2ascii.A2NFilter.trailChars:[C
iload 8 /* i */
caload
castore
8: .line 61
iinc 8 /* i */ 1
StackMap locals:
StackMap stack:
9: iload 8 /* i */
aload 0 /* this */
getfield sun.tools.native2ascii.A2NFilter.trailChars:[C
arraylength
if_icmplt 7
end local 8 // int i
10: .line 63
aload 0 /* this */
getfield sun.tools.native2ascii.A2NFilter.trailChars:[C
arraylength
istore 4 /* numChars */
11: .line 64
aload 0 /* this */
aconst_null
putfield sun.tools.native2ascii.A2NFilter.trailChars:[C
12: .line 67
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.tools.native2ascii.A2NFilter.in:Ljava/io/Reader;
aload 6 /* cBuf */
iload 4 /* numChars */
iload 3 /* len */
iload 4 /* numChars */
isub
invokevirtual java.io.Reader.read:([CII)I
istore 8 /* n */
start local 8 // int n
13: .line 68
iload 8 /* n */
ifge 17
14: .line 69
iconst_1
istore 7 /* eof */
15: .line 70
iload 4 /* numChars */
ifne 18
16: .line 71
iconst_m1
ireturn
17: .line 73
StackMap locals: int
StackMap stack:
iload 4 /* numChars */
iload 8 /* n */
iadd
istore 4 /* numChars */
18: .line 76
StackMap locals:
StackMap stack:
iconst_0
istore 9 /* i */
start local 9 // int i
19: goto 51
20: .line 77
StackMap locals: int
StackMap stack:
aload 6 /* cBuf */
iload 9 /* i */
iinc 9 /* i */ 1
caload
istore 10 /* c */
start local 10 // char c
21: .line 79
iload 10 /* c */
bipush 92
if_icmpne 22
iload 7 /* eof */
ifeq 24
iload 4 /* numChars */
iconst_5
if_icmpgt 24
22: .line 87
StackMap locals: int
StackMap stack:
aload 1 /* buf */
iload 5 /* retChars */
iinc 5 /* retChars */ 1
iload 10 /* c */
castore
23: .line 88
goto 51
24: .line 91
StackMap locals:
StackMap stack:
iload 4 /* numChars */
iload 9 /* i */
isub
istore 11 /* remaining */
start local 11 // int remaining
25: .line 92
iload 11 /* remaining */
iconst_5
if_icmpge 34
26: .line 95
aload 0 /* this */
iconst_1
iload 11 /* remaining */
iadd
newarray 5
putfield sun.tools.native2ascii.A2NFilter.trailChars:[C
27: .line 96
aload 0 /* this */
getfield sun.tools.native2ascii.A2NFilter.trailChars:[C
iconst_0
iload 10 /* c */
castore
28: .line 97
iconst_0
istore 12 /* j */
start local 12 // int j
29: goto 32
30: .line 98
StackMap locals: int int
StackMap stack:
aload 0 /* this */
getfield sun.tools.native2ascii.A2NFilter.trailChars:[C
iconst_1
iload 12 /* j */
iadd
aload 6 /* cBuf */
iload 9 /* i */
iload 12 /* j */
iadd
caload
castore
31: .line 97
iinc 12 /* j */ 1
StackMap locals:
StackMap stack:
32: iload 12 /* j */
iload 11 /* remaining */
if_icmplt 30
end local 12 // int j
33: .line 99
goto 52
34: .line 103
StackMap locals:
StackMap stack:
aload 6 /* cBuf */
iload 9 /* i */
iinc 9 /* i */ 1
caload
istore 10 /* c */
35: .line 104
iload 10 /* c */
bipush 117
if_icmpeq 39
36: .line 106
aload 1 /* buf */
iload 5 /* retChars */
iinc 5 /* retChars */ 1
bipush 92
castore
37: .line 107
aload 1 /* buf */
iload 5 /* retChars */
iinc 5 /* retChars */ 1
iload 10 /* c */
castore
38: .line 108
goto 51
39: .line 112
StackMap locals:
StackMap stack:
iconst_0
istore 12 /* rc */
start local 12 // char rc
40: .line 113
iconst_1
istore 13 /* isUE */
start local 13 // boolean isUE
41: .line 115
new java.lang.String
dup
aload 6 /* cBuf */
iload 9 /* i */
iconst_4
invokespecial java.lang.String.<init>:([CII)V
bipush 16
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;I)I
i2c
istore 12 /* rc */
42: .line 116
goto 45
StackMap locals: sun.tools.native2ascii.A2NFilter char[] int int int int char[] int int int int int int int
StackMap stack: java.lang.NumberFormatException
43: pop
44: .line 117
iconst_0
istore 13 /* isUE */
45: .line 119
StackMap locals:
StackMap stack:
iload 13 /* isUE */
ifeq 49
iload 12 /* rc */
invokestatic sun.tools.native2ascii.Main.canConvert:(C)Z
ifeq 49
46: .line 121
aload 1 /* buf */
iload 5 /* retChars */
iinc 5 /* retChars */ 1
iload 12 /* rc */
castore
47: .line 122
iinc 9 /* i */ 4
48: .line 123
goto 51
49: .line 125
StackMap locals:
StackMap stack:
aload 1 /* buf */
iload 5 /* retChars */
iinc 5 /* retChars */ 1
bipush 92
castore
50: .line 126
aload 1 /* buf */
iload 5 /* retChars */
iinc 5 /* retChars */ 1
bipush 117
castore
end local 13 // boolean isUE
end local 12 // char rc
end local 11 // int remaining
end local 10 // char c
51: .line 76
StackMap locals: sun.tools.native2ascii.A2NFilter char[] int int int int char[] int int int
StackMap stack:
iload 9 /* i */
iload 4 /* numChars */
if_icmplt 20
end local 9 // int i
52: .line 132
StackMap locals:
StackMap stack:
iload 5 /* retChars */
ireturn
end local 8 // int n
end local 7 // boolean eof
end local 6 // char[] cBuf
end local 5 // int retChars
end local 4 // int numChars
end local 3 // int len
end local 2 // int off
end local 1 // char[] buf
end local 0 // sun.tools.native2ascii.A2NFilter this
LocalVariableTable:
Start End Slot Name Signature
0 53 0 this Lsun/tools/native2ascii/A2NFilter;
0 53 1 buf [C
0 53 2 off I
0 53 3 len I
1 53 4 numChars I
2 53 5 retChars I
3 53 6 cBuf [C
4 53 7 eof Z
6 10 8 i I
13 53 8 n I
19 52 9 i I
21 51 10 c C
25 51 11 remaining I
29 33 12 j I
40 51 12 rc C
41 51 13 isUE Z
Exception table:
from to target type
41 42 43 Class java.lang.NumberFormatException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
buf
off
len
public int read();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=1
start local 0 // sun.tools.native2ascii.A2NFilter this
0: .line 136
iconst_1
newarray 5
astore 1 /* buf */
start local 1 // char[] buf
1: .line 138
aload 0 /* this */
aload 1 /* buf */
iconst_0
iconst_1
invokevirtual sun.tools.native2ascii.A2NFilter.read:([CII)I
iconst_m1
if_icmpne 3
2: .line 139
iconst_m1
ireturn
3: .line 141
StackMap locals: char[]
StackMap stack:
aload 1 /* buf */
iconst_0
caload
ireturn
end local 1 // char[] buf
end local 0 // sun.tools.native2ascii.A2NFilter this
LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/tools/native2ascii/A2NFilter;
1 4 1 buf [C
Exceptions:
throws java.io.IOException
}
SourceFile: "A2NFilter.java"