public class sun.tools.java.ScannerInputReader extends java.io.FilterReader implements sun.tools.java.Constants
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.tools.java.ScannerInputReader
super_class: java.io.FilterReader
{
sun.tools.java.Environment env;
descriptor: Lsun/tools/java/Environment;
flags: (0x0000)
long pos;
descriptor: J
flags: (0x0000)
private long chpos;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private int pushBack;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private static final int BUFFERLEN;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 10240
private final char[] buffer;
descriptor: [C
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private int currentIndex;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int numChars;
descriptor: I
flags: (0x0002) ACC_PRIVATE
public void <init>(sun.tools.java.Environment, java.io.InputStream);
descriptor: (Lsun/tools/java/Environment;Ljava/io/InputStream;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual sun.tools.java.Environment.getCharacterEncoding:()Ljava/lang/String;
ifnull 2
1: new java.io.InputStreamReader
dup
aload 2
aload 1
invokevirtual sun.tools.java.Environment.getCharacterEncoding:()Ljava/lang/String;
invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;Ljava/lang/String;)V
goto 3
2: StackMap locals:
StackMap stack: uninitialized-this
new java.io.InputStreamReader
dup
aload 2
invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;)V
StackMap locals: uninitialized-this sun.tools.java.Environment java.io.InputStream
StackMap stack: uninitialized-this java.io.InputStreamReader
3: invokespecial java.io.FilterReader.<init>:(Ljava/io/Reader;)V
4: aload 0
iconst_m1
putfield sun.tools.java.ScannerInputReader.pushBack:I
5: aload 0
sipush 10240
newarray 5
putfield sun.tools.java.ScannerInputReader.buffer:[C
6: aload 0
iconst_0
putfield sun.tools.java.ScannerInputReader.currentIndex:I
7: aload 0
iconst_0
putfield sun.tools.java.ScannerInputReader.numChars:I
8: aload 0
aload 1
putfield sun.tools.java.ScannerInputReader.env:Lsun/tools/java/Environment;
9: aload 0
ldc 4294967296
putfield sun.tools.java.ScannerInputReader.chpos:J
10: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lsun/tools/java/ScannerInputReader;
0 11 1 env Lsun/tools/java/Environment;
0 11 2 in Ljava/io/InputStream;
Exceptions:
throws java.io.UnsupportedEncodingException
MethodParameters:
Name Flags
env
in
private int getNextChar();
descriptor: ()I
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.tools.java.ScannerInputReader.currentIndex:I
aload 0
getfield sun.tools.java.ScannerInputReader.numChars:I
if_icmplt 5
1: aload 0
aload 0
getfield sun.tools.java.ScannerInputReader.in:Ljava/io/Reader;
aload 0
getfield sun.tools.java.ScannerInputReader.buffer:[C
invokevirtual java.io.Reader.read:([C)I
putfield sun.tools.java.ScannerInputReader.numChars:I
2: aload 0
getfield sun.tools.java.ScannerInputReader.numChars:I
iconst_m1
if_icmpne 4
3: iconst_m1
ireturn
4: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield sun.tools.java.ScannerInputReader.currentIndex:I
5: StackMap locals:
StackMap stack:
aload 0
getfield sun.tools.java.ScannerInputReader.buffer:[C
aload 0
dup
getfield sun.tools.java.ScannerInputReader.currentIndex:I
dup_x1
iconst_1
iadd
putfield sun.tools.java.ScannerInputReader.currentIndex:I
caload
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/tools/java/ScannerInputReader;
Exceptions:
throws java.io.IOException
public int read(char[], int, int);
descriptor: ([CII)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new sun.tools.java.CompilerError
dup
1: ldc "ScannerInputReader is not a fully implemented reader."
2: invokespecial sun.tools.java.CompilerError.<init>:(Ljava/lang/String;)V
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/tools/java/ScannerInputReader;
0 3 1 buffer [C
0 3 2 off I
0 3 3 len I
MethodParameters:
Name Flags
buffer
off
len
public int read();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=1
start local 0 0: aload 0
aload 0
getfield sun.tools.java.ScannerInputReader.chpos:J
putfield sun.tools.java.ScannerInputReader.pos:J
1: aload 0
dup
getfield sun.tools.java.ScannerInputReader.chpos:J
lconst_1
ladd
putfield sun.tools.java.ScannerInputReader.chpos:J
2: aload 0
getfield sun.tools.java.ScannerInputReader.pushBack:I
istore 1
start local 1 3: iload 1
iconst_m1
if_icmpne 15
4: aload 0
getfield sun.tools.java.ScannerInputReader.currentIndex:I
aload 0
getfield sun.tools.java.ScannerInputReader.numChars:I
if_icmplt 10
5: aload 0
aload 0
getfield sun.tools.java.ScannerInputReader.in:Ljava/io/Reader;
aload 0
getfield sun.tools.java.ScannerInputReader.buffer:[C
invokevirtual java.io.Reader.read:([C)I
putfield sun.tools.java.ScannerInputReader.numChars:I
6: aload 0
getfield sun.tools.java.ScannerInputReader.numChars:I
iconst_m1
if_icmpne 9
7: iconst_m1
istore 1
8: goto 16
9: StackMap locals: int
StackMap stack:
aload 0
iconst_0
putfield sun.tools.java.ScannerInputReader.currentIndex:I
10: StackMap locals:
StackMap stack:
aload 0
getfield sun.tools.java.ScannerInputReader.buffer:[C
aload 0
dup
getfield sun.tools.java.ScannerInputReader.currentIndex:I
dup_x1
iconst_1
iadd
putfield sun.tools.java.ScannerInputReader.currentIndex:I
caload
istore 1
11: goto 16
StackMap locals:
StackMap stack: java.io.CharConversionException
12: pop
13: aload 0
getfield sun.tools.java.ScannerInputReader.env:Lsun/tools/java/Environment;
aload 0
getfield sun.tools.java.ScannerInputReader.pos:J
ldc "invalid.encoding.char"
invokevirtual sun.tools.java.Environment.error:(JLjava/lang/String;)V
14: iconst_m1
ireturn
15: StackMap locals:
StackMap stack:
aload 0
iconst_m1
putfield sun.tools.java.ScannerInputReader.pushBack:I
16: StackMap locals:
StackMap stack:
iload 1
lookupswitch { // 4
-2: 17
10: 53
13: 55
92: 18
default: 61
}
17: StackMap locals:
StackMap stack:
bipush 92
ireturn
18: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.tools.java.ScannerInputReader.getNextChar:()I
dup
istore 1
bipush 117
if_icmpeq 23
19: aload 0
iload 1
bipush 92
if_icmpne 20
bipush -2
goto 21
StackMap locals:
StackMap stack: sun.tools.java.ScannerInputReader
20: iload 1
StackMap locals: sun.tools.java.ScannerInputReader int
StackMap stack: sun.tools.java.ScannerInputReader int
21: putfield sun.tools.java.ScannerInputReader.pushBack:I
22: bipush 92
ireturn
23: StackMap locals:
StackMap stack:
aload 0
dup
getfield sun.tools.java.ScannerInputReader.chpos:J
lconst_1
ladd
putfield sun.tools.java.ScannerInputReader.chpos:J
24: goto 26
25: StackMap locals:
StackMap stack:
aload 0
dup
getfield sun.tools.java.ScannerInputReader.chpos:J
lconst_1
ladd
putfield sun.tools.java.ScannerInputReader.chpos:J
26: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.tools.java.ScannerInputReader.getNextChar:()I
dup
istore 1
bipush 117
if_icmpeq 25
27: iconst_0
istore 2
start local 2 28: iconst_0
istore 3
start local 3 29: goto 41
30: StackMap locals: int int
StackMap stack:
iload 1
tableswitch { // 48 - 102
48: 31
49: 31
50: 31
51: 31
52: 31
53: 31
54: 31
55: 31
56: 31
57: 31
58: 37
59: 37
60: 37
61: 37
62: 37
63: 37
64: 37
65: 35
66: 35
67: 35
68: 35
69: 35
70: 35
71: 37
72: 37
73: 37
74: 37
75: 37
76: 37
77: 37
78: 37
79: 37
80: 37
81: 37
82: 37
83: 37
84: 37
85: 37
86: 37
87: 37
88: 37
89: 37
90: 37
91: 37
92: 37
93: 37
94: 37
95: 37
96: 37
97: 33
98: 33
99: 33
100: 33
101: 33
102: 33
default: 37
}
31: StackMap locals:
StackMap stack:
iload 2
iconst_4
ishl
iload 1
iadd
bipush 48
isub
istore 2
32: goto 40
33: StackMap locals:
StackMap stack:
iload 2
iconst_4
ishl
bipush 10
iadd
iload 1
iadd
bipush 97
isub
istore 2
34: goto 40
35: StackMap locals:
StackMap stack:
iload 2
iconst_4
ishl
bipush 10
iadd
iload 1
iadd
bipush 65
isub
istore 2
36: goto 40
37: StackMap locals:
StackMap stack:
aload 0
getfield sun.tools.java.ScannerInputReader.env:Lsun/tools/java/Environment;
aload 0
getfield sun.tools.java.ScannerInputReader.pos:J
ldc "invalid.escape.char"
invokevirtual sun.tools.java.Environment.error:(JLjava/lang/String;)V
38: aload 0
iload 1
putfield sun.tools.java.ScannerInputReader.pushBack:I
39: iload 2
ireturn
40: StackMap locals:
StackMap stack:
iinc 3 1
aload 0
dup
getfield sun.tools.java.ScannerInputReader.chpos:J
lconst_1
ladd
putfield sun.tools.java.ScannerInputReader.chpos:J
aload 0
invokevirtual sun.tools.java.ScannerInputReader.getNextChar:()I
istore 1
StackMap locals:
StackMap stack:
41: iload 3
iconst_4
if_icmplt 30
end local 3 42: aload 0
iload 1
putfield sun.tools.java.ScannerInputReader.pushBack:I
43: iload 2
tableswitch { // 10 - 13
10: 44
11: 52
12: 52
13: 46
default: 52
}
44: StackMap locals:
StackMap stack:
aload 0
dup
getfield sun.tools.java.ScannerInputReader.chpos:J
ldc 4294967296
ladd
putfield sun.tools.java.ScannerInputReader.chpos:J
45: bipush 10
ireturn
46: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.tools.java.ScannerInputReader.getNextChar:()I
dup
istore 1
bipush 10
if_icmpeq 49
47: aload 0
iload 1
putfield sun.tools.java.ScannerInputReader.pushBack:I
48: goto 50
49: StackMap locals:
StackMap stack:
aload 0
dup
getfield sun.tools.java.ScannerInputReader.chpos:J
lconst_1
ladd
putfield sun.tools.java.ScannerInputReader.chpos:J
50: StackMap locals:
StackMap stack:
aload 0
dup
getfield sun.tools.java.ScannerInputReader.chpos:J
ldc 4294967296
ladd
putfield sun.tools.java.ScannerInputReader.chpos:J
51: bipush 10
ireturn
52: StackMap locals:
StackMap stack:
iload 2
ireturn
end local 2 53: StackMap locals:
StackMap stack:
aload 0
dup
getfield sun.tools.java.ScannerInputReader.chpos:J
ldc 4294967296
ladd
putfield sun.tools.java.ScannerInputReader.chpos:J
54: bipush 10
ireturn
55: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.tools.java.ScannerInputReader.getNextChar:()I
dup
istore 1
bipush 10
if_icmpeq 58
56: aload 0
iload 1
putfield sun.tools.java.ScannerInputReader.pushBack:I
57: goto 59
58: StackMap locals:
StackMap stack:
aload 0
dup
getfield sun.tools.java.ScannerInputReader.chpos:J
lconst_1
ladd
putfield sun.tools.java.ScannerInputReader.chpos:J
59: StackMap locals:
StackMap stack:
aload 0
dup
getfield sun.tools.java.ScannerInputReader.chpos:J
ldc 4294967296
ladd
putfield sun.tools.java.ScannerInputReader.chpos:J
60: bipush 10
ireturn
61: StackMap locals:
StackMap stack:
iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 62 0 this Lsun/tools/java/ScannerInputReader;
3 62 1 c I
28 53 2 d I
29 42 3 i I
Exception table:
from to target type
4 8 12 Class java.io.CharConversionException
9 11 12 Class java.io.CharConversionException
Exceptions:
throws java.io.IOException
}
SourceFile: "ScannerInputReader.java"