public class sun.awt.image.XbmImageDecoder extends sun.awt.image.ImageDecoder
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.awt.image.XbmImageDecoder
super_class: sun.awt.image.ImageDecoder
{
private static byte[] XbmColormap;
descriptor: [B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static int XbmHints;
descriptor: I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: .line 47
bipush 6
newarray 8
dup
iconst_0
iconst_m1
bastore
dup
iconst_1
iconst_m1
bastore
dup
iconst_2
iconst_m1
bastore
putstatic sun.awt.image.XbmImageDecoder.XbmColormap:[B
1: .line 49
bipush 30
putstatic sun.awt.image.XbmImageDecoder.XbmHints:I
2: .line 52
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(sun.awt.image.InputStreamImageSource, java.io.InputStream);
descriptor: (Lsun/awt/image/InputStreamImageSource;Ljava/io/InputStream;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 // sun.awt.image.XbmImageDecoder this
start local 1 // sun.awt.image.InputStreamImageSource src
start local 2 // java.io.InputStream is
0: .line 55
aload 0 /* this */
aload 1 /* src */
aload 2 /* is */
invokespecial sun.awt.image.ImageDecoder.<init>:(Lsun/awt/image/InputStreamImageSource;Ljava/io/InputStream;)V
1: .line 56
aload 0 /* this */
getfield sun.awt.image.XbmImageDecoder.input:Ljava/io/InputStream;
instanceof java.io.BufferedInputStream
ifne 3
2: .line 59
aload 0 /* this */
new java.io.BufferedInputStream
dup
aload 0 /* this */
getfield sun.awt.image.XbmImageDecoder.input:Ljava/io/InputStream;
bipush 80
invokespecial java.io.BufferedInputStream.<init>:(Ljava/io/InputStream;I)V
putfield sun.awt.image.XbmImageDecoder.input:Ljava/io/InputStream;
3: .line 61
StackMap locals: sun.awt.image.XbmImageDecoder sun.awt.image.InputStreamImageSource java.io.InputStream
StackMap stack:
return
end local 2 // java.io.InputStream is
end local 1 // sun.awt.image.InputStreamImageSource src
end local 0 // sun.awt.image.XbmImageDecoder this
LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/awt/image/XbmImageDecoder;
0 4 1 src Lsun/awt/image/InputStreamImageSource;
0 4 2 is Ljava/io/InputStream;
MethodParameters:
Name Flags
src
is
private static void error(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 // java.lang.String s1
0: .line 68
new sun.awt.image.ImageFormatException
dup
aload 0 /* s1 */
invokespecial sun.awt.image.ImageFormatException.<init>:(Ljava/lang/String;)V
athrow
end local 0 // java.lang.String s1
LocalVariableTable:
Start End Slot Name Signature
0 1 0 s1 Ljava/lang/String;
Exceptions:
throws sun.awt.image.ImageFormatException
MethodParameters:
Name Flags
s1
public void produceImage();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=15, args_size=1
start local 0 // sun.awt.image.XbmImageDecoder this
0: .line 75
bipush 80
newarray 5
astore 1 /* nm */
start local 1 // char[] nm
1: .line 77
iconst_0
istore 3 /* i */
start local 3 // int i
2: .line 78
iconst_0
istore 4 /* state */
start local 4 // int state
3: .line 79
iconst_0
istore 5 /* H */
start local 5 // int H
4: .line 80
iconst_0
istore 6 /* W */
start local 6 // int W
5: .line 81
iconst_0
istore 7 /* x */
start local 7 // int x
6: .line 82
iconst_0
istore 8 /* y */
start local 8 // int y
7: .line 83
iconst_1
istore 9 /* start */
start local 9 // boolean start
8: .line 84
aconst_null
astore 10 /* raster */
start local 10 // byte[] raster
9: .line 85
aconst_null
astore 11 /* model */
start local 11 // java.awt.image.IndexColorModel model
10: .line 86
goto 90
start local 2 // int c
11: .line 87
StackMap locals: sun.awt.image.XbmImageDecoder char[] int int int int int int int int byte[] java.awt.image.IndexColorModel
StackMap stack:
bipush 97
iload 2 /* c */
if_icmpgt 12
iload 2 /* c */
bipush 122
if_icmple 15
12: .line 88
StackMap locals:
StackMap stack:
bipush 65
iload 2 /* c */
if_icmpgt 13
iload 2 /* c */
bipush 90
if_icmple 15
13: .line 89
StackMap locals:
StackMap stack:
bipush 48
iload 2 /* c */
if_icmpgt 14
iload 2 /* c */
bipush 57
if_icmple 15
StackMap locals:
StackMap stack:
14: iload 2 /* c */
bipush 35
if_icmpeq 15
iload 2 /* c */
bipush 95
if_icmpne 18
15: .line 90
StackMap locals:
StackMap stack:
iload 3 /* i */
bipush 78
if_icmpge 90
16: .line 91
aload 1 /* nm */
iload 3 /* i */
iinc 3 /* i */ 1
iload 2 /* c */
i2c
castore
17: .line 92
goto 90
StackMap locals:
StackMap stack:
18: iload 3 /* i */
ifle 90
19: .line 93
iload 3 /* i */
istore 12 /* nc */
start local 12 // int nc
20: .line 94
iconst_0
istore 3 /* i */
21: .line 95
iload 9 /* start */
ifeq 32
22: .line 96
iload 12 /* nc */
bipush 7
if_icmpne 30
23: .line 97
aload 1 /* nm */
iconst_0
caload
bipush 35
if_icmpne 30
24: .line 98
aload 1 /* nm */
iconst_1
caload
bipush 100
if_icmpne 30
25: .line 99
aload 1 /* nm */
iconst_2
caload
bipush 101
if_icmpne 30
26: .line 100
aload 1 /* nm */
iconst_3
caload
bipush 102
if_icmpne 30
27: .line 101
aload 1 /* nm */
iconst_4
caload
bipush 105
if_icmpne 30
28: .line 102
aload 1 /* nm */
iconst_5
caload
bipush 110
if_icmpne 30
29: .line 103
aload 1 /* nm */
bipush 6
caload
bipush 101
if_icmpeq 31
30: .line 105
StackMap locals: int
StackMap stack:
ldc "Not an XBM file"
invokestatic sun.awt.image.XbmImageDecoder.error:(Ljava/lang/String;)V
31: .line 107
StackMap locals:
StackMap stack:
iconst_0
istore 9 /* start */
32: .line 109
StackMap locals:
StackMap stack:
aload 1 /* nm */
iload 12 /* nc */
iconst_1
isub
caload
bipush 104
if_icmpne 34
33: .line 110
iconst_1
istore 4 /* state */
goto 90
34: .line 111
StackMap locals:
StackMap stack:
aload 1 /* nm */
iload 12 /* nc */
iconst_1
isub
caload
bipush 116
if_icmpne 36
iload 12 /* nc */
iconst_1
if_icmple 36
aload 1 /* nm */
iload 12 /* nc */
iconst_2
isub
caload
bipush 104
if_icmpne 36
35: .line 112
iconst_2
istore 4 /* state */
goto 90
36: .line 113
StackMap locals:
StackMap stack:
iload 12 /* nc */
iconst_2
if_icmple 66
iload 4 /* state */
ifge 66
aload 1 /* nm */
iconst_0
caload
bipush 48
if_icmpne 66
aload 1 /* nm */
iconst_1
caload
bipush 120
if_icmpne 66
37: .line 114
iconst_0
istore 13 /* n */
start local 13 // int n
38: .line 115
iconst_2
istore 14 /* p */
start local 14 // int p
39: goto 50
40: .line 116
StackMap locals: int int
StackMap stack:
aload 1 /* nm */
iload 14 /* p */
caload
istore 2 /* c */
41: .line 117
bipush 48
iload 2 /* c */
if_icmpgt 43
iload 2 /* c */
bipush 57
if_icmpgt 43
42: .line 118
iinc 2 /* c */ -48
goto 48
43: .line 119
StackMap locals:
StackMap stack:
bipush 65
iload 2 /* c */
if_icmpgt 45
iload 2 /* c */
bipush 90
if_icmpgt 45
44: .line 120
iload 2 /* c */
bipush 65
isub
bipush 10
iadd
istore 2 /* c */
goto 48
45: .line 121
StackMap locals:
StackMap stack:
bipush 97
iload 2 /* c */
if_icmpgt 47
iload 2 /* c */
bipush 122
if_icmpgt 47
46: .line 122
iload 2 /* c */
bipush 97
isub
bipush 10
iadd
istore 2 /* c */
goto 48
47: .line 124
StackMap locals:
StackMap stack:
iconst_0
istore 2 /* c */
48: .line 125
StackMap locals:
StackMap stack:
iload 13 /* n */
bipush 16
imul
iload 2 /* c */
iadd
istore 13 /* n */
49: .line 115
iinc 14 /* p */ 1
StackMap locals:
StackMap stack:
50: iload 14 /* p */
iload 12 /* nc */
if_icmplt 40
end local 14 // int p
51: .line 127
iconst_1
istore 14 /* mask */
start local 14 // int mask
52: goto 59
53: .line 128
StackMap locals:
StackMap stack:
iload 7 /* x */
iload 6 /* W */
if_icmpge 57
54: .line 129
iload 13 /* n */
iload 14 /* mask */
iand
ifeq 56
55: .line 130
aload 10 /* raster */
iload 7 /* x */
iconst_1
bastore
goto 57
56: .line 132
StackMap locals:
StackMap stack:
aload 10 /* raster */
iload 7 /* x */
iconst_0
bastore
57: .line 134
StackMap locals:
StackMap stack:
iinc 7 /* x */ 1
58: .line 127
iload 14 /* mask */
iconst_1
ishl
istore 14 /* mask */
StackMap locals:
StackMap stack:
59: iload 14 /* mask */
sipush 128
if_icmple 53
end local 14 // int mask
60: .line 136
iload 7 /* x */
iload 6 /* W */
if_icmplt 90
61: .line 137
aload 0 /* this */
iconst_0
iload 8 /* y */
iload 6 /* W */
iconst_1
aload 11 /* model */
aload 10 /* raster */
iconst_0
iload 6 /* W */
invokevirtual sun.awt.image.XbmImageDecoder.setPixels:(IIIILjava/awt/image/ColorModel;[BII)I
ifgt 63
62: .line 138
return
63: .line 140
StackMap locals:
StackMap stack:
iconst_0
istore 7 /* x */
64: .line 141
iload 8 /* y */
iinc 8 /* y */ 1
iload 5 /* H */
if_icmplt 90
65: .line 142
goto 92
end local 13 // int n
66: .line 146
StackMap locals:
StackMap stack:
iconst_0
istore 13 /* n */
start local 13 // int n
67: .line 147
iconst_0
istore 14 /* p */
start local 14 // int p
68: goto 74
69: .line 148
StackMap locals: int int
StackMap stack:
bipush 48
aload 1 /* nm */
iload 14 /* p */
caload
dup
istore 2 /* c */
if_icmpgt 71
iload 2 /* c */
bipush 57
if_icmpgt 71
70: .line 149
iload 13 /* n */
bipush 10
imul
iload 2 /* c */
iadd
bipush 48
isub
istore 13 /* n */
goto 73
71: .line 151
StackMap locals:
StackMap stack:
iconst_m1
istore 13 /* n */
72: .line 152
goto 75
73: .line 147
StackMap locals:
StackMap stack:
iinc 14 /* p */ 1
StackMap locals:
StackMap stack:
74: iload 14 /* p */
iload 12 /* nc */
if_icmplt 69
end local 14 // int p
75: .line 154
StackMap locals:
StackMap stack:
iload 13 /* n */
ifle 90
iload 4 /* state */
ifle 90
76: .line 155
iload 4 /* state */
iconst_1
if_icmpne 78
77: .line 156
iload 13 /* n */
istore 6 /* W */
goto 79
78: .line 158
StackMap locals:
StackMap stack:
iload 13 /* n */
istore 5 /* H */
79: .line 159
StackMap locals:
StackMap stack:
iload 6 /* W */
ifeq 80
iload 5 /* H */
ifne 81
80: .line 160
StackMap locals:
StackMap stack:
iconst_0
istore 4 /* state */
goto 90
81: .line 162
StackMap locals:
StackMap stack:
new java.awt.image.IndexColorModel
dup
bipush 8
iconst_2
getstatic sun.awt.image.XbmImageDecoder.XbmColormap:[B
82: .line 163
iconst_0
iconst_0
iconst_0
83: .line 162
invokespecial java.awt.image.IndexColorModel.<init>:(II[BIZI)V
astore 11 /* model */
84: .line 164
aload 0 /* this */
iload 6 /* W */
iload 5 /* H */
invokevirtual sun.awt.image.XbmImageDecoder.setDimensions:(II)I
pop
85: .line 165
aload 0 /* this */
aload 11 /* model */
invokevirtual sun.awt.image.XbmImageDecoder.setColorModel:(Ljava/awt/image/ColorModel;)I
pop
86: .line 166
aload 0 /* this */
getstatic sun.awt.image.XbmImageDecoder.XbmHints:I
invokevirtual sun.awt.image.XbmImageDecoder.setHints:(I)I
pop
87: .line 167
aload 0 /* this */
invokevirtual sun.awt.image.XbmImageDecoder.headerComplete:()V
88: .line 168
iload 6 /* W */
newarray 8
astore 10 /* raster */
89: .line 169
iconst_m1
istore 4 /* state */
end local 13 // int n
end local 12 // int nc
end local 2 // int c
90: .line 86
StackMap locals: sun.awt.image.XbmImageDecoder char[] top int int int int int int int byte[] java.awt.image.IndexColorModel
StackMap stack:
aload 0 /* this */
getfield sun.awt.image.XbmImageDecoder.aborted:Z
ifne 92
aload 0 /* this */
getfield sun.awt.image.XbmImageDecoder.input:Ljava/io/InputStream;
invokevirtual java.io.InputStream.read:()I
dup
istore 2 /* c */
start local 2 // int c
91: iconst_m1
if_icmpne 11
end local 2 // int c
92: .line 175
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.awt.image.XbmImageDecoder.input:Ljava/io/InputStream;
invokevirtual java.io.InputStream.close:()V
93: .line 176
aload 0 /* this */
iconst_3
iconst_1
invokevirtual sun.awt.image.XbmImageDecoder.imageComplete:(IZ)I
pop
94: .line 177
return
end local 11 // java.awt.image.IndexColorModel model
end local 10 // byte[] raster
end local 9 // boolean start
end local 8 // int y
end local 7 // int x
end local 6 // int W
end local 5 // int H
end local 4 // int state
end local 3 // int i
end local 1 // char[] nm
end local 0 // sun.awt.image.XbmImageDecoder this
LocalVariableTable:
Start End Slot Name Signature
0 95 0 this Lsun/awt/image/XbmImageDecoder;
1 95 1 nm [C
11 90 2 c I
91 92 2 c I
2 95 3 i I
3 95 4 state I
4 95 5 H I
5 95 6 W I
6 95 7 x I
7 95 8 y I
8 95 9 start Z
9 95 10 raster [B
10 95 11 model Ljava/awt/image/IndexColorModel;
20 90 12 nc I
38 66 13 n I
39 51 14 p I
52 60 14 mask I
67 90 13 n I
68 75 14 p I
Exceptions:
throws java.io.IOException, sun.awt.image.ImageFormatException
}
SourceFile: "XbmImageDecoder.java"