public class
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.net.www.HeaderParser
super_class: java.lang.Object
{
java.lang.String ;
descriptor: Ljava/lang/String;
flags: (0x0000)
java.lang.String[][] ;
descriptor: [[Ljava/lang/String;
flags: (0x0000)
int ;
descriptor: I
flags: (0x0000)
int ;
descriptor: I
flags: (0x0000)
public void (java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
bipush 10
putfield sun.net.www.HeaderParser.asize:I
2: aload 0
aload 1
putfield sun.net.www.HeaderParser.raw:Ljava/lang/String;
3: aload 0
aload 0
getfield sun.net.www.HeaderParser.asize:I
iconst_2
multianewarray [[Ljava/lang/String; 2
putfield sun.net.www.HeaderParser.tab:[[Ljava/lang/String;
4: aload 0
invokevirtual sun.net.www.HeaderParser.parse:()V
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/net/www/HeaderParser;
0 6 1 raw Ljava/lang/String;
MethodParameters:
Name Flags
raw
private void ();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
bipush 10
putfield sun.net.www.HeaderParser.asize:I
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/net/www/HeaderParser;
public sun.net.www.HeaderParser (int, int);
descriptor: (II)Lsun/net/www/HeaderParser;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=4, args_size=3
start local 0 start local 1 start local 2 0: iload 1
ifne 2
iload 2
aload 0
getfield sun.net.www.HeaderParser.nkeys:I
if_icmpne 2
1: aload 0
areturn
2: StackMap locals:
StackMap stack:
iload 1
iflt 3
iload 1
iload 2
if_icmpge 3
iload 2
aload 0
getfield sun.net.www.HeaderParser.nkeys:I
if_icmple 4
3: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "invalid start or end"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
new sun.net.www.HeaderParser
dup
invokespecial sun.net.www.HeaderParser.<init>:()V
astore 3
start local 3 5: aload 3
aload 0
getfield sun.net.www.HeaderParser.asize:I
iconst_2
multianewarray [[Ljava/lang/String; 2
putfield sun.net.www.HeaderParser.tab:[[Ljava/lang/String;
6: aload 3
aload 0
getfield sun.net.www.HeaderParser.asize:I
putfield sun.net.www.HeaderParser.asize:I
7: aload 0
getfield sun.net.www.HeaderParser.tab:[[Ljava/lang/String;
iload 1
aload 3
getfield sun.net.www.HeaderParser.tab:[[Ljava/lang/String;
iconst_0
iload 2
iload 1
isub
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
8: aload 3
iload 2
iload 1
isub
putfield sun.net.www.HeaderParser.nkeys:I
9: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lsun/net/www/HeaderParser;
0 10 1 start I
0 10 2 end I
5 10 3 n Lsun/net/www/HeaderParser;
MethodParameters:
Name Flags
start
end
private void ();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=10, args_size=1
start local 0 0: aload 0
getfield sun.net.www.HeaderParser.raw:Ljava/lang/String;
ifnull 69
1: aload 0
aload 0
getfield sun.net.www.HeaderParser.raw:Ljava/lang/String;
invokevirtual java.lang.String.trim:()Ljava/lang/String;
putfield sun.net.www.HeaderParser.raw:Ljava/lang/String;
2: aload 0
getfield sun.net.www.HeaderParser.raw:Ljava/lang/String;
invokevirtual java.lang.String.toCharArray:()[C
astore 1
start local 1 3: iconst_0
istore 2
start local 2 4: iconst_0
istore 3
start local 3 5: iconst_0
istore 4
start local 4 6: iconst_1
istore 5
start local 5 7: iconst_0
istore 6
start local 6 8: aload 1
arraylength
istore 7
start local 7 9: goto 50
10: StackMap locals: sun.net.www.HeaderParser char[] int int int int int int
StackMap stack:
aload 1
iload 3
caload
istore 8
start local 8 11: iload 8
bipush 61
if_icmpne 17
iload 6
ifne 17
12: aload 0
getfield sun.net.www.HeaderParser.tab:[[Ljava/lang/String;
iload 4
aaload
iconst_0
new java.lang.String
dup
aload 1
iload 2
iload 3
iload 2
isub
invokespecial java.lang.String.<init>:([CII)V
invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
aastore
13: iconst_0
istore 5
14: iinc 3 1
15: iload 3
istore 2
16: goto 45
StackMap locals: int
StackMap stack:
17: iload 8
bipush 34
if_icmpne 30
18: iload 6
ifeq 26
19: aload 0
getfield sun.net.www.HeaderParser.tab:[[Ljava/lang/String;
iload 4
iinc 4 1
aaload
iconst_1
new java.lang.String
dup
aload 1
iload 2
iload 3
iload 2
isub
invokespecial java.lang.String.<init>:([CII)V
aastore
20: iconst_0
istore 6
21: StackMap locals:
StackMap stack:
iinc 3 1
22: iload 3
iload 7
if_icmpge 23
aload 1
iload 3
caload
bipush 32
if_icmpeq 21
aload 1
iload 3
caload
bipush 44
if_icmpeq 21
23: StackMap locals:
StackMap stack:
iconst_1
istore 5
24: iload 3
istore 2
25: goto 45
26: StackMap locals:
StackMap stack:
iconst_1
istore 6
27: iinc 3 1
28: iload 3
istore 2
29: goto 45
StackMap locals:
StackMap stack:
30: iload 8
bipush 32
if_icmpeq 31
iload 8
bipush 44
if_icmpne 44
31: StackMap locals:
StackMap stack:
iload 6
ifeq 34
32: iinc 3 1
33: goto 50
34: StackMap locals:
StackMap stack:
iload 5
ifeq 37
35: aload 0
getfield sun.net.www.HeaderParser.tab:[[Ljava/lang/String;
iload 4
iinc 4 1
aaload
iconst_0
new java.lang.String
dup
aload 1
iload 2
iload 3
iload 2
isub
invokespecial java.lang.String.<init>:([CII)V
invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
aastore
36: goto 40
37: StackMap locals:
StackMap stack:
aload 0
getfield sun.net.www.HeaderParser.tab:[[Ljava/lang/String;
iload 4
iinc 4 1
aaload
iconst_1
new java.lang.String
dup
aload 1
iload 2
iload 3
iload 2
isub
invokespecial java.lang.String.<init>:([CII)V
aastore
38: goto 40
39: StackMap locals:
StackMap stack:
iinc 3 1
40: StackMap locals:
StackMap stack:
iload 3
iload 7
if_icmpge 41
aload 1
iload 3
caload
bipush 32
if_icmpeq 39
aload 1
iload 3
caload
bipush 44
if_icmpeq 39
41: StackMap locals:
StackMap stack:
iconst_1
istore 5
42: iload 3
istore 2
43: goto 45
44: StackMap locals:
StackMap stack:
iinc 3 1
45: StackMap locals:
StackMap stack:
iload 4
aload 0
getfield sun.net.www.HeaderParser.asize:I
if_icmpne 50
46: aload 0
dup
getfield sun.net.www.HeaderParser.asize:I
iconst_2
imul
putfield sun.net.www.HeaderParser.asize:I
47: aload 0
getfield sun.net.www.HeaderParser.asize:I
iconst_2
multianewarray [[Ljava/lang/String; 2
astore 9
start local 9 48: aload 0
getfield sun.net.www.HeaderParser.tab:[[Ljava/lang/String;
iconst_0
aload 9
iconst_0
aload 0
getfield sun.net.www.HeaderParser.tab:[[Ljava/lang/String;
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
49: aload 0
aload 9
putfield sun.net.www.HeaderParser.tab:[[Ljava/lang/String;
end local 9 end local 8 50: StackMap locals:
StackMap stack:
iload 3
iload 7
if_icmplt 10
51: iinc 3 -1
iload 3
iload 2
if_icmple 60
52: iload 5
ifne 58
53: aload 1
iload 3
caload
bipush 34
if_icmpne 56
54: aload 0
getfield sun.net.www.HeaderParser.tab:[[Ljava/lang/String;
iload 4
iinc 4 1
aaload
iconst_1
new java.lang.String
dup
aload 1
iload 2
iload 3
iload 2
isub
invokespecial java.lang.String.<init>:([CII)V
aastore
55: goto 68
56: StackMap locals:
StackMap stack:
aload 0
getfield sun.net.www.HeaderParser.tab:[[Ljava/lang/String;
iload 4
iinc 4 1
aaload
iconst_1
new java.lang.String
dup
aload 1
iload 2
iload 3
iload 2
isub
iconst_1
iadd
invokespecial java.lang.String.<init>:([CII)V
aastore
57: goto 68
58: StackMap locals:
StackMap stack:
aload 0
getfield sun.net.www.HeaderParser.tab:[[Ljava/lang/String;
iload 4
iinc 4 1
aaload
iconst_0
new java.lang.String
dup
aload 1
iload 2
iload 3
iload 2
isub
iconst_1
iadd
invokespecial java.lang.String.<init>:([CII)V
invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
aastore
59: goto 68
StackMap locals:
StackMap stack:
60: iload 3
iload 2
if_icmpne 68
61: iload 5
ifne 67
62: aload 1
iload 3
caload
bipush 34
if_icmpne 65
63: aload 0
getfield sun.net.www.HeaderParser.tab:[[Ljava/lang/String;
iload 4
iinc 4 1
aaload
iconst_1
aload 1
iload 3
iconst_1
isub
caload
invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
aastore
64: goto 68
65: StackMap locals:
StackMap stack:
aload 0
getfield sun.net.www.HeaderParser.tab:[[Ljava/lang/String;
iload 4
iinc 4 1
aaload
iconst_1
aload 1
iload 3
caload
invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
aastore
66: goto 68
67: StackMap locals:
StackMap stack:
aload 0
getfield sun.net.www.HeaderParser.tab:[[Ljava/lang/String;
iload 4
iinc 4 1
aaload
iconst_0
aload 1
iload 3
caload
invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
aastore
68: StackMap locals:
StackMap stack:
aload 0
iload 4
putfield sun.net.www.HeaderParser.nkeys:I
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 69: StackMap locals: sun.net.www.HeaderParser
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 70 0 this Lsun/net/www/HeaderParser;
3 69 1 ca [C
4 69 2 beg I
5 69 3 end I
6 69 4 i I
7 69 5 inKey Z
8 69 6 inQuote Z
9 69 7 len I
11 50 8 c C
48 50 9 ntab [[Ljava/lang/String;
public java.lang.String (int);
descriptor: (I)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 1
iflt 1
iload 1
aload 0
getfield sun.net.www.HeaderParser.asize:I
if_icmple 2
1: StackMap locals:
StackMap stack:
aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.net.www.HeaderParser.tab:[[Ljava/lang/String;
iload 1
aaload
iconst_0
aaload
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/net/www/HeaderParser;
0 3 1 i I
MethodParameters:
Name Flags
i
public java.lang.String (int);
descriptor: (I)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 1
iflt 1
iload 1
aload 0
getfield sun.net.www.HeaderParser.asize:I
if_icmple 2
1: StackMap locals:
StackMap stack:
aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.net.www.HeaderParser.tab:[[Ljava/lang/String;
iload 1
aaload
iconst_1
aaload
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/net/www/HeaderParser;
0 3 1 i I
MethodParameters:
Name Flags
i
public java.lang.String (java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aconst_null
invokevirtual sun.net.www.HeaderParser.findValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/net/www/HeaderParser;
0 1 1 key Ljava/lang/String;
MethodParameters:
Name Flags
key
public java.lang.String (java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnonnull 2
1: aload 2
areturn
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
astore 1
3: iconst_0
istore 3
start local 3 4: goto 10
5: StackMap locals: int
StackMap stack:
aload 0
getfield sun.net.www.HeaderParser.tab:[[Ljava/lang/String;
iload 3
aaload
iconst_0
aaload
ifnonnull 7
6: aload 2
areturn
7: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield sun.net.www.HeaderParser.tab:[[Ljava/lang/String;
iload 3
aaload
iconst_0
aaload
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 9
8: aload 0
getfield sun.net.www.HeaderParser.tab:[[Ljava/lang/String;
iload 3
aaload
iconst_1
aaload
areturn
9: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
10: iload 3
aload 0
getfield sun.net.www.HeaderParser.asize:I
if_icmplt 5
end local 3 11: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lsun/net/www/HeaderParser;
0 12 1 k Ljava/lang/String;
0 12 2 Default Ljava/lang/String;
4 11 3 i I
MethodParameters:
Name Flags
k
Default
public java.util.Iterator<java.lang.String> keys();
descriptor: ()Ljava/util/Iterator;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: new sun.net.www.HeaderParser$ParserIterator
dup
aload 0
iconst_0
invokespecial sun.net.www.HeaderParser$ParserIterator.<init>:(Lsun/net/www/HeaderParser;Z)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/net/www/HeaderParser;
Signature: ()Ljava/util/Iterator<Ljava/lang/String;>;
public java.util.Iterator<java.lang.String> values();
descriptor: ()Ljava/util/Iterator;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: new sun.net.www.HeaderParser$ParserIterator
dup
aload 0
iconst_1
invokespecial sun.net.www.HeaderParser$ParserIterator.<init>:(Lsun/net/www/HeaderParser;Z)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/net/www/HeaderParser;
Signature: ()Ljava/util/Iterator<Ljava/lang/String;>;
public java.lang.String ();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=1
start local 0 0: aload 0
invokevirtual sun.net.www.HeaderParser.keys:()Ljava/util/Iterator;
astore 1
start local 1 1: new java.lang.StringBuffer
dup
invokespecial java.lang.StringBuffer.<init>:()V
astore 2
start local 2 2: aload 2
new java.lang.StringBuilder
dup
ldc "{size="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.net.www.HeaderParser.asize:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " nkeys="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield sun.net.www.HeaderParser.nkeys:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
3: iconst_0
istore 3
start local 3 4: goto 15
5: StackMap locals: java.util.Iterator java.lang.StringBuffer int
StackMap stack:
aload 1
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 4
start local 4 6: aload 0
iload 3
invokevirtual sun.net.www.HeaderParser.findValue:(I)Ljava/lang/String;
astore 5
start local 5 7: aload 5
ifnull 9
ldc ""
aload 5
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 9
8: aconst_null
astore 5
9: StackMap locals: java.lang.String java.lang.String
StackMap stack:
aload 2
new java.lang.StringBuilder
dup
ldc " {"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 5
ifnonnull 10
ldc ""
goto 11
StackMap locals: sun.net.www.HeaderParser java.util.Iterator java.lang.StringBuffer int java.lang.String java.lang.String
StackMap stack: java.lang.StringBuffer java.lang.StringBuilder
10: new java.lang.StringBuilder
dup
ldc ","
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
StackMap locals: sun.net.www.HeaderParser java.util.Iterator java.lang.StringBuffer int java.lang.String java.lang.String
StackMap stack: java.lang.StringBuffer java.lang.StringBuilder java.lang.String
11: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "}"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
12: aload 1
invokeinterface java.util.Iterator.hasNext:()Z
ifeq 14
13: aload 2
ldc ","
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
end local 5 end local 4 14: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
15: aload 1
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
end local 3 16: aload 2
ldc " }"
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
17: new java.lang.String
dup
aload 2
invokespecial java.lang.String.<init>:(Ljava/lang/StringBuffer;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lsun/net/www/HeaderParser;
1 18 1 k Ljava/util/Iterator<Ljava/lang/String;>;
2 18 2 sbuf Ljava/lang/StringBuffer;
4 16 3 i I
6 14 4 key Ljava/lang/String;
7 14 5 val Ljava/lang/String;
public int (java.lang.String, int);
descriptor: (Ljava/lang/String;I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
iload 2
invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
invokevirtual sun.net.www.HeaderParser.findValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
1: ireturn
2: StackMap locals:
StackMap stack: java.lang.Throwable
pop
3: iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/net/www/HeaderParser;
0 4 1 k Ljava/lang/String;
0 4 2 Default I
Exception table:
from to target type
0 1 2 Class java.lang.Throwable
MethodParameters:
Name Flags
k
Default
}
SourceFile: "HeaderParser.java"
NestMembers:
sun.net.www.HeaderParser$ParserIterator
InnerClasses:
ParserIterator = sun.net.www.HeaderParser$ParserIterator of sun.net.www.HeaderParser