class com.sun.imageio.plugins.jpeg.DHTMarkerSegment$Htable implements java.lang.Cloneable
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.sun.imageio.plugins.jpeg.DHTMarkerSegment$Htable
super_class: java.lang.Object
{
int tableClass;
descriptor: I
flags: (0x0000)
int tableID;
descriptor: I
flags: (0x0000)
private static final int NUM_LENGTHS;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 16
short[] numCodes;
descriptor: [S
flags: (0x0000)
short[] values;
descriptor: [S
flags: (0x0000)
final com.sun.imageio.plugins.jpeg.DHTMarkerSegment this$0;
descriptor: Lcom/sun/imageio/plugins/jpeg/DHTMarkerSegment;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(com.sun.imageio.plugins.jpeg.DHTMarkerSegment, com.sun.imageio.plugins.jpeg.JPEGBuffer);
descriptor: (Lcom/sun/imageio/plugins/jpeg/DHTMarkerSegment;Lcom/sun/imageio/plugins/jpeg/JPEGBuffer;)V
flags: (0x0000)
Code:
stack=7, locals=5, args_size=3
start local 0 start local 2 0: aload 0
aload 1
putfield com.sun.imageio.plugins.jpeg.DHTMarkerSegment$Htable.this$0:Lcom/sun/imageio/plugins/jpeg/DHTMarkerSegment;
aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
bipush 16
newarray 9
putfield com.sun.imageio.plugins.jpeg.DHTMarkerSegment$Htable.numCodes:[S
2: aload 0
aload 2
getfield com.sun.imageio.plugins.jpeg.JPEGBuffer.buf:[B
aload 2
getfield com.sun.imageio.plugins.jpeg.JPEGBuffer.bufPtr:I
baload
iconst_4
iushr
putfield com.sun.imageio.plugins.jpeg.DHTMarkerSegment$Htable.tableClass:I
3: aload 0
aload 2
getfield com.sun.imageio.plugins.jpeg.JPEGBuffer.buf:[B
aload 2
dup
getfield com.sun.imageio.plugins.jpeg.JPEGBuffer.bufPtr:I
dup_x1
iconst_1
iadd
putfield com.sun.imageio.plugins.jpeg.JPEGBuffer.bufPtr:I
baload
bipush 15
iand
putfield com.sun.imageio.plugins.jpeg.DHTMarkerSegment$Htable.tableID:I
4: iconst_0
istore 3
start local 3 5: goto 8
6: StackMap locals: com.sun.imageio.plugins.jpeg.DHTMarkerSegment$Htable com.sun.imageio.plugins.jpeg.DHTMarkerSegment com.sun.imageio.plugins.jpeg.JPEGBuffer int
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.jpeg.DHTMarkerSegment$Htable.numCodes:[S
iload 3
aload 2
getfield com.sun.imageio.plugins.jpeg.JPEGBuffer.buf:[B
aload 2
dup
getfield com.sun.imageio.plugins.jpeg.JPEGBuffer.bufPtr:I
dup_x1
iconst_1
iadd
putfield com.sun.imageio.plugins.jpeg.JPEGBuffer.bufPtr:I
baload
sipush 255
iand
i2s
sastore
7: iinc 3 1
StackMap locals:
StackMap stack:
8: iload 3
bipush 16
if_icmplt 6
end local 3 9: iconst_0
istore 3
start local 3 10: iconst_0
istore 4
start local 4 11: goto 14
12: StackMap locals: int
StackMap stack:
iload 3
aload 0
getfield com.sun.imageio.plugins.jpeg.DHTMarkerSegment$Htable.numCodes:[S
iload 4
saload
iadd
istore 3
13: iinc 4 1
StackMap locals:
StackMap stack:
14: iload 4
bipush 16
if_icmplt 12
end local 4 15: aload 0
iload 3
newarray 9
putfield com.sun.imageio.plugins.jpeg.DHTMarkerSegment$Htable.values:[S
16: iconst_0
istore 4
start local 4 17: goto 20
18: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.jpeg.DHTMarkerSegment$Htable.values:[S
iload 4
aload 2
getfield com.sun.imageio.plugins.jpeg.JPEGBuffer.buf:[B
aload 2
dup
getfield com.sun.imageio.plugins.jpeg.JPEGBuffer.bufPtr:I
dup_x1
iconst_1
iadd
putfield com.sun.imageio.plugins.jpeg.JPEGBuffer.bufPtr:I
baload
sipush 255
iand
i2s
sastore
19: iinc 4 1
StackMap locals:
StackMap stack:
20: iload 4
iload 3
if_icmplt 18
end local 4 21: return
end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lcom/sun/imageio/plugins/jpeg/DHTMarkerSegment$Htable;
0 22 2 buffer Lcom/sun/imageio/plugins/jpeg/JPEGBuffer;
5 9 3 i I
10 22 3 numValues I
11 15 4 i I
17 21 4 i I
MethodParameters:
Name Flags
this$0 final
buffer
void <init>(com.sun.imageio.plugins.jpeg.DHTMarkerSegment, javax.imageio.plugins.jpeg.JPEGHuffmanTable, boolean, int);
descriptor: (Lcom/sun/imageio/plugins/jpeg/DHTMarkerSegment;Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;ZI)V
flags: (0x0000)
Code:
stack=2, locals=5, args_size=5
start local 0 start local 2 start local 3 start local 4 0: aload 0
aload 1
putfield com.sun.imageio.plugins.jpeg.DHTMarkerSegment$Htable.this$0:Lcom/sun/imageio/plugins/jpeg/DHTMarkerSegment;
aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
bipush 16
newarray 9
putfield com.sun.imageio.plugins.jpeg.DHTMarkerSegment$Htable.numCodes:[S
2: aload 0
iload 3
ifeq 3
iconst_0
goto 4
StackMap locals: com.sun.imageio.plugins.jpeg.DHTMarkerSegment$Htable com.sun.imageio.plugins.jpeg.DHTMarkerSegment javax.imageio.plugins.jpeg.JPEGHuffmanTable int int
StackMap stack: com.sun.imageio.plugins.jpeg.DHTMarkerSegment$Htable
3: iconst_1
StackMap locals: com.sun.imageio.plugins.jpeg.DHTMarkerSegment$Htable com.sun.imageio.plugins.jpeg.DHTMarkerSegment javax.imageio.plugins.jpeg.JPEGHuffmanTable int int
StackMap stack: com.sun.imageio.plugins.jpeg.DHTMarkerSegment$Htable int
4: putfield com.sun.imageio.plugins.jpeg.DHTMarkerSegment$Htable.tableClass:I
5: aload 0
iload 4
putfield com.sun.imageio.plugins.jpeg.DHTMarkerSegment$Htable.tableID:I
6: aload 0
aload 2
invokevirtual javax.imageio.plugins.jpeg.JPEGHuffmanTable.getLengths:()[S
putfield com.sun.imageio.plugins.jpeg.DHTMarkerSegment$Htable.numCodes:[S
7: aload 0
aload 2
invokevirtual javax.imageio.plugins.jpeg.JPEGHuffmanTable.getValues:()[S
putfield com.sun.imageio.plugins.jpeg.DHTMarkerSegment$Htable.values:[S
8: return
end local 4 end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/sun/imageio/plugins/jpeg/DHTMarkerSegment$Htable;
0 9 2 table Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;
0 9 3 isDC Z
0 9 4 id I
MethodParameters:
Name Flags
this$0 final
table
isDC
id
void <init>(com.sun.imageio.plugins.jpeg.DHTMarkerSegment, org.w3c.dom.Node);
descriptor: (Lcom/sun/imageio/plugins/jpeg/DHTMarkerSegment;Lorg/w3c/dom/Node;)V
flags: (0x0000)
Code:
stack=7, locals=7, args_size=3
start local 0 start local 2 0: aload 0
aload 1
putfield com.sun.imageio.plugins.jpeg.DHTMarkerSegment$Htable.this$0:Lcom/sun/imageio/plugins/jpeg/DHTMarkerSegment;
aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
bipush 16
newarray 9
putfield com.sun.imageio.plugins.jpeg.DHTMarkerSegment$Htable.numCodes:[S
2: aload 2
invokeinterface org.w3c.dom.Node.getNodeName:()Ljava/lang/String;
ldc "dhtable"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 25
3: aload 2
invokeinterface org.w3c.dom.Node.getAttributes:()Lorg/w3c/dom/NamedNodeMap;
astore 3
start local 3 4: aload 3
invokeinterface org.w3c.dom.NamedNodeMap.getLength:()I
istore 4
start local 4 5: iload 4
iconst_2
if_icmpeq 9
6: new javax.imageio.metadata.IIOInvalidTreeException
dup
7: ldc "dhtable node must have 2 attributes"
aload 2
8: invokespecial javax.imageio.metadata.IIOInvalidTreeException.<init>:(Ljava/lang/String;Lorg/w3c/dom/Node;)V
athrow
9: StackMap locals: com.sun.imageio.plugins.jpeg.DHTMarkerSegment$Htable com.sun.imageio.plugins.jpeg.DHTMarkerSegment org.w3c.dom.Node org.w3c.dom.NamedNodeMap int
StackMap stack:
aload 0
aload 2
aload 3
ldc "class"
iconst_0
iconst_1
iconst_1
invokestatic com.sun.imageio.plugins.jpeg.DHTMarkerSegment.getAttributeValue:(Lorg/w3c/dom/Node;Lorg/w3c/dom/NamedNodeMap;Ljava/lang/String;IIZ)I
putfield com.sun.imageio.plugins.jpeg.DHTMarkerSegment$Htable.tableClass:I
10: aload 0
aload 2
aload 3
ldc "htableId"
iconst_0
iconst_3
iconst_1
invokestatic com.sun.imageio.plugins.jpeg.DHTMarkerSegment.getAttributeValue:(Lorg/w3c/dom/Node;Lorg/w3c/dom/NamedNodeMap;Ljava/lang/String;IIZ)I
putfield com.sun.imageio.plugins.jpeg.DHTMarkerSegment$Htable.tableID:I
11: aload 2
instanceof javax.imageio.metadata.IIOMetadataNode
ifeq 22
12: aload 2
checkcast javax.imageio.metadata.IIOMetadataNode
astore 5
start local 5 13: aload 5
invokevirtual javax.imageio.metadata.IIOMetadataNode.getUserObject:()Ljava/lang/Object;
checkcast javax.imageio.plugins.jpeg.JPEGHuffmanTable
14: astore 6
start local 6 15: aload 6
ifnonnull 19
16: new javax.imageio.metadata.IIOInvalidTreeException
dup
17: ldc "dhtable node must have user object"
aload 2
18: invokespecial javax.imageio.metadata.IIOInvalidTreeException.<init>:(Ljava/lang/String;Lorg/w3c/dom/Node;)V
athrow
19: StackMap locals: javax.imageio.metadata.IIOMetadataNode javax.imageio.plugins.jpeg.JPEGHuffmanTable
StackMap stack:
aload 0
aload 6
invokevirtual javax.imageio.plugins.jpeg.JPEGHuffmanTable.getLengths:()[S
putfield com.sun.imageio.plugins.jpeg.DHTMarkerSegment$Htable.numCodes:[S
20: aload 0
aload 6
invokevirtual javax.imageio.plugins.jpeg.JPEGHuffmanTable.getValues:()[S
putfield com.sun.imageio.plugins.jpeg.DHTMarkerSegment$Htable.values:[S
end local 6 end local 5 21: goto 28
22: StackMap locals:
StackMap stack:
new javax.imageio.metadata.IIOInvalidTreeException
dup
23: ldc "dhtable node must have user object"
aload 2
24: invokespecial javax.imageio.metadata.IIOInvalidTreeException.<init>:(Ljava/lang/String;Lorg/w3c/dom/Node;)V
athrow
end local 4 end local 3 25: StackMap locals:
StackMap stack:
new javax.imageio.metadata.IIOInvalidTreeException
dup
26: ldc "Invalid node, expected dqtable"
aload 2
27: invokespecial javax.imageio.metadata.IIOInvalidTreeException.<init>:(Ljava/lang/String;Lorg/w3c/dom/Node;)V
athrow
28: StackMap locals:
StackMap stack:
return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Lcom/sun/imageio/plugins/jpeg/DHTMarkerSegment$Htable;
0 29 2 node Lorg/w3c/dom/Node;
4 25 3 attrs Lorg/w3c/dom/NamedNodeMap;
5 25 4 count I
13 21 5 ourNode Ljavax/imageio/metadata/IIOMetadataNode;
15 21 6 table Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;
Exceptions:
throws javax.imageio.metadata.IIOInvalidTreeException
MethodParameters:
Name Flags
this$0 final
node
protected java.lang.Object clone();
descriptor: ()Ljava/lang/Object;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=1
start local 0 0: aconst_null
astore 1
start local 1 1: aload 0
invokespecial java.lang.Object.clone:()Ljava/lang/Object;
checkcast com.sun.imageio.plugins.jpeg.DHTMarkerSegment$Htable
astore 1
2: goto 4
StackMap locals: com.sun.imageio.plugins.jpeg.DHTMarkerSegment$Htable com.sun.imageio.plugins.jpeg.DHTMarkerSegment$Htable
StackMap stack: java.lang.CloneNotSupportedException
3: pop
4: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.jpeg.DHTMarkerSegment$Htable.numCodes:[S
ifnull 6
5: aload 1
aload 0
getfield com.sun.imageio.plugins.jpeg.DHTMarkerSegment$Htable.numCodes:[S
invokevirtual short[].clone:()Ljava/lang/Object;
checkcast short[]
putfield com.sun.imageio.plugins.jpeg.DHTMarkerSegment$Htable.numCodes:[S
6: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.jpeg.DHTMarkerSegment$Htable.values:[S
ifnull 8
7: aload 1
aload 0
getfield com.sun.imageio.plugins.jpeg.DHTMarkerSegment$Htable.values:[S
invokevirtual short[].clone:()Ljava/lang/Object;
checkcast short[]
putfield com.sun.imageio.plugins.jpeg.DHTMarkerSegment$Htable.values:[S
8: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/sun/imageio/plugins/jpeg/DHTMarkerSegment$Htable;
1 9 1 newGuy Lcom/sun/imageio/plugins/jpeg/DHTMarkerSegment$Htable;
Exception table:
from to target type
1 2 3 Class java.lang.CloneNotSupportedException
javax.imageio.metadata.IIOMetadataNode getNativeNode();
descriptor: ()Ljavax/imageio/metadata/IIOMetadataNode;
flags: (0x0000)
Code:
stack=5, locals=2, args_size=1
start local 0 0: new javax.imageio.metadata.IIOMetadataNode
dup
ldc "dhtable"
invokespecial javax.imageio.metadata.IIOMetadataNode.<init>:(Ljava/lang/String;)V
astore 1
start local 1 1: aload 1
ldc "class"
aload 0
getfield com.sun.imageio.plugins.jpeg.DHTMarkerSegment$Htable.tableClass:I
invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
invokevirtual javax.imageio.metadata.IIOMetadataNode.setAttribute:(Ljava/lang/String;Ljava/lang/String;)V
2: aload 1
ldc "htableId"
aload 0
getfield com.sun.imageio.plugins.jpeg.DHTMarkerSegment$Htable.tableID:I
invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
invokevirtual javax.imageio.metadata.IIOMetadataNode.setAttribute:(Ljava/lang/String;Ljava/lang/String;)V
3: aload 1
new javax.imageio.plugins.jpeg.JPEGHuffmanTable
dup
aload 0
getfield com.sun.imageio.plugins.jpeg.DHTMarkerSegment$Htable.numCodes:[S
aload 0
getfield com.sun.imageio.plugins.jpeg.DHTMarkerSegment$Htable.values:[S
invokespecial javax.imageio.plugins.jpeg.JPEGHuffmanTable.<init>:([S[S)V
invokevirtual javax.imageio.metadata.IIOMetadataNode.setUserObject:(Ljava/lang/Object;)V
4: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/imageio/plugins/jpeg/DHTMarkerSegment$Htable;
1 5 1 node Ljavax/imageio/metadata/IIOMetadataNode;
void print();
descriptor: ()V
flags: (0x0000)
Code:
stack=4, locals=1, args_size=1
start local 0 0: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "Huffman Table"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
1: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "table class: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
2: aload 0
getfield com.sun.imageio.plugins.jpeg.DHTMarkerSegment$Htable.tableClass:I
ifne 3
ldc "DC"
goto 4
StackMap locals: com.sun.imageio.plugins.jpeg.DHTMarkerSegment$Htable
StackMap stack: java.io.PrintStream java.lang.StringBuilder
3: ldc "AC"
StackMap locals: com.sun.imageio.plugins.jpeg.DHTMarkerSegment$Htable
StackMap stack: java.io.PrintStream java.lang.StringBuilder java.lang.String
4: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
5: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
6: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "table id: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.sun.imageio.plugins.jpeg.DHTMarkerSegment$Htable.tableID:I
invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
7: new javax.imageio.plugins.jpeg.JPEGHuffmanTable
dup
aload 0
getfield com.sun.imageio.plugins.jpeg.DHTMarkerSegment$Htable.numCodes:[S
aload 0
getfield com.sun.imageio.plugins.jpeg.DHTMarkerSegment$Htable.values:[S
invokespecial javax.imageio.plugins.jpeg.JPEGHuffmanTable.<init>:([S[S)V
invokevirtual javax.imageio.plugins.jpeg.JPEGHuffmanTable.toString:()Ljava/lang/String;
pop
8: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/sun/imageio/plugins/jpeg/DHTMarkerSegment$Htable;
}
SourceFile: "DHTMarkerSegment.java"
NestHost: com.sun.imageio.plugins.jpeg.DHTMarkerSegment
InnerClasses:
Htable = com.sun.imageio.plugins.jpeg.DHTMarkerSegment$Htable of com.sun.imageio.plugins.jpeg.DHTMarkerSegment