final class com.sun.javafx.iio.bmp.BMPImageLoader extends com.sun.javafx.iio.common.ImageLoaderImpl
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.sun.javafx.iio.bmp.BMPImageLoader
super_class: com.sun.javafx.iio.common.ImageLoaderImpl
{
static final short BM;
descriptor: S
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 19778
static final int BFH_SIZE;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 14
final com.sun.javafx.iio.bmp.LEInputStream data;
descriptor: Lcom/sun/javafx/iio/bmp/LEInputStream;
flags: (0x0010) ACC_FINAL
int bfSize;
descriptor: I
flags: (0x0000)
int bfOffBits;
descriptor: I
flags: (0x0000)
byte[] bgra_palette;
descriptor: [B
flags: (0x0000)
com.sun.javafx.iio.bmp.BitmapInfoHeader ;
descriptor: Lcom/sun/javafx/iio/bmp/BitmapInfoHeader;
flags: (0x0000)
int[] bitMasks;
descriptor: [I
flags: (0x0000)
int[] bitOffsets;
descriptor: [I
flags: (0x0000)
void <init>(java.io.InputStream);
descriptor: (Ljava/io/InputStream;)V
flags: (0x0000)
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getstatic com.sun.javafx.iio.bmp.BMPDescriptor.theInstance:Lcom/sun/javafx/iio/common/ImageDescriptor;
invokespecial com.sun.javafx.iio.common.ImageLoaderImpl.<init>:(Lcom/sun/javafx/iio/ImageFormatDescription;)V
1: aload 0
new com.sun.javafx.iio.bmp.LEInputStream
dup
aload 1
invokespecial com.sun.javafx.iio.bmp.LEInputStream.<init>:(Ljava/io/InputStream;)V
putfield com.sun.javafx.iio.bmp.BMPImageLoader.data:Lcom/sun/javafx/iio/bmp/LEInputStream;
2: aload 0
getfield com.sun.javafx.iio.bmp.BMPImageLoader.data:Lcom/sun/javafx/iio/bmp/LEInputStream;
invokevirtual com.sun.javafx.iio.bmp.LEInputStream.readShort:()S
sipush 19778
if_icmpeq 4
3: new java.io.IOException
dup
ldc "Invalid BMP file signature"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals: com.sun.javafx.iio.bmp.BMPImageLoader java.io.InputStream
StackMap stack:
aload 0
invokevirtual com.sun.javafx.iio.bmp.BMPImageLoader.readHeader:()V
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/javafx/iio/bmp/BMPImageLoader;
0 6 1 input Ljava/io/InputStream;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
input
private void ();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=1
start local 0 0: aload 0
aload 0
getfield com.sun.javafx.iio.bmp.BMPImageLoader.data:Lcom/sun/javafx/iio/bmp/LEInputStream;
invokevirtual com.sun.javafx.iio.bmp.LEInputStream.readInt:()I
putfield com.sun.javafx.iio.bmp.BMPImageLoader.bfSize:I
1: aload 0
getfield com.sun.javafx.iio.bmp.BMPImageLoader.data:Lcom/sun/javafx/iio/bmp/LEInputStream;
iconst_4
invokevirtual com.sun.javafx.iio.bmp.LEInputStream.skipBytes:(I)V
2: aload 0
aload 0
getfield com.sun.javafx.iio.bmp.BMPImageLoader.data:Lcom/sun/javafx/iio/bmp/LEInputStream;
invokevirtual com.sun.javafx.iio.bmp.LEInputStream.readInt:()I
putfield com.sun.javafx.iio.bmp.BMPImageLoader.bfOffBits:I
3: aload 0
new com.sun.javafx.iio.bmp.BitmapInfoHeader
dup
aload 0
getfield com.sun.javafx.iio.bmp.BMPImageLoader.data:Lcom/sun/javafx/iio/bmp/LEInputStream;
invokespecial com.sun.javafx.iio.bmp.BitmapInfoHeader.<init>:(Lcom/sun/javafx/iio/bmp/LEInputStream;)V
putfield com.sun.javafx.iio.bmp.BMPImageLoader.bih:Lcom/sun/javafx/iio/bmp/BitmapInfoHeader;
4: aload 0
getfield com.sun.javafx.iio.bmp.BMPImageLoader.bfOffBits:I
aload 0
getfield com.sun.javafx.iio.bmp.BMPImageLoader.bih:Lcom/sun/javafx/iio/bmp/BitmapInfoHeader;
getfield com.sun.javafx.iio.bmp.BitmapInfoHeader.biSize:I
bipush 14
iadd
if_icmpge 6
5: new java.io.IOException
dup
ldc "Invalid bitmap bits offset"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.javafx.iio.bmp.BMPImageLoader.bih:Lcom/sun/javafx/iio/bmp/BitmapInfoHeader;
getfield com.sun.javafx.iio.bmp.BitmapInfoHeader.biSize:I
bipush 14
iadd
aload 0
getfield com.sun.javafx.iio.bmp.BMPImageLoader.bfOffBits:I
if_icmpeq 13
7: aload 0
getfield com.sun.javafx.iio.bmp.BMPImageLoader.bfOffBits:I
aload 0
getfield com.sun.javafx.iio.bmp.BMPImageLoader.bih:Lcom/sun/javafx/iio/bmp/BitmapInfoHeader;
getfield com.sun.javafx.iio.bmp.BitmapInfoHeader.biSize:I
isub
bipush 14
isub
istore 1
start local 1 8: iload 1
iconst_4
idiv
istore 2
start local 2 9: aload 0
iload 2
iconst_4
imul
newarray 8
putfield com.sun.javafx.iio.bmp.BMPImageLoader.bgra_palette:[B
10: aload 0
getfield com.sun.javafx.iio.bmp.BMPImageLoader.data:Lcom/sun/javafx/iio/bmp/LEInputStream;
getfield com.sun.javafx.iio.bmp.LEInputStream.in:Ljava/io/InputStream;
aload 0
getfield com.sun.javafx.iio.bmp.BMPImageLoader.bgra_palette:[B
invokevirtual java.io.InputStream.read:([B)I
istore 3
start local 3 11: iload 3
iload 1
if_icmpge 13
12: aload 0
getfield com.sun.javafx.iio.bmp.BMPImageLoader.data:Lcom/sun/javafx/iio/bmp/LEInputStream;
iload 1
iload 3
isub
invokevirtual com.sun.javafx.iio.bmp.LEInputStream.skipBytes:(I)V
end local 3 end local 2 end local 1 13: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.javafx.iio.bmp.BMPImageLoader.bih:Lcom/sun/javafx/iio/bmp/BitmapInfoHeader;
getfield com.sun.javafx.iio.bmp.BitmapInfoHeader.biCompression:I
iconst_3
if_icmpne 16
14: aload 0
invokevirtual com.sun.javafx.iio.bmp.BMPImageLoader.parseBitfields:()V
15: goto 20
StackMap locals:
StackMap stack:
16: aload 0
getfield com.sun.javafx.iio.bmp.BMPImageLoader.bih:Lcom/sun/javafx/iio/bmp/BitmapInfoHeader;
getfield com.sun.javafx.iio.bmp.BitmapInfoHeader.biCompression:I
ifne 20
17: aload 0
getfield com.sun.javafx.iio.bmp.BMPImageLoader.bih:Lcom/sun/javafx/iio/bmp/BitmapInfoHeader;
getfield com.sun.javafx.iio.bmp.BitmapInfoHeader.biBitCount:S
bipush 16
if_icmpne 20
18: aload 0
iconst_3
newarray 10
dup
iconst_0
sipush 31744
iastore
dup
iconst_1
sipush 992
iastore
dup
iconst_2
bipush 31
iastore
putfield com.sun.javafx.iio.bmp.BMPImageLoader.bitMasks:[I
19: aload 0
iconst_3
newarray 10
dup
iconst_0
bipush 10
iastore
dup
iconst_1
iconst_5
iastore
putfield com.sun.javafx.iio.bmp.BMPImageLoader.bitOffsets:[I
20: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lcom/sun/javafx/iio/bmp/BMPImageLoader;
8 13 1 length I
9 13 2 paletteSize I
11 13 3 read I
Exceptions:
throws java.io.IOException
private void parseBitfields();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=1
start local 0 0: aload 0
getfield com.sun.javafx.iio.bmp.BMPImageLoader.bgra_palette:[B
arraylength
bipush 12
if_icmpeq 2
1: new java.io.IOException
dup
ldc "Invalid bit masks"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
iconst_3
newarray 10
putfield com.sun.javafx.iio.bmp.BMPImageLoader.bitMasks:[I
3: aload 0
iconst_3
newarray 10
putfield com.sun.javafx.iio.bmp.BMPImageLoader.bitOffsets:[I
4: iconst_0
istore 1
start local 1 5: goto 18
6: StackMap locals: int
StackMap stack:
aload 0
getfield com.sun.javafx.iio.bmp.BMPImageLoader.bgra_palette:[B
iload 1
iconst_4
imul
invokestatic com.sun.javafx.iio.bmp.BMPImageLoader.getDWord:([BI)I
istore 2
start local 2 7: aload 0
getfield com.sun.javafx.iio.bmp.BMPImageLoader.bitMasks:[I
iload 1
iload 2
iastore
8: iconst_0
istore 3
start local 3 9: iload 2
ifeq 16
10: goto 13
11: StackMap locals: int int
StackMap stack:
iinc 3 1
12: iload 2
iconst_1
iushr
istore 2
13: StackMap locals:
StackMap stack:
iload 2
iconst_1
iand
ifeq 11
14: iload 2
invokestatic com.sun.javafx.iio.bmp.BMPImageLoader.isPow2Minus1:(I)Z
ifne 16
15: new java.io.IOException
dup
ldc "Bit mask is not contiguous"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
16: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.javafx.iio.bmp.BMPImageLoader.bitOffsets:[I
iload 1
iload 3
iastore
end local 3 end local 2 17: iinc 1 1
StackMap locals:
StackMap stack:
18: iload 1
iconst_3
if_icmplt 6
end local 1 19: aload 0
getfield com.sun.javafx.iio.bmp.BMPImageLoader.bitMasks:[I
iconst_0
iaload
aload 0
getfield com.sun.javafx.iio.bmp.BMPImageLoader.bitMasks:[I
iconst_1
iaload
aload 0
getfield com.sun.javafx.iio.bmp.BMPImageLoader.bitMasks:[I
iconst_2
iaload
invokestatic com.sun.javafx.iio.bmp.BMPImageLoader.checkDisjointMasks:(III)Z
ifne 21
20: new java.io.IOException
dup
ldc "Bit masks overlap"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
21: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lcom/sun/javafx/iio/bmp/BMPImageLoader;
5 19 1 i I
7 17 2 mask I
9 17 3 offset I
Exceptions:
throws java.io.IOException
static boolean checkDisjointMasks(int, int, int);
descriptor: (III)Z
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 0
iload 1
iand
iload 0
iload 2
iand
ior
iload 1
iload 2
iand
ior
ifne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 m1 I
0 2 1 m2 I
0 2 2 m3 I
MethodParameters:
Name Flags
m1
m2
m3
static boolean isPow2Minus1(int);
descriptor: (I)Z
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: iload 0
iload 0
iconst_1
iadd
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 i I
MethodParameters:
Name Flags
i
public void dispose();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=1, args_size=1
start local 0 0: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/javafx/iio/bmp/BMPImageLoader;
private void readRLE(byte[], int, int, boolean);
descriptor: ([BIIZ)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=18, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield com.sun.javafx.iio.bmp.BMPImageLoader.bih:Lcom/sun/javafx/iio/bmp/BitmapInfoHeader;
getfield com.sun.javafx.iio.bmp.BitmapInfoHeader.biSizeImage:I
istore 5
start local 5 1: iload 5
ifne 3
2: aload 0
getfield com.sun.javafx.iio.bmp.BMPImageLoader.bfSize:I
aload 0
getfield com.sun.javafx.iio.bmp.BMPImageLoader.bfOffBits:I
isub
istore 5
3: StackMap locals: int
StackMap stack:
iload 5
newarray 8
astore 6
start local 6 4: aload 0
getfield com.sun.javafx.iio.bmp.BMPImageLoader.data:Lcom/sun/javafx/iio/bmp/LEInputStream;
getfield com.sun.javafx.iio.bmp.LEInputStream.in:Ljava/io/InputStream;
aload 6
invokestatic com.sun.javafx.iio.common.ImageTools.readFully:(Ljava/io/InputStream;[B)I
pop
5: aload 0
getfield com.sun.javafx.iio.bmp.BMPImageLoader.bih:Lcom/sun/javafx/iio/bmp/BitmapInfoHeader;
getfield com.sun.javafx.iio.bmp.BitmapInfoHeader.biHeight:I
ifle 6
iconst_1
goto 7
StackMap locals: byte[]
StackMap stack:
6: iconst_0
StackMap locals:
StackMap stack: int
7: istore 7
start local 7 8: iload 7
ifeq 9
iload 3
iconst_1
isub
goto 10
StackMap locals: int
StackMap stack:
9: iconst_0
StackMap locals:
StackMap stack: int
10: istore 8
start local 8 11: iconst_0
istore 9
start local 9 12: iload 8
iload 2
imul
istore 10
start local 10 13: goto 67
14: StackMap locals: int int int
StackMap stack:
aload 6
iload 9
iinc 9 1
invokestatic com.sun.javafx.iio.bmp.BMPImageLoader.getByte:([BI)I
istore 11
start local 11 15: aload 6
iload 9
iinc 9 1
invokestatic com.sun.javafx.iio.bmp.BMPImageLoader.getByte:([BI)I
istore 12
start local 12 16: iload 11
ifne 50
17: iload 12
tableswitch { // 0 - 2
0: 18
1: 23
2: 24
default: 30
}
18: StackMap locals: int int
StackMap stack:
iload 8
iload 7
ifeq 19
iconst_m1
goto 20
StackMap locals:
StackMap stack: int
19: iconst_1
StackMap locals: com.sun.javafx.iio.bmp.BMPImageLoader byte[] int int int int byte[] int int int int int int
StackMap stack: int int
20: iadd
istore 8
21: iload 8
iload 2
imul
istore 10
22: goto 67
23: StackMap locals:
StackMap stack:
return
24: StackMap locals:
StackMap stack:
aload 6
iload 9
iinc 9 1
invokestatic com.sun.javafx.iio.bmp.BMPImageLoader.getByte:([BI)I
istore 13
start local 13 25: aload 6
iload 9
iinc 9 1
invokestatic com.sun.javafx.iio.bmp.BMPImageLoader.getByte:([BI)I
istore 14
start local 14 26: iload 8
iload 14
iadd
istore 8
27: iload 10
iload 14
iload 2
imul
iadd
istore 10
28: iload 10
iload 13
iconst_3
imul
iadd
istore 10
29: goto 67
end local 14 end local 13 30: StackMap locals:
StackMap stack:
iconst_0
istore 15
start local 15 31: iconst_0
istore 17
start local 17 32: goto 43
33: StackMap locals: com.sun.javafx.iio.bmp.BMPImageLoader byte[] int int int int byte[] int int int int int int top top int top int
StackMap stack:
iload 4
ifeq 40
34: iload 17
iconst_1
iand
ifne 38
35: aload 6
iload 9
iinc 9 1
invokestatic com.sun.javafx.iio.bmp.BMPImageLoader.getByte:([BI)I
istore 15
36: iload 15
sipush 240
iand
iconst_4
ishr
istore 16
start local 16 37: goto 41
end local 16 38: StackMap locals:
StackMap stack:
iload 15
bipush 15
iand
istore 16
start local 16 39: goto 41
end local 16 40: StackMap locals:
StackMap stack:
aload 6
iload 9
iinc 9 1
invokestatic com.sun.javafx.iio.bmp.BMPImageLoader.getByte:([BI)I
istore 16
start local 16 41: StackMap locals: com.sun.javafx.iio.bmp.BMPImageLoader byte[] int int int int byte[] int int int int int int top top int int int
StackMap stack:
aload 0
aload 1
iload 10
iload 16
invokevirtual com.sun.javafx.iio.bmp.BMPImageLoader.setRGBFromPalette:([BII)I
istore 10
42: iinc 17 1
end local 16 StackMap locals: com.sun.javafx.iio.bmp.BMPImageLoader byte[] int int int int byte[] int int int int int int top top int top int
StackMap stack:
43: iload 17
iload 12
if_icmplt 33
end local 17 44: iload 4
ifeq 48
45: iload 12
iconst_3
iand
iconst_1
if_icmpeq 46
iload 12
iconst_3
iand
iconst_2
if_icmpne 67
StackMap locals: com.sun.javafx.iio.bmp.BMPImageLoader byte[] int int int int byte[] int int int int int int top top int
StackMap stack:
46: iinc 9 1
47: goto 67
48: StackMap locals:
StackMap stack:
iload 12
iconst_1
iand
iconst_1
if_icmpne 67
iinc 9 1
end local 15 49: goto 67
50: StackMap locals: com.sun.javafx.iio.bmp.BMPImageLoader byte[] int int int int byte[] int int int int int int
StackMap stack:
iload 4
ifeq 62
51: iload 12
sipush 240
iand
iconst_4
ishr
istore 13
start local 13 52: iload 12
bipush 15
iand
istore 14
start local 14 53: iconst_0
istore 15
start local 15 54: goto 60
55: StackMap locals: int int int
StackMap stack:
aload 0
aload 1
iload 10
56: iload 15
iconst_1
iand
ifne 57
iload 13
goto 58
StackMap locals: com.sun.javafx.iio.bmp.BMPImageLoader byte[] int int int int byte[] int int int int int int int int int
StackMap stack: com.sun.javafx.iio.bmp.BMPImageLoader byte[] int
57: iload 14
58: StackMap locals: com.sun.javafx.iio.bmp.BMPImageLoader byte[] int int int int byte[] int int int int int int int int int
StackMap stack: com.sun.javafx.iio.bmp.BMPImageLoader byte[] int int
invokevirtual com.sun.javafx.iio.bmp.BMPImageLoader.setRGBFromPalette:([BII)I
istore 10
59: iinc 15 1
StackMap locals:
StackMap stack:
60: iload 15
iload 11
if_icmplt 55
end local 15 end local 14 end local 13 61: goto 67
62: StackMap locals:
StackMap stack:
iconst_0
istore 13
start local 13 63: goto 66
64: StackMap locals: int
StackMap stack:
aload 0
aload 1
iload 10
iload 12
invokevirtual com.sun.javafx.iio.bmp.BMPImageLoader.setRGBFromPalette:([BII)I
istore 10
65: iinc 13 1
StackMap locals:
StackMap stack:
66: iload 13
iload 11
if_icmplt 64
end local 13 end local 12 end local 11 67: StackMap locals:
StackMap stack:
iload 9
iload 5
if_icmplt 14
68: return
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 69 0 this Lcom/sun/javafx/iio/bmp/BMPImageLoader;
0 69 1 image [B
0 69 2 rowLength I
0 69 3 hght I
0 69 4 isRLE4 Z
1 69 5 imgSize I
4 69 6 imgData [B
8 69 7 isBottomUp Z
11 69 8 line I
12 69 9 i I
13 69 10 dstOffset I
15 67 11 b1 I
16 67 12 b2 I
25 30 13 deltaX I
26 30 14 deltaY I
31 49 15 indexData I
37 38 16 index I
39 40 16 index I
41 43 16 index I
32 44 17 p I
52 61 13 index1 I
53 61 14 index2 I
54 61 15 p I
63 67 13 p I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
image
rowLength
hght
isRLE4
private int setRGBFromPalette(byte[], int, int);
descriptor: ([BII)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 3
iconst_4
imul
istore 3
1: aload 1
iload 2
iinc 2 1
aload 0
getfield com.sun.javafx.iio.bmp.BMPImageLoader.bgra_palette:[B
iload 3
iconst_2
iadd
baload
bastore
2: aload 1
iload 2
iinc 2 1
aload 0
getfield com.sun.javafx.iio.bmp.BMPImageLoader.bgra_palette:[B
iload 3
iconst_1
iadd
baload
bastore
3: aload 1
iload 2
iinc 2 1
aload 0
getfield com.sun.javafx.iio.bmp.BMPImageLoader.bgra_palette:[B
iload 3
baload
bastore
4: iload 2
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/javafx/iio/bmp/BMPImageLoader;
0 5 1 image [B
0 5 2 dstOffset I
0 5 3 index I
MethodParameters:
Name Flags
image
dstOffset
index
private void readPackedBits(byte[], int, int);
descriptor: ([BII)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=17, args_size=4
start local 0 start local 1 start local 2 start local 3 0: bipush 8
aload 0
getfield com.sun.javafx.iio.bmp.BMPImageLoader.bih:Lcom/sun/javafx/iio/bmp/BitmapInfoHeader;
getfield com.sun.javafx.iio.bmp.BitmapInfoHeader.biBitCount:S
idiv
istore 4
start local 4 1: aload 0
getfield com.sun.javafx.iio.bmp.BMPImageLoader.bih:Lcom/sun/javafx/iio/bmp/BitmapInfoHeader;
getfield com.sun.javafx.iio.bmp.BitmapInfoHeader.biWidth:I
iload 4
iadd
iconst_1
isub
iload 4
idiv
istore 5
start local 5 2: iload 5
iconst_3
iadd
bipush -4
iand
istore 6
start local 6 3: iconst_1
aload 0
getfield com.sun.javafx.iio.bmp.BMPImageLoader.bih:Lcom/sun/javafx/iio/bmp/BitmapInfoHeader;
getfield com.sun.javafx.iio.bmp.BitmapInfoHeader.biBitCount:S
ishl
iconst_1
isub
istore 7
start local 7 4: iload 6
newarray 8
astore 8
start local 8 5: iconst_0
istore 9
start local 9 6: goto 22
7: StackMap locals: com.sun.javafx.iio.bmp.BMPImageLoader byte[] int int int int int int byte[] int
StackMap stack:
aload 0
getfield com.sun.javafx.iio.bmp.BMPImageLoader.data:Lcom/sun/javafx/iio/bmp/LEInputStream;
getfield com.sun.javafx.iio.bmp.LEInputStream.in:Ljava/io/InputStream;
aload 8
invokestatic com.sun.javafx.iio.common.ImageTools.readFully:(Ljava/io/InputStream;[B)I
pop
8: aload 0
getfield com.sun.javafx.iio.bmp.BMPImageLoader.bih:Lcom/sun/javafx/iio/bmp/BitmapInfoHeader;
getfield com.sun.javafx.iio.bmp.BitmapInfoHeader.biHeight:I
ifge 9
iload 9
goto 10
StackMap locals:
StackMap stack:
9: iload 3
iload 9
isub
iconst_1
isub
StackMap locals:
StackMap stack: int
10: istore 10
start local 10 11: iload 10
iload 2
imul
istore 11
start local 11 12: iconst_0
istore 12
start local 12 13: goto 20
14: StackMap locals: int int int
StackMap stack:
iload 12
aload 0
getfield com.sun.javafx.iio.bmp.BMPImageLoader.bih:Lcom/sun/javafx/iio/bmp/BitmapInfoHeader;
getfield com.sun.javafx.iio.bmp.BitmapInfoHeader.biBitCount:S
imul
istore 13
start local 13 15: aload 8
iload 13
bipush 8
idiv
baload
istore 14
start local 14 16: bipush 8
iload 13
bipush 7
iand
isub
aload 0
getfield com.sun.javafx.iio.bmp.BMPImageLoader.bih:Lcom/sun/javafx/iio/bmp/BitmapInfoHeader;
getfield com.sun.javafx.iio.bmp.BitmapInfoHeader.biBitCount:S
isub
istore 15
start local 15 17: iload 14
iload 15
ishr
iload 7
iand
istore 16
start local 16 18: aload 0
aload 1
iload 11
iload 16
invokevirtual com.sun.javafx.iio.bmp.BMPImageLoader.setRGBFromPalette:([BII)I
istore 11
end local 16 end local 15 end local 14 end local 13 19: iinc 12 1
StackMap locals:
StackMap stack:
20: iload 12
aload 0
getfield com.sun.javafx.iio.bmp.BMPImageLoader.bih:Lcom/sun/javafx/iio/bmp/BitmapInfoHeader;
getfield com.sun.javafx.iio.bmp.BitmapInfoHeader.biWidth:I
if_icmpne 14
end local 12 end local 11 end local 10 21: iinc 9 1
StackMap locals:
StackMap stack:
22: iload 9
iload 3
if_icmpne 7
end local 9 23: 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 24 0 this Lcom/sun/javafx/iio/bmp/BMPImageLoader;
0 24 1 image [B
0 24 2 rowLength I
0 24 3 hght I
1 24 4 pixPerByte I
2 24 5 bytesPerLine I
3 24 6 srcStride I
4 24 7 bitMask I
5 24 8 lineBuf [B
6 23 9 i I
11 21 10 line I
12 21 11 dstOffset I
13 21 12 x I
15 19 13 bitnum I
16 19 14 element I
17 19 15 shift I
18 19 16 index I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
image
rowLength
hght
private static int getDWord(byte[], int);
descriptor: ([BI)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
baload
sipush 255
iand
1: aload 0
iload 1
iconst_1
iadd
baload
sipush 255
iand
bipush 8
ishl
2: ior
3: aload 0
iload 1
iconst_2
iadd
baload
sipush 255
iand
bipush 16
ishl
4: ior
5: aload 0
iload 1
iconst_3
iadd
baload
sipush 255
iand
bipush 24
ishl
6: ior
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 buf [B
0 7 1 pos I
MethodParameters:
Name Flags
buf
pos
private static int getWord(byte[], int);
descriptor: ([BI)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
baload
sipush 255
iand
1: aload 0
iload 1
iconst_1
iadd
baload
sipush 255
iand
bipush 8
ishl
2: ior
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 buf [B
0 3 1 pos I
MethodParameters:
Name Flags
buf
pos
private static int getByte(byte[], int);
descriptor: ([BI)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
baload
sipush 255
iand
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 buf [B
0 1 1 pos I
MethodParameters:
Name Flags
buf
pos
private static byte convertFrom5To8Bit(int, int, int);
descriptor: (III)B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: iload 0
iload 1
iand
iload 2
iushr
istore 3
start local 3 1: iload 3
iconst_3
ishl
iload 3
iconst_2
ishr
ior
i2b
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 i I
0 2 1 mask I
0 2 2 offset I
1 2 3 b I
MethodParameters:
Name Flags
i
mask
offset
private static byte convertFromXTo8Bit(int, int, int);
descriptor: (III)B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: iload 0
iload 1
iand
iload 2
iushr
istore 3
start local 3 1: iload 3
i2d
ldc 255.0
dmul
iload 1
iload 2
iushr
i2d
ddiv
d2i
i2b
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 i I
0 2 1 mask I
0 2 2 offset I
1 2 3 b I
MethodParameters:
Name Flags
i
mask
offset
private void read16Bit(byte[], int, int, com.sun.javafx.iio.bmp.BMPImageLoader$BitConverter);
descriptor: ([BIILcom/sun/javafx/iio/bmp/BMPImageLoader$BitConverter;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=14, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield com.sun.javafx.iio.bmp.BMPImageLoader.bih:Lcom/sun/javafx/iio/bmp/BitmapInfoHeader;
getfield com.sun.javafx.iio.bmp.BitmapInfoHeader.biWidth:I
iconst_2
imul
istore 5
start local 5 1: iload 5
iconst_3
iadd
bipush -4
iand
istore 6
start local 6 2: iload 6
newarray 8
astore 7
start local 7 3: iconst_0
istore 8
start local 8 4: goto 23
5: StackMap locals: com.sun.javafx.iio.bmp.BMPImageLoader byte[] int int com.sun.javafx.iio.bmp.BMPImageLoader$BitConverter int int byte[] int
StackMap stack:
aload 0
getfield com.sun.javafx.iio.bmp.BMPImageLoader.data:Lcom/sun/javafx/iio/bmp/LEInputStream;
getfield com.sun.javafx.iio.bmp.LEInputStream.in:Ljava/io/InputStream;
aload 7
invokestatic com.sun.javafx.iio.common.ImageTools.readFully:(Ljava/io/InputStream;[B)I
pop
6: aload 0
getfield com.sun.javafx.iio.bmp.BMPImageLoader.bih:Lcom/sun/javafx/iio/bmp/BitmapInfoHeader;
getfield com.sun.javafx.iio.bmp.BitmapInfoHeader.biHeight:I
ifge 7
iload 8
goto 8
StackMap locals:
StackMap stack:
7: iload 3
iload 8
isub
iconst_1
isub
StackMap locals:
StackMap stack: int
8: istore 9
start local 9 9: iload 9
iload 2
imul
istore 10
start local 10 10: iconst_0
istore 11
start local 11 11: goto 21
12: StackMap locals: int int int
StackMap stack:
aload 7
iload 11
iconst_2
imul
invokestatic com.sun.javafx.iio.bmp.BMPImageLoader.getWord:([BI)I
istore 12
start local 12 13: iconst_0
istore 13
start local 13 14: goto 19
15: StackMap locals: int int
StackMap stack:
aload 1
iload 10
iinc 10 1
16: aload 4
iload 12
aload 0
getfield com.sun.javafx.iio.bmp.BMPImageLoader.bitMasks:[I
iload 13
iaload
aload 0
getfield com.sun.javafx.iio.bmp.BMPImageLoader.bitOffsets:[I
iload 13
iaload
invokeinterface com.sun.javafx.iio.bmp.BMPImageLoader$BitConverter.convert:(III)B
17: bastore
18: iinc 13 1
StackMap locals:
StackMap stack:
19: iload 13
iconst_3
if_icmplt 15
end local 13 end local 12 20: iinc 11 1
StackMap locals:
StackMap stack:
21: iload 11
aload 0
getfield com.sun.javafx.iio.bmp.BMPImageLoader.bih:Lcom/sun/javafx/iio/bmp/BitmapInfoHeader;
getfield com.sun.javafx.iio.bmp.BitmapInfoHeader.biWidth:I
if_icmpne 12
end local 11 end local 10 end local 9 22: iinc 8 1
StackMap locals:
StackMap stack:
23: iload 8
iload 3
if_icmpne 5
end local 8 24: return
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 25 0 this Lcom/sun/javafx/iio/bmp/BMPImageLoader;
0 25 1 image [B
0 25 2 rowLength I
0 25 3 hght I
0 25 4 converter Lcom/sun/javafx/iio/bmp/BMPImageLoader$BitConverter;
1 25 5 bytesPerLine I
2 25 6 srcStride I
3 25 7 lineBuf [B
4 24 8 i I
9 22 9 line I
10 22 10 dstOffset I
11 22 11 x I
13 20 12 element I
14 20 13 j I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
image
rowLength
hght
converter
private void read32BitRGB(byte[], int, int);
descriptor: ([BII)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=11, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield com.sun.javafx.iio.bmp.BMPImageLoader.bih:Lcom/sun/javafx/iio/bmp/BitmapInfoHeader;
getfield com.sun.javafx.iio.bmp.BitmapInfoHeader.biWidth:I
iconst_4
imul
istore 4
start local 4 1: iload 4
newarray 8
astore 5
start local 5 2: iconst_0
istore 6
start local 6 3: goto 18
4: StackMap locals: int byte[] int
StackMap stack:
aload 0
getfield com.sun.javafx.iio.bmp.BMPImageLoader.data:Lcom/sun/javafx/iio/bmp/LEInputStream;
getfield com.sun.javafx.iio.bmp.LEInputStream.in:Ljava/io/InputStream;
aload 5
invokestatic com.sun.javafx.iio.common.ImageTools.readFully:(Ljava/io/InputStream;[B)I
pop
5: aload 0
getfield com.sun.javafx.iio.bmp.BMPImageLoader.bih:Lcom/sun/javafx/iio/bmp/BitmapInfoHeader;
getfield com.sun.javafx.iio.bmp.BitmapInfoHeader.biHeight:I
ifge 6
iload 6
goto 7
StackMap locals:
StackMap stack:
6: iload 3
iload 6
isub
iconst_1
isub
StackMap locals:
StackMap stack: int
7: istore 7
start local 7 8: iload 7
iload 2
imul
istore 8
start local 8 9: iconst_0
istore 9
start local 9 10: goto 16
11: StackMap locals: int int int
StackMap stack:
iload 9
iconst_4
imul
istore 10
start local 10 12: aload 1
iload 8
iinc 8 1
aload 5
iload 10
iconst_2
iadd
baload
bastore
13: aload 1
iload 8
iinc 8 1
aload 5
iload 10
iconst_1
iadd
baload
bastore
14: aload 1
iload 8
iinc 8 1
aload 5
iload 10
baload
bastore
end local 10 15: iinc 9 1
StackMap locals:
StackMap stack:
16: iload 9
aload 0
getfield com.sun.javafx.iio.bmp.BMPImageLoader.bih:Lcom/sun/javafx/iio/bmp/BitmapInfoHeader;
getfield com.sun.javafx.iio.bmp.BitmapInfoHeader.biWidth:I
if_icmpne 11
end local 9 end local 8 end local 7 17: iinc 6 1
StackMap locals:
StackMap stack:
18: iload 6
iload 3
if_icmpne 4
end local 6 19: 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 20 0 this Lcom/sun/javafx/iio/bmp/BMPImageLoader;
0 20 1 image [B
0 20 2 rowLength I
0 20 3 hght I
1 20 4 bytesPerLine I
2 20 5 lineBuf [B
3 19 6 i I
8 17 7 line I
9 17 8 dstOff I
10 17 9 x I
12 15 10 srcOff I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
image
rowLength
hght
private void read32BitBF(byte[], int, int);
descriptor: ([BII)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=13, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield com.sun.javafx.iio.bmp.BMPImageLoader.bih:Lcom/sun/javafx/iio/bmp/BitmapInfoHeader;
getfield com.sun.javafx.iio.bmp.BitmapInfoHeader.biWidth:I
iconst_4
imul
istore 4
start local 4 1: iload 4
newarray 8
astore 5
start local 5 2: iconst_0
istore 6
start local 6 3: goto 23
4: StackMap locals: int byte[] int
StackMap stack:
aload 0
getfield com.sun.javafx.iio.bmp.BMPImageLoader.data:Lcom/sun/javafx/iio/bmp/LEInputStream;
getfield com.sun.javafx.iio.bmp.LEInputStream.in:Ljava/io/InputStream;
aload 5
invokestatic com.sun.javafx.iio.common.ImageTools.readFully:(Ljava/io/InputStream;[B)I
pop
5: aload 0
getfield com.sun.javafx.iio.bmp.BMPImageLoader.bih:Lcom/sun/javafx/iio/bmp/BitmapInfoHeader;
getfield com.sun.javafx.iio.bmp.BitmapInfoHeader.biHeight:I
ifge 6
iload 6
goto 7
StackMap locals:
StackMap stack:
6: iload 3
iload 6
isub
iconst_1
isub
StackMap locals:
StackMap stack: int
7: istore 7
start local 7 8: iload 7
iload 2
imul
istore 8
start local 8 9: iconst_0
istore 9
start local 9 10: goto 21
11: StackMap locals: int int int
StackMap stack:
iload 9
iconst_4
imul
istore 10
start local 10 12: aload 5
iload 10
invokestatic com.sun.javafx.iio.bmp.BMPImageLoader.getDWord:([BI)I
istore 11
start local 11 13: iconst_0
istore 12
start local 12 14: goto 19
15: StackMap locals: int int int
StackMap stack:
aload 1
iload 8
iinc 8 1
16: iload 11
aload 0
getfield com.sun.javafx.iio.bmp.BMPImageLoader.bitMasks:[I
iload 12
iaload
aload 0
getfield com.sun.javafx.iio.bmp.BMPImageLoader.bitOffsets:[I
iload 12
iaload
invokestatic com.sun.javafx.iio.bmp.BMPImageLoader.convertFromXTo8Bit:(III)B
17: bastore
18: iinc 12 1
StackMap locals:
StackMap stack:
19: iload 12
iconst_3
if_icmplt 15
end local 12 end local 11 end local 10 20: iinc 9 1
StackMap locals:
StackMap stack:
21: iload 9
aload 0
getfield com.sun.javafx.iio.bmp.BMPImageLoader.bih:Lcom/sun/javafx/iio/bmp/BitmapInfoHeader;
getfield com.sun.javafx.iio.bmp.BitmapInfoHeader.biWidth:I
if_icmpne 11
end local 9 end local 8 end local 7 22: iinc 6 1
StackMap locals:
StackMap stack:
23: iload 6
iload 3
if_icmpne 4
end local 6 24: 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 25 0 this Lcom/sun/javafx/iio/bmp/BMPImageLoader;
0 25 1 image [B
0 25 2 rowLength I
0 25 3 hght I
1 25 4 bytesPerLine I
2 25 5 lineBuf [B
3 24 6 i I
8 22 7 line I
9 22 8 dstOff I
10 22 9 x I
12 20 10 srcOff I
13 20 11 element I
14 20 12 j I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
image
rowLength
hght
private void read24Bit(byte[], int, int);
descriptor: ([BII)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 2
iconst_3
iadd
bipush -4
iand
istore 4
start local 4 1: iload 4
iload 2
isub
istore 5
start local 5 2: iconst_0
istore 6
start local 6 3: goto 12
4: StackMap locals: int int int
StackMap stack:
aload 0
getfield com.sun.javafx.iio.bmp.BMPImageLoader.bih:Lcom/sun/javafx/iio/bmp/BitmapInfoHeader;
getfield com.sun.javafx.iio.bmp.BitmapInfoHeader.biHeight:I
ifge 5
iload 6
goto 6
StackMap locals:
StackMap stack:
5: iload 3
iload 6
isub
iconst_1
isub
StackMap locals:
StackMap stack: int
6: istore 7
start local 7 7: iload 7
iload 2
imul
istore 8
start local 8 8: aload 0
getfield com.sun.javafx.iio.bmp.BMPImageLoader.data:Lcom/sun/javafx/iio/bmp/LEInputStream;
getfield com.sun.javafx.iio.bmp.LEInputStream.in:Ljava/io/InputStream;
aload 1
iload 8
iload 2
invokestatic com.sun.javafx.iio.common.ImageTools.readFully:(Ljava/io/InputStream;[BII)I
pop
9: aload 0
getfield com.sun.javafx.iio.bmp.BMPImageLoader.data:Lcom/sun/javafx/iio/bmp/LEInputStream;
iload 5
invokevirtual com.sun.javafx.iio.bmp.LEInputStream.skipBytes:(I)V
10: aload 1
iload 8
iload 2
invokestatic com.sun.javafx.iio.bmp.BMPImageLoader.BGRtoRGB:([BII)V
end local 8 end local 7 11: iinc 6 1
StackMap locals:
StackMap stack:
12: iload 6
iload 3
if_icmpne 4
end local 6 13: 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 14 0 this Lcom/sun/javafx/iio/bmp/BMPImageLoader;
0 14 1 image [B
0 14 2 rowLength I
0 14 3 hght I
1 14 4 bmpStride I
2 14 5 padding I
3 13 6 i I
7 11 7 line I
8 11 8 lineOffset I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
image
rowLength
hght
static void BGRtoRGB(byte[], int, int);
descriptor: ([BII)V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=6, args_size=3
start local 0 start local 1 start local 2 0: iload 2
iconst_3
idiv
istore 3
start local 3 1: goto 7
2: StackMap locals: int
StackMap stack:
aload 0
iload 1
baload
istore 4
start local 4 3: aload 0
iload 1
iconst_2
iadd
baload
istore 5
start local 5 4: aload 0
iload 1
iconst_2
iadd
iload 4
bastore
aload 0
iload 1
iload 5
bastore
5: iinc 1 3
end local 5 end local 4 6: iinc 3 -1
StackMap locals:
StackMap stack:
7: iload 3
ifne 2
end local 3 8: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 data [B
0 9 1 pos I
0 9 2 size I
1 8 3 sz I
3 6 4 b B
4 6 5 r B
MethodParameters:
Name Flags
data
pos
size
public com.sun.javafx.iio.ImageFrame load(int, int, int, boolean, boolean);
descriptor: (IIIZZ)Lcom/sun/javafx/iio/ImageFrame;
flags: (0x0001) ACC_PUBLIC
Code:
stack=14, locals=13, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: iload 1
ifeq 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.javafx.iio.bmp.BMPImageLoader.bih:Lcom/sun/javafx/iio/bmp/BitmapInfoHeader;
getfield com.sun.javafx.iio.bmp.BitmapInfoHeader.biHeight:I
invokestatic java.lang.Math.abs:(I)I
istore 6
start local 6 3: aload 0
getfield com.sun.javafx.iio.bmp.BMPImageLoader.bih:Lcom/sun/javafx/iio/bmp/BitmapInfoHeader;
getfield com.sun.javafx.iio.bmp.BitmapInfoHeader.biWidth:I
iload 6
iload 2
iload 3
iload 4
invokestatic com.sun.javafx.iio.common.ImageTools.computeDimensions:(IIIIZ)[I
astore 7
start local 7 4: aload 7
iconst_0
iaload
istore 2
5: aload 7
iconst_1
iaload
istore 3
6: new com.sun.javafx.iio.ImageMetadata
dup
aconst_null
getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
7: aconst_null
aconst_null
aconst_null
aconst_null
aconst_null
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
iload 3
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
8: aconst_null
aconst_null
aconst_null
9: invokespecial com.sun.javafx.iio.ImageMetadata.<init>:(Ljava/lang/Float;Ljava/lang/Boolean;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;)V
astore 8
start local 8 10: aload 0
aload 8
invokevirtual com.sun.javafx.iio.bmp.BMPImageLoader.updateImageMetadata:(Lcom/sun/javafx/iio/ImageMetadata;)V
11: iconst_3
istore 9
start local 9 12: aload 0
getfield com.sun.javafx.iio.bmp.BMPImageLoader.bih:Lcom/sun/javafx/iio/bmp/BitmapInfoHeader;
getfield com.sun.javafx.iio.bmp.BitmapInfoHeader.biWidth:I
iload 9
imul
istore 10
start local 10 13: iload 10
iload 6
imul
newarray 8
astore 11
start local 11 14: aload 0
getfield com.sun.javafx.iio.bmp.BMPImageLoader.bih:Lcom/sun/javafx/iio/bmp/BitmapInfoHeader;
getfield com.sun.javafx.iio.bmp.BitmapInfoHeader.biBitCount:S
lookupswitch { // 6
1: 15
4: 17
8: 22
16: 27
24: 37
32: 32
default: 39
}
15: StackMap locals: com.sun.javafx.iio.bmp.BMPImageLoader int int int int int int int[] com.sun.javafx.iio.ImageMetadata int int byte[]
StackMap stack:
aload 0
aload 11
iload 10
iload 6
invokevirtual com.sun.javafx.iio.bmp.BMPImageLoader.readPackedBits:([BII)V
16: goto 40
17: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.javafx.iio.bmp.BMPImageLoader.bih:Lcom/sun/javafx/iio/bmp/BitmapInfoHeader;
getfield com.sun.javafx.iio.bmp.BitmapInfoHeader.biCompression:I
iconst_2
if_icmpne 20
18: aload 0
aload 11
iload 10
iload 6
iconst_1
invokevirtual com.sun.javafx.iio.bmp.BMPImageLoader.readRLE:([BIIZ)V
19: goto 40
20: StackMap locals:
StackMap stack:
aload 0
aload 11
iload 10
iload 6
invokevirtual com.sun.javafx.iio.bmp.BMPImageLoader.readPackedBits:([BII)V
21: goto 40
22: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.javafx.iio.bmp.BMPImageLoader.bih:Lcom/sun/javafx/iio/bmp/BitmapInfoHeader;
getfield com.sun.javafx.iio.bmp.BitmapInfoHeader.biCompression:I
iconst_1
if_icmpne 25
23: aload 0
aload 11
iload 10
iload 6
iconst_0
invokevirtual com.sun.javafx.iio.bmp.BMPImageLoader.readRLE:([BIIZ)V
24: goto 40
25: StackMap locals:
StackMap stack:
aload 0
aload 11
iload 10
iload 6
invokevirtual com.sun.javafx.iio.bmp.BMPImageLoader.readPackedBits:([BII)V
26: goto 40
27: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.javafx.iio.bmp.BMPImageLoader.bih:Lcom/sun/javafx/iio/bmp/BitmapInfoHeader;
getfield com.sun.javafx.iio.bmp.BitmapInfoHeader.biCompression:I
iconst_3
if_icmpne 30
28: aload 0
aload 11
iload 10
iload 6
invokedynamic convert()Lcom/sun/javafx/iio/bmp/BMPImageLoader$BitConverter;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(III)B
com/sun/javafx/iio/bmp/BMPImageLoader.convertFromXTo8Bit(III)B (6)
(III)B
invokevirtual com.sun.javafx.iio.bmp.BMPImageLoader.read16Bit:([BIILcom/sun/javafx/iio/bmp/BMPImageLoader$BitConverter;)V
29: goto 40
30: StackMap locals:
StackMap stack:
aload 0
aload 11
iload 10
iload 6
invokedynamic convert()Lcom/sun/javafx/iio/bmp/BMPImageLoader$BitConverter;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(III)B
com/sun/javafx/iio/bmp/BMPImageLoader.convertFrom5To8Bit(III)B (6)
(III)B
invokevirtual com.sun.javafx.iio.bmp.BMPImageLoader.read16Bit:([BIILcom/sun/javafx/iio/bmp/BMPImageLoader$BitConverter;)V
31: goto 40
32: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.javafx.iio.bmp.BMPImageLoader.bih:Lcom/sun/javafx/iio/bmp/BitmapInfoHeader;
getfield com.sun.javafx.iio.bmp.BitmapInfoHeader.biCompression:I
iconst_3
if_icmpne 35
33: aload 0
aload 11
iload 10
iload 6
invokevirtual com.sun.javafx.iio.bmp.BMPImageLoader.read32BitBF:([BII)V
34: goto 40
35: StackMap locals:
StackMap stack:
aload 0
aload 11
iload 10
iload 6
invokevirtual com.sun.javafx.iio.bmp.BMPImageLoader.read32BitRGB:([BII)V
36: goto 40
37: StackMap locals:
StackMap stack:
aload 0
aload 11
iload 10
iload 6
invokevirtual com.sun.javafx.iio.bmp.BMPImageLoader.read24Bit:([BII)V
38: goto 40
39: StackMap locals:
StackMap stack:
new java.io.IOException
dup
ldc "Unknown BMP bit depth"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
40: StackMap locals:
StackMap stack:
aload 11
invokestatic java.nio.ByteBuffer.wrap:([B)Ljava/nio/ByteBuffer;
astore 12
start local 12 41: aload 0
getfield com.sun.javafx.iio.bmp.BMPImageLoader.bih:Lcom/sun/javafx/iio/bmp/BitmapInfoHeader;
getfield com.sun.javafx.iio.bmp.BitmapInfoHeader.biWidth:I
iload 2
if_icmpne 42
iload 6
iload 3
if_icmpeq 45
42: StackMap locals: java.nio.ByteBuffer
StackMap stack:
aload 12
aload 0
getfield com.sun.javafx.iio.bmp.BMPImageLoader.bih:Lcom/sun/javafx/iio/bmp/BitmapInfoHeader;
getfield com.sun.javafx.iio.bmp.BitmapInfoHeader.biWidth:I
iload 6
iload 9
43: iload 2
iload 3
iload 5
44: invokestatic com.sun.javafx.iio.common.ImageTools.scaleImage:(Ljava/nio/ByteBuffer;IIIIIZ)Ljava/nio/ByteBuffer;
astore 12
45: StackMap locals:
StackMap stack:
new com.sun.javafx.iio.ImageFrame
dup
getstatic com.sun.javafx.iio.ImageStorage$ImageType.RGB:Lcom/sun/javafx/iio/ImageStorage$ImageType;
aload 12
46: iload 2
iload 3
iload 2
iload 9
imul
aconst_null
aload 8
47: invokespecial com.sun.javafx.iio.ImageFrame.<init>:(Lcom/sun/javafx/iio/ImageStorage$ImageType;Ljava/nio/ByteBuffer;III[[BLcom/sun/javafx/iio/ImageMetadata;)V
areturn
end local 12 end local 11 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 48 0 this Lcom/sun/javafx/iio/bmp/BMPImageLoader;
0 48 1 imageIndex I
0 48 2 width I
0 48 3 height I
0 48 4 preserveAspectRatio Z
0 48 5 smooth Z
3 48 6 hght I
4 48 7 outWH [I
10 48 8 imageMetadata Lcom/sun/javafx/iio/ImageMetadata;
12 48 9 bpp I
13 48 10 stride I
14 48 11 image [B
41 48 12 img Ljava/nio/ByteBuffer;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
imageIndex
width
height
preserveAspectRatio
smooth
}
SourceFile: "BMPImageLoaderFactory.java"
NestMembers:
com.sun.javafx.iio.bmp.BMPImageLoader$BitConverter
InnerClasses:
public final ImageType = com.sun.javafx.iio.ImageStorage$ImageType of com.sun.javafx.iio.ImageStorage
private abstract BitConverter = com.sun.javafx.iio.bmp.BMPImageLoader$BitConverter of com.sun.javafx.iio.bmp.BMPImageLoader
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles