public class com.sun.imageio.plugins.common.PaletteBuilder
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.sun.imageio.plugins.common.PaletteBuilder
super_class: java.lang.Object
{
protected static final int MAXLEVEL;
descriptor: I
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: 8
protected java.awt.image.RenderedImage src;
descriptor: Ljava/awt/image/RenderedImage;
flags: (0x0004) ACC_PROTECTED
protected java.awt.image.ColorModel srcColorModel;
descriptor: Ljava/awt/image/ColorModel;
flags: (0x0004) ACC_PROTECTED
protected java.awt.image.Raster srcRaster;
descriptor: Ljava/awt/image/Raster;
flags: (0x0004) ACC_PROTECTED
protected int requiredSize;
descriptor: I
flags: (0x0004) ACC_PROTECTED
protected com.sun.imageio.plugins.common.PaletteBuilder$ColorNode root;
descriptor: Lcom/sun/imageio/plugins/common/PaletteBuilder$ColorNode;
flags: (0x0004) ACC_PROTECTED
protected int numNodes;
descriptor: I
flags: (0x0004) ACC_PROTECTED
protected int maxNodes;
descriptor: I
flags: (0x0004) ACC_PROTECTED
protected int currLevel;
descriptor: I
flags: (0x0004) ACC_PROTECTED
protected int currSize;
descriptor: I
flags: (0x0004) ACC_PROTECTED
protected com.sun.imageio.plugins.common.PaletteBuilder$ColorNode[] reduceList;
descriptor: [Lcom/sun/imageio/plugins/common/PaletteBuilder$ColorNode;
flags: (0x0004) ACC_PROTECTED
protected com.sun.imageio.plugins.common.PaletteBuilder$ColorNode[] palette;
descriptor: [Lcom/sun/imageio/plugins/common/PaletteBuilder$ColorNode;
flags: (0x0004) ACC_PROTECTED
protected int transparency;
descriptor: I
flags: (0x0004) ACC_PROTECTED
protected com.sun.imageio.plugins.common.PaletteBuilder$ColorNode transColor;
descriptor: Lcom/sun/imageio/plugins/common/PaletteBuilder$ColorNode;
flags: (0x0004) ACC_PROTECTED
public static java.awt.image.RenderedImage createIndexedImage(java.awt.image.RenderedImage);
descriptor: (Ljava/awt/image/RenderedImage;)Ljava/awt/image/RenderedImage;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: new com.sun.imageio.plugins.common.PaletteBuilder
dup
aload 0
invokespecial com.sun.imageio.plugins.common.PaletteBuilder.<init>:(Ljava/awt/image/RenderedImage;)V
astore 1
start local 1 1: aload 1
invokevirtual com.sun.imageio.plugins.common.PaletteBuilder.buildPalette:()V
2: aload 1
invokevirtual com.sun.imageio.plugins.common.PaletteBuilder.getIndexedImage:()Ljava/awt/image/RenderedImage;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 src Ljava/awt/image/RenderedImage;
1 3 1 pb Lcom/sun/imageio/plugins/common/PaletteBuilder;
MethodParameters:
Name Flags
src
public static java.awt.image.IndexColorModel createIndexColorModel(java.awt.image.RenderedImage);
descriptor: (Ljava/awt/image/RenderedImage;)Ljava/awt/image/IndexColorModel;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: new com.sun.imageio.plugins.common.PaletteBuilder
dup
aload 0
invokespecial com.sun.imageio.plugins.common.PaletteBuilder.<init>:(Ljava/awt/image/RenderedImage;)V
astore 1
start local 1 1: aload 1
invokevirtual com.sun.imageio.plugins.common.PaletteBuilder.buildPalette:()V
2: aload 1
invokevirtual com.sun.imageio.plugins.common.PaletteBuilder.getIndexColorModel:()Ljava/awt/image/IndexColorModel;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 img Ljava/awt/image/RenderedImage;
1 3 1 pb Lcom/sun/imageio/plugins/common/PaletteBuilder;
MethodParameters:
Name Flags
img
public static boolean canCreatePalette(javax.imageio.ImageTypeSpecifier);
descriptor: (Ljavax/imageio/ImageTypeSpecifier;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
ifnonnull 2
1: new java.lang.IllegalArgumentException
dup
ldc "type == null"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 type Ljavax/imageio/ImageTypeSpecifier;
MethodParameters:
Name Flags
type
public static boolean canCreatePalette(java.awt.image.RenderedImage);
descriptor: (Ljava/awt/image/RenderedImage;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
ifnonnull 2
1: new java.lang.IllegalArgumentException
dup
ldc "image == null"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
new javax.imageio.ImageTypeSpecifier
dup
aload 0
invokespecial javax.imageio.ImageTypeSpecifier.<init>:(Ljava/awt/image/RenderedImage;)V
astore 1
start local 1 3: aload 1
invokestatic com.sun.imageio.plugins.common.PaletteBuilder.canCreatePalette:(Ljavax/imageio/ImageTypeSpecifier;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 image Ljava/awt/image/RenderedImage;
3 4 1 type Ljavax/imageio/ImageTypeSpecifier;
MethodParameters:
Name Flags
image
protected java.awt.image.RenderedImage getIndexedImage();
descriptor: ()Ljava/awt/image/RenderedImage;
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=7, args_size=1
start local 0 0: aload 0
invokevirtual com.sun.imageio.plugins.common.PaletteBuilder.getIndexColorModel:()Ljava/awt/image/IndexColorModel;
astore 1
start local 1 1: new java.awt.image.BufferedImage
dup
aload 0
getfield com.sun.imageio.plugins.common.PaletteBuilder.src:Ljava/awt/image/RenderedImage;
invokeinterface java.awt.image.RenderedImage.getWidth:()I
aload 0
getfield com.sun.imageio.plugins.common.PaletteBuilder.src:Ljava/awt/image/RenderedImage;
invokeinterface java.awt.image.RenderedImage.getHeight:()I
2: bipush 13
aload 1
3: invokespecial java.awt.image.BufferedImage.<init>:(IIILjava/awt/image/IndexColorModel;)V
4: astore 2
start local 2 5: aload 2
invokevirtual java.awt.image.BufferedImage.getRaster:()Ljava/awt/image/WritableRaster;
astore 3
start local 3 6: iconst_0
istore 4
start local 4 7: goto 15
8: StackMap locals: com.sun.imageio.plugins.common.PaletteBuilder java.awt.image.IndexColorModel java.awt.image.BufferedImage java.awt.image.WritableRaster int
StackMap stack:
iconst_0
istore 5
start local 5 9: goto 13
10: StackMap locals: int
StackMap stack:
aload 0
iload 5
iload 4
invokevirtual com.sun.imageio.plugins.common.PaletteBuilder.getSrcColor:(II)Ljava/awt/Color;
astore 6
start local 6 11: aload 3
iload 5
iload 4
iconst_0
aload 0
aload 0
getfield com.sun.imageio.plugins.common.PaletteBuilder.root:Lcom/sun/imageio/plugins/common/PaletteBuilder$ColorNode;
aload 6
invokevirtual com.sun.imageio.plugins.common.PaletteBuilder.findColorIndex:(Lcom/sun/imageio/plugins/common/PaletteBuilder$ColorNode;Ljava/awt/Color;)I
invokevirtual java.awt.image.WritableRaster.setSample:(IIII)V
end local 6 12: iinc 5 1
StackMap locals:
StackMap stack:
13: iload 5
aload 2
invokevirtual java.awt.image.BufferedImage.getWidth:()I
if_icmplt 10
end local 5 14: iinc 4 1
StackMap locals:
StackMap stack:
15: iload 4
aload 2
invokevirtual java.awt.image.BufferedImage.getHeight:()I
if_icmplt 8
end local 4 16: aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lcom/sun/imageio/plugins/common/PaletteBuilder;
1 17 1 icm Ljava/awt/image/IndexColorModel;
5 17 2 dst Ljava/awt/image/BufferedImage;
6 17 3 wr Ljava/awt/image/WritableRaster;
7 16 4 y I
9 14 5 x I
11 12 6 aColor Ljava/awt/Color;
protected void <init>(java.awt.image.RenderedImage);
descriptor: (Ljava/awt/image/RenderedImage;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
sipush 256
invokespecial com.sun.imageio.plugins.common.PaletteBuilder.<init>:(Ljava/awt/image/RenderedImage;I)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/imageio/plugins/common/PaletteBuilder;
0 2 1 src Ljava/awt/image/RenderedImage;
MethodParameters:
Name Flags
src
protected void <init>(java.awt.image.RenderedImage, int);
descriptor: (Ljava/awt/image/RenderedImage;I)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield com.sun.imageio.plugins.common.PaletteBuilder.src:Ljava/awt/image/RenderedImage;
2: aload 0
aload 1
invokeinterface java.awt.image.RenderedImage.getColorModel:()Ljava/awt/image/ColorModel;
putfield com.sun.imageio.plugins.common.PaletteBuilder.srcColorModel:Ljava/awt/image/ColorModel;
3: aload 0
aload 1
invokeinterface java.awt.image.RenderedImage.getData:()Ljava/awt/image/Raster;
putfield com.sun.imageio.plugins.common.PaletteBuilder.srcRaster:Ljava/awt/image/Raster;
4: aload 0
5: aload 0
getfield com.sun.imageio.plugins.common.PaletteBuilder.srcColorModel:Ljava/awt/image/ColorModel;
invokevirtual java.awt.image.ColorModel.getTransparency:()I
6: putfield com.sun.imageio.plugins.common.PaletteBuilder.transparency:I
7: aload 0
iload 2
putfield com.sun.imageio.plugins.common.PaletteBuilder.requiredSize:I
8: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/sun/imageio/plugins/common/PaletteBuilder;
0 9 1 src Ljava/awt/image/RenderedImage;
0 9 2 size I
MethodParameters:
Name Flags
src
size
private java.awt.Color getSrcColor(int, int);
descriptor: (II)Ljava/awt/Color;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.sun.imageio.plugins.common.PaletteBuilder.srcColorModel:Ljava/awt/image/ColorModel;
aload 0
getfield com.sun.imageio.plugins.common.PaletteBuilder.srcRaster:Ljava/awt/image/Raster;
iload 1
iload 2
aconst_null
invokevirtual java.awt.image.Raster.getDataElements:(IILjava/lang/Object;)Ljava/lang/Object;
invokevirtual java.awt.image.ColorModel.getRGB:(Ljava/lang/Object;)I
istore 3
start local 3 1: new java.awt.Color
dup
iload 3
aload 0
getfield com.sun.imageio.plugins.common.PaletteBuilder.transparency:I
iconst_1
if_icmpeq 2
iconst_1
goto 3
StackMap locals: com.sun.imageio.plugins.common.PaletteBuilder int int int
StackMap stack: new 1 new 1 int
2: iconst_0
StackMap locals: com.sun.imageio.plugins.common.PaletteBuilder int int int
StackMap stack: new 1 new 1 int int
3: invokespecial java.awt.Color.<init>:(IZ)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/imageio/plugins/common/PaletteBuilder;
0 4 1 x I
0 4 2 y I
1 4 3 argb I
MethodParameters:
Name Flags
x
y
protected int findColorIndex(com.sun.imageio.plugins.common.PaletteBuilder$ColorNode, java.awt.Color);
descriptor: (Lcom/sun/imageio/plugins/common/PaletteBuilder$ColorNode;Ljava/awt/Color;)I
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.sun.imageio.plugins.common.PaletteBuilder.transparency:I
iconst_1
if_icmpeq 3
1: aload 2
invokevirtual java.awt.Color.getAlpha:()I
sipush 255
if_icmpeq 3
2: iconst_0
ireturn
3: StackMap locals:
StackMap stack:
aload 1
getfield com.sun.imageio.plugins.common.PaletteBuilder$ColorNode.isLeaf:Z
ifeq 5
4: aload 1
getfield com.sun.imageio.plugins.common.PaletteBuilder$ColorNode.paletteIndex:I
ireturn
5: StackMap locals:
StackMap stack:
aload 0
aload 2
aload 1
getfield com.sun.imageio.plugins.common.PaletteBuilder$ColorNode.level:I
invokevirtual com.sun.imageio.plugins.common.PaletteBuilder.getBranchIndex:(Ljava/awt/Color;I)I
istore 3
start local 3 6: aload 0
aload 1
getfield com.sun.imageio.plugins.common.PaletteBuilder$ColorNode.children:[Lcom/sun/imageio/plugins/common/PaletteBuilder$ColorNode;
iload 3
aaload
aload 2
invokevirtual com.sun.imageio.plugins.common.PaletteBuilder.findColorIndex:(Lcom/sun/imageio/plugins/common/PaletteBuilder$ColorNode;Ljava/awt/Color;)I
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/sun/imageio/plugins/common/PaletteBuilder;
0 7 1 aNode Lcom/sun/imageio/plugins/common/PaletteBuilder$ColorNode;
0 7 2 aColor Ljava/awt/Color;
6 7 3 childIndex I
MethodParameters:
Name Flags
aNode
aColor
protected void buildPalette();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=6, args_size=1
start local 0 0: aload 0
bipush 9
anewarray com.sun.imageio.plugins.common.PaletteBuilder$ColorNode
putfield com.sun.imageio.plugins.common.PaletteBuilder.reduceList:[Lcom/sun/imageio/plugins/common/PaletteBuilder$ColorNode;
1: iconst_0
istore 1
start local 1 2: goto 5
3: StackMap locals: int
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.common.PaletteBuilder.reduceList:[Lcom/sun/imageio/plugins/common/PaletteBuilder$ColorNode;
iload 1
aconst_null
aastore
4: iinc 1 1
StackMap locals:
StackMap stack:
5: iload 1
aload 0
getfield com.sun.imageio.plugins.common.PaletteBuilder.reduceList:[Lcom/sun/imageio/plugins/common/PaletteBuilder$ColorNode;
arraylength
if_icmplt 3
end local 1 6: aload 0
iconst_0
putfield com.sun.imageio.plugins.common.PaletteBuilder.numNodes:I
7: aload 0
iconst_0
putfield com.sun.imageio.plugins.common.PaletteBuilder.maxNodes:I
8: aload 0
aconst_null
putfield com.sun.imageio.plugins.common.PaletteBuilder.root:Lcom/sun/imageio/plugins/common/PaletteBuilder$ColorNode;
9: aload 0
iconst_0
putfield com.sun.imageio.plugins.common.PaletteBuilder.currSize:I
10: aload 0
bipush 8
putfield com.sun.imageio.plugins.common.PaletteBuilder.currLevel:I
11: aload 0
getfield com.sun.imageio.plugins.common.PaletteBuilder.src:Ljava/awt/image/RenderedImage;
invokeinterface java.awt.image.RenderedImage.getWidth:()I
istore 1
start local 1 12: aload 0
getfield com.sun.imageio.plugins.common.PaletteBuilder.src:Ljava/awt/image/RenderedImage;
invokeinterface java.awt.image.RenderedImage.getHeight:()I
istore 2
start local 2 13: iconst_0
istore 3
start local 3 14: goto 32
15: StackMap locals: int int
StackMap stack:
iconst_0
istore 4
start local 4 16: goto 30
17: StackMap locals: int
StackMap stack:
aload 0
iload 1
iload 4
isub
iconst_1
isub
iload 2
iload 3
isub
iconst_1
isub
invokevirtual com.sun.imageio.plugins.common.PaletteBuilder.getSrcColor:(II)Ljava/awt/Color;
astore 5
start local 5 18: aload 0
getfield com.sun.imageio.plugins.common.PaletteBuilder.transparency:I
iconst_1
if_icmpeq 26
19: aload 5
invokevirtual java.awt.Color.getAlpha:()I
sipush 255
if_icmpeq 26
20: aload 0
getfield com.sun.imageio.plugins.common.PaletteBuilder.transColor:Lcom/sun/imageio/plugins/common/PaletteBuilder$ColorNode;
ifnonnull 24
21: aload 0
dup
getfield com.sun.imageio.plugins.common.PaletteBuilder.requiredSize:I
iconst_1
isub
putfield com.sun.imageio.plugins.common.PaletteBuilder.requiredSize:I
22: aload 0
new com.sun.imageio.plugins.common.PaletteBuilder$ColorNode
dup
aload 0
invokespecial com.sun.imageio.plugins.common.PaletteBuilder$ColorNode.<init>:(Lcom/sun/imageio/plugins/common/PaletteBuilder;)V
putfield com.sun.imageio.plugins.common.PaletteBuilder.transColor:Lcom/sun/imageio/plugins/common/PaletteBuilder$ColorNode;
23: aload 0
getfield com.sun.imageio.plugins.common.PaletteBuilder.transColor:Lcom/sun/imageio/plugins/common/PaletteBuilder$ColorNode;
iconst_1
putfield com.sun.imageio.plugins.common.PaletteBuilder$ColorNode.isLeaf:Z
24: StackMap locals: java.awt.Color
StackMap stack:
aload 0
aload 0
aload 0
getfield com.sun.imageio.plugins.common.PaletteBuilder.transColor:Lcom/sun/imageio/plugins/common/PaletteBuilder$ColorNode;
aload 5
iconst_0
invokevirtual com.sun.imageio.plugins.common.PaletteBuilder.insertNode:(Lcom/sun/imageio/plugins/common/PaletteBuilder$ColorNode;Ljava/awt/Color;I)Lcom/sun/imageio/plugins/common/PaletteBuilder$ColorNode;
putfield com.sun.imageio.plugins.common.PaletteBuilder.transColor:Lcom/sun/imageio/plugins/common/PaletteBuilder$ColorNode;
25: goto 27
26: StackMap locals:
StackMap stack:
aload 0
aload 0
aload 0
getfield com.sun.imageio.plugins.common.PaletteBuilder.root:Lcom/sun/imageio/plugins/common/PaletteBuilder$ColorNode;
aload 5
iconst_0
invokevirtual com.sun.imageio.plugins.common.PaletteBuilder.insertNode:(Lcom/sun/imageio/plugins/common/PaletteBuilder$ColorNode;Ljava/awt/Color;I)Lcom/sun/imageio/plugins/common/PaletteBuilder$ColorNode;
putfield com.sun.imageio.plugins.common.PaletteBuilder.root:Lcom/sun/imageio/plugins/common/PaletteBuilder$ColorNode;
27: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.common.PaletteBuilder.currSize:I
aload 0
getfield com.sun.imageio.plugins.common.PaletteBuilder.requiredSize:I
if_icmple 29
28: aload 0
invokevirtual com.sun.imageio.plugins.common.PaletteBuilder.reduceTree:()V
end local 5 29: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
30: iload 4
iload 1
if_icmplt 17
end local 4 31: iinc 3 1
StackMap locals:
StackMap stack:
32: iload 3
iload 2
if_icmplt 15
end local 3 33: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 34 0 this Lcom/sun/imageio/plugins/common/PaletteBuilder;
2 6 1 i I
12 34 1 w I
13 34 2 h I
14 33 3 y I
16 31 4 x I
18 29 5 aColor Ljava/awt/Color;
protected com.sun.imageio.plugins.common.PaletteBuilder$ColorNode insertNode(com.sun.imageio.plugins.common.PaletteBuilder$ColorNode, java.awt.Color, int);
descriptor: (Lcom/sun/imageio/plugins/common/PaletteBuilder$ColorNode;Ljava/awt/Color;I)Lcom/sun/imageio/plugins/common/PaletteBuilder$ColorNode;
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
ifnonnull 11
1: new com.sun.imageio.plugins.common.PaletteBuilder$ColorNode
dup
aload 0
invokespecial com.sun.imageio.plugins.common.PaletteBuilder$ColorNode.<init>:(Lcom/sun/imageio/plugins/common/PaletteBuilder;)V
astore 1
2: aload 0
dup
getfield com.sun.imageio.plugins.common.PaletteBuilder.numNodes:I
iconst_1
iadd
putfield com.sun.imageio.plugins.common.PaletteBuilder.numNodes:I
3: aload 0
getfield com.sun.imageio.plugins.common.PaletteBuilder.numNodes:I
aload 0
getfield com.sun.imageio.plugins.common.PaletteBuilder.maxNodes:I
if_icmple 5
4: aload 0
aload 0
getfield com.sun.imageio.plugins.common.PaletteBuilder.numNodes:I
putfield com.sun.imageio.plugins.common.PaletteBuilder.maxNodes:I
5: StackMap locals:
StackMap stack:
aload 1
iload 3
putfield com.sun.imageio.plugins.common.PaletteBuilder$ColorNode.level:I
6: aload 1
iload 3
bipush 8
if_icmple 7
iconst_1
goto 8
StackMap locals:
StackMap stack: com.sun.imageio.plugins.common.PaletteBuilder$ColorNode
7: iconst_0
StackMap locals: com.sun.imageio.plugins.common.PaletteBuilder com.sun.imageio.plugins.common.PaletteBuilder$ColorNode java.awt.Color int
StackMap stack: com.sun.imageio.plugins.common.PaletteBuilder$ColorNode int
8: putfield com.sun.imageio.plugins.common.PaletteBuilder$ColorNode.isLeaf:Z
9: aload 1
getfield com.sun.imageio.plugins.common.PaletteBuilder$ColorNode.isLeaf:Z
ifeq 11
10: aload 0
dup
getfield com.sun.imageio.plugins.common.PaletteBuilder.currSize:I
iconst_1
iadd
putfield com.sun.imageio.plugins.common.PaletteBuilder.currSize:I
11: StackMap locals:
StackMap stack:
aload 1
dup
getfield com.sun.imageio.plugins.common.PaletteBuilder$ColorNode.colorCount:I
iconst_1
iadd
putfield com.sun.imageio.plugins.common.PaletteBuilder$ColorNode.colorCount:I
12: aload 1
dup
getfield com.sun.imageio.plugins.common.PaletteBuilder$ColorNode.red:J
aload 2
invokevirtual java.awt.Color.getRed:()I
i2l
ladd
putfield com.sun.imageio.plugins.common.PaletteBuilder$ColorNode.red:J
13: aload 1
dup
getfield com.sun.imageio.plugins.common.PaletteBuilder$ColorNode.green:J
aload 2
invokevirtual java.awt.Color.getGreen:()I
i2l
ladd
putfield com.sun.imageio.plugins.common.PaletteBuilder$ColorNode.green:J
14: aload 1
dup
getfield com.sun.imageio.plugins.common.PaletteBuilder$ColorNode.blue:J
aload 2
invokevirtual java.awt.Color.getBlue:()I
i2l
ladd
putfield com.sun.imageio.plugins.common.PaletteBuilder$ColorNode.blue:J
15: aload 1
getfield com.sun.imageio.plugins.common.PaletteBuilder$ColorNode.isLeaf:Z
ifne 25
16: aload 0
aload 2
iload 3
invokevirtual com.sun.imageio.plugins.common.PaletteBuilder.getBranchIndex:(Ljava/awt/Color;I)I
istore 4
start local 4 17: aload 1
getfield com.sun.imageio.plugins.common.PaletteBuilder$ColorNode.children:[Lcom/sun/imageio/plugins/common/PaletteBuilder$ColorNode;
iload 4
aaload
ifnonnull 22
18: aload 1
dup
getfield com.sun.imageio.plugins.common.PaletteBuilder$ColorNode.childCount:I
iconst_1
iadd
putfield com.sun.imageio.plugins.common.PaletteBuilder$ColorNode.childCount:I
19: aload 1
getfield com.sun.imageio.plugins.common.PaletteBuilder$ColorNode.childCount:I
iconst_2
if_icmpne 22
20: aload 1
aload 0
getfield com.sun.imageio.plugins.common.PaletteBuilder.reduceList:[Lcom/sun/imageio/plugins/common/PaletteBuilder$ColorNode;
iload 3
aaload
putfield com.sun.imageio.plugins.common.PaletteBuilder$ColorNode.nextReducible:Lcom/sun/imageio/plugins/common/PaletteBuilder$ColorNode;
21: aload 0
getfield com.sun.imageio.plugins.common.PaletteBuilder.reduceList:[Lcom/sun/imageio/plugins/common/PaletteBuilder$ColorNode;
iload 3
aload 1
aastore
22: StackMap locals: int
StackMap stack:
aload 1
getfield com.sun.imageio.plugins.common.PaletteBuilder$ColorNode.children:[Lcom/sun/imageio/plugins/common/PaletteBuilder$ColorNode;
iload 4
23: aload 0
aload 1
getfield com.sun.imageio.plugins.common.PaletteBuilder$ColorNode.children:[Lcom/sun/imageio/plugins/common/PaletteBuilder$ColorNode;
iload 4
aaload
aload 2
iload 3
iconst_1
iadd
invokevirtual com.sun.imageio.plugins.common.PaletteBuilder.insertNode:(Lcom/sun/imageio/plugins/common/PaletteBuilder$ColorNode;Ljava/awt/Color;I)Lcom/sun/imageio/plugins/common/PaletteBuilder$ColorNode;
24: aastore
end local 4 25: StackMap locals:
StackMap stack:
aload 1
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lcom/sun/imageio/plugins/common/PaletteBuilder;
0 26 1 aNode Lcom/sun/imageio/plugins/common/PaletteBuilder$ColorNode;
0 26 2 aColor Ljava/awt/Color;
0 26 3 aLevel I
17 25 4 branchIndex I
MethodParameters:
Name Flags
aNode
aColor
aLevel
protected java.awt.image.IndexColorModel getIndexColorModel();
descriptor: ()Ljava/awt/image/IndexColorModel;
flags: (0x0004) ACC_PROTECTED
Code:
stack=8, locals=7, args_size=1
start local 0 0: aload 0
getfield com.sun.imageio.plugins.common.PaletteBuilder.currSize:I
istore 1
start local 1 1: aload 0
getfield com.sun.imageio.plugins.common.PaletteBuilder.transColor:Lcom/sun/imageio/plugins/common/PaletteBuilder$ColorNode;
ifnull 3
2: iinc 1 1
3: StackMap locals: int
StackMap stack:
iload 1
newarray 8
astore 2
start local 2 4: iload 1
newarray 8
astore 3
start local 3 5: iload 1
newarray 8
astore 4
start local 4 6: iconst_0
istore 5
start local 5 7: aload 0
iload 1
anewarray com.sun.imageio.plugins.common.PaletteBuilder$ColorNode
putfield com.sun.imageio.plugins.common.PaletteBuilder.palette:[Lcom/sun/imageio/plugins/common/PaletteBuilder$ColorNode;
8: aload 0
getfield com.sun.imageio.plugins.common.PaletteBuilder.transColor:Lcom/sun/imageio/plugins/common/PaletteBuilder$ColorNode;
ifnull 10
9: iinc 5 1
10: StackMap locals: com.sun.imageio.plugins.common.PaletteBuilder int byte[] byte[] byte[] int
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.common.PaletteBuilder.root:Lcom/sun/imageio/plugins/common/PaletteBuilder$ColorNode;
ifnull 12
11: aload 0
aload 0
getfield com.sun.imageio.plugins.common.PaletteBuilder.root:Lcom/sun/imageio/plugins/common/PaletteBuilder$ColorNode;
iload 5
aload 2
aload 3
aload 4
invokevirtual com.sun.imageio.plugins.common.PaletteBuilder.findPaletteEntry:(Lcom/sun/imageio/plugins/common/PaletteBuilder$ColorNode;I[B[B[B)I
pop
12: StackMap locals:
StackMap stack:
aconst_null
astore 6
start local 6 13: aload 0
getfield com.sun.imageio.plugins.common.PaletteBuilder.transColor:Lcom/sun/imageio/plugins/common/PaletteBuilder$ColorNode;
ifnull 16
14: new java.awt.image.IndexColorModel
dup
bipush 8
iload 1
aload 2
aload 3
aload 4
iconst_0
invokespecial java.awt.image.IndexColorModel.<init>:(II[B[B[BI)V
astore 6
15: goto 17
16: StackMap locals: java.awt.image.IndexColorModel
StackMap stack:
new java.awt.image.IndexColorModel
dup
bipush 8
aload 0
getfield com.sun.imageio.plugins.common.PaletteBuilder.currSize:I
aload 2
aload 3
aload 4
invokespecial java.awt.image.IndexColorModel.<init>:(II[B[B[B)V
astore 6
17: StackMap locals:
StackMap stack:
aload 6
areturn
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 18 0 this Lcom/sun/imageio/plugins/common/PaletteBuilder;
1 18 1 size I
4 18 2 red [B
5 18 3 green [B
6 18 4 blue [B
7 18 5 index I
13 18 6 icm Ljava/awt/image/IndexColorModel;
protected int findPaletteEntry(com.sun.imageio.plugins.common.PaletteBuilder$ColorNode, int, byte[], byte[], byte[]);
descriptor: (Lcom/sun/imageio/plugins/common/PaletteBuilder$ColorNode;I[B[B[B)I
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=7, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 1
getfield com.sun.imageio.plugins.common.PaletteBuilder$ColorNode.isLeaf:Z
ifeq 8
1: aload 3
iload 2
aload 1
getfield com.sun.imageio.plugins.common.PaletteBuilder$ColorNode.red:J
aload 1
getfield com.sun.imageio.plugins.common.PaletteBuilder$ColorNode.colorCount:I
i2l
ldiv
l2i
i2b
bastore
2: aload 4
iload 2
aload 1
getfield com.sun.imageio.plugins.common.PaletteBuilder$ColorNode.green:J
aload 1
getfield com.sun.imageio.plugins.common.PaletteBuilder$ColorNode.colorCount:I
i2l
ldiv
l2i
i2b
bastore
3: aload 5
iload 2
aload 1
getfield com.sun.imageio.plugins.common.PaletteBuilder$ColorNode.blue:J
aload 1
getfield com.sun.imageio.plugins.common.PaletteBuilder$ColorNode.colorCount:I
i2l
ldiv
l2i
i2b
bastore
4: aload 1
iload 2
putfield com.sun.imageio.plugins.common.PaletteBuilder$ColorNode.paletteIndex:I
5: aload 0
getfield com.sun.imageio.plugins.common.PaletteBuilder.palette:[Lcom/sun/imageio/plugins/common/PaletteBuilder$ColorNode;
iload 2
aload 1
aastore
6: iinc 2 1
7: goto 16
8: StackMap locals:
StackMap stack:
iconst_0
istore 6
start local 6 9: goto 15
10: StackMap locals: int
StackMap stack:
aload 1
getfield com.sun.imageio.plugins.common.PaletteBuilder$ColorNode.children:[Lcom/sun/imageio/plugins/common/PaletteBuilder$ColorNode;
iload 6
aaload
ifnull 14
11: aload 0
aload 1
getfield com.sun.imageio.plugins.common.PaletteBuilder$ColorNode.children:[Lcom/sun/imageio/plugins/common/PaletteBuilder$ColorNode;
iload 6
aaload
iload 2
12: aload 3
aload 4
aload 5
13: invokevirtual com.sun.imageio.plugins.common.PaletteBuilder.findPaletteEntry:(Lcom/sun/imageio/plugins/common/PaletteBuilder$ColorNode;I[B[B[B)I
istore 2
14: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
15: iload 6
bipush 8
if_icmplt 10
end local 6 16: StackMap locals:
StackMap stack:
iload 2
ireturn
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 17 0 this Lcom/sun/imageio/plugins/common/PaletteBuilder;
0 17 1 aNode Lcom/sun/imageio/plugins/common/PaletteBuilder$ColorNode;
0 17 2 index I
0 17 3 red [B
0 17 4 green [B
0 17 5 blue [B
9 16 6 i I
MethodParameters:
Name Flags
aNode
index
red
green
blue
protected int getBranchIndex(java.awt.Color, int);
descriptor: (Ljava/awt/Color;I)I
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=8, args_size=3
start local 0 start local 1 start local 2 0: iload 2
bipush 8
if_icmpgt 1
iload 2
ifge 4
1: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Invalid octree node depth: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
2: iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
3: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
bipush 8
iload 2
isub
istore 3
start local 3 5: iconst_1
sipush 255
aload 1
invokevirtual java.awt.Color.getRed:()I
iand
iload 3
ishr
iand
istore 4
start local 4 6: iconst_1
sipush 255
aload 1
invokevirtual java.awt.Color.getGreen:()I
iand
iload 3
ishr
iand
istore 5
start local 5 7: iconst_1
sipush 255
aload 1
invokevirtual java.awt.Color.getBlue:()I
iand
iload 3
ishr
iand
istore 6
start local 6 8: iload 4
iconst_2
ishl
iload 5
iconst_1
ishl
ior
iload 6
ior
istore 7
start local 7 9: iload 7
ireturn
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 10 0 this Lcom/sun/imageio/plugins/common/PaletteBuilder;
0 10 1 aColor Ljava/awt/Color;
0 10 2 aLevel I
5 10 3 shift I
6 10 4 red_index I
7 10 5 green_index I
8 10 6 blue_index I
9 10 7 index I
MethodParameters:
Name Flags
aColor
aLevel
protected void reduceTree();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=7, args_size=1
start local 0 0: aload 0
getfield com.sun.imageio.plugins.common.PaletteBuilder.reduceList:[Lcom/sun/imageio/plugins/common/PaletteBuilder$ColorNode;
arraylength
iconst_1
isub
istore 1
start local 1 1: goto 3
2: StackMap locals: int
StackMap stack:
iinc 1 -1
3: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.common.PaletteBuilder.reduceList:[Lcom/sun/imageio/plugins/common/PaletteBuilder$ColorNode;
iload 1
aaload
ifnonnull 4
iload 1
ifge 2
4: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.common.PaletteBuilder.reduceList:[Lcom/sun/imageio/plugins/common/PaletteBuilder$ColorNode;
iload 1
aaload
astore 2
start local 2 5: aload 2
ifnonnull 7
6: return
7: StackMap locals: com.sun.imageio.plugins.common.PaletteBuilder$ColorNode
StackMap stack:
aload 2
astore 3
start local 3 8: aload 3
getfield com.sun.imageio.plugins.common.PaletteBuilder$ColorNode.colorCount:I
istore 4
start local 4 9: goto 14
10: StackMap locals: com.sun.imageio.plugins.common.PaletteBuilder$ColorNode int
StackMap stack:
iload 4
aload 3
getfield com.sun.imageio.plugins.common.PaletteBuilder$ColorNode.nextReducible:Lcom/sun/imageio/plugins/common/PaletteBuilder$ColorNode;
getfield com.sun.imageio.plugins.common.PaletteBuilder$ColorNode.colorCount:I
if_icmple 13
11: aload 3
astore 2
12: aload 3
getfield com.sun.imageio.plugins.common.PaletteBuilder$ColorNode.colorCount:I
istore 4
13: StackMap locals:
StackMap stack:
aload 3
getfield com.sun.imageio.plugins.common.PaletteBuilder$ColorNode.nextReducible:Lcom/sun/imageio/plugins/common/PaletteBuilder$ColorNode;
astore 3
14: StackMap locals:
StackMap stack:
aload 3
getfield com.sun.imageio.plugins.common.PaletteBuilder$ColorNode.nextReducible:Lcom/sun/imageio/plugins/common/PaletteBuilder$ColorNode;
ifnonnull 10
15: aload 2
aload 0
getfield com.sun.imageio.plugins.common.PaletteBuilder.reduceList:[Lcom/sun/imageio/plugins/common/PaletteBuilder$ColorNode;
iload 1
aaload
if_acmpne 18
16: aload 0
getfield com.sun.imageio.plugins.common.PaletteBuilder.reduceList:[Lcom/sun/imageio/plugins/common/PaletteBuilder$ColorNode;
iload 1
aload 2
getfield com.sun.imageio.plugins.common.PaletteBuilder$ColorNode.nextReducible:Lcom/sun/imageio/plugins/common/PaletteBuilder$ColorNode;
aastore
17: goto 21
18: StackMap locals:
StackMap stack:
aload 2
getfield com.sun.imageio.plugins.common.PaletteBuilder$ColorNode.nextReducible:Lcom/sun/imageio/plugins/common/PaletteBuilder$ColorNode;
astore 3
19: aload 2
aload 3
getfield com.sun.imageio.plugins.common.PaletteBuilder$ColorNode.nextReducible:Lcom/sun/imageio/plugins/common/PaletteBuilder$ColorNode;
putfield com.sun.imageio.plugins.common.PaletteBuilder$ColorNode.nextReducible:Lcom/sun/imageio/plugins/common/PaletteBuilder$ColorNode;
20: aload 3
astore 2
21: StackMap locals:
StackMap stack:
aload 2
getfield com.sun.imageio.plugins.common.PaletteBuilder$ColorNode.isLeaf:Z
ifeq 23
22: return
23: StackMap locals:
StackMap stack:
aload 2
invokevirtual com.sun.imageio.plugins.common.PaletteBuilder$ColorNode.getLeafChildCount:()I
istore 5
start local 5 24: aload 2
iconst_1
putfield com.sun.imageio.plugins.common.PaletteBuilder$ColorNode.isLeaf:Z
25: aload 0
dup
getfield com.sun.imageio.plugins.common.PaletteBuilder.currSize:I
iload 5
iconst_1
isub
isub
putfield com.sun.imageio.plugins.common.PaletteBuilder.currSize:I
26: aload 2
getfield com.sun.imageio.plugins.common.PaletteBuilder$ColorNode.level:I
pop
27: iconst_0
istore 6
start local 6 28: goto 31
29: StackMap locals: int int
StackMap stack:
aload 2
getfield com.sun.imageio.plugins.common.PaletteBuilder$ColorNode.children:[Lcom/sun/imageio/plugins/common/PaletteBuilder$ColorNode;
iload 6
aload 0
aload 2
getfield com.sun.imageio.plugins.common.PaletteBuilder$ColorNode.children:[Lcom/sun/imageio/plugins/common/PaletteBuilder$ColorNode;
iload 6
aaload
invokevirtual com.sun.imageio.plugins.common.PaletteBuilder.freeTree:(Lcom/sun/imageio/plugins/common/PaletteBuilder$ColorNode;)Lcom/sun/imageio/plugins/common/PaletteBuilder$ColorNode;
aastore
30: iinc 6 1
StackMap locals:
StackMap stack:
31: iload 6
bipush 8
if_icmplt 29
end local 6 32: aload 2
iconst_0
putfield com.sun.imageio.plugins.common.PaletteBuilder$ColorNode.childCount:I
33: 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 34 0 this Lcom/sun/imageio/plugins/common/PaletteBuilder;
1 34 1 level I
5 34 2 thisNode Lcom/sun/imageio/plugins/common/PaletteBuilder$ColorNode;
8 34 3 pList Lcom/sun/imageio/plugins/common/PaletteBuilder$ColorNode;
9 34 4 minColorCount I
24 34 5 leafChildCount I
28 32 6 i I
protected com.sun.imageio.plugins.common.PaletteBuilder$ColorNode freeTree(com.sun.imageio.plugins.common.PaletteBuilder$ColorNode);
descriptor: (Lcom/sun/imageio/plugins/common/PaletteBuilder$ColorNode;)Lcom/sun/imageio/plugins/common/PaletteBuilder$ColorNode;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
iconst_0
istore 2
start local 2 3: goto 6
4: StackMap locals: int
StackMap stack:
aload 1
getfield com.sun.imageio.plugins.common.PaletteBuilder$ColorNode.children:[Lcom/sun/imageio/plugins/common/PaletteBuilder$ColorNode;
iload 2
aload 0
aload 1
getfield com.sun.imageio.plugins.common.PaletteBuilder$ColorNode.children:[Lcom/sun/imageio/plugins/common/PaletteBuilder$ColorNode;
iload 2
aaload
invokevirtual com.sun.imageio.plugins.common.PaletteBuilder.freeTree:(Lcom/sun/imageio/plugins/common/PaletteBuilder$ColorNode;)Lcom/sun/imageio/plugins/common/PaletteBuilder$ColorNode;
aastore
5: iinc 2 1
StackMap locals:
StackMap stack:
6: iload 2
bipush 8
if_icmplt 4
end local 2 7: aload 0
dup
getfield com.sun.imageio.plugins.common.PaletteBuilder.numNodes:I
iconst_1
isub
putfield com.sun.imageio.plugins.common.PaletteBuilder.numNodes:I
8: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/sun/imageio/plugins/common/PaletteBuilder;
0 9 1 aNode Lcom/sun/imageio/plugins/common/PaletteBuilder$ColorNode;
3 7 2 i I
MethodParameters:
Name Flags
aNode
}
SourceFile: "PaletteBuilder.java"
NestMembers:
com.sun.imageio.plugins.common.PaletteBuilder$ColorNode
InnerClasses:
protected ColorNode = com.sun.imageio.plugins.common.PaletteBuilder$ColorNode of com.sun.imageio.plugins.common.PaletteBuilder