public class com.sun.tools.hat.internal.server.HttpReader implements java.lang.Runnable
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.sun.tools.hat.internal.server.HttpReader
super_class: java.lang.Object
{
private java.net.Socket socket;
descriptor: Ljava/net/Socket;
flags: (0x0002) ACC_PRIVATE
private java.io.PrintWriter out;
descriptor: Ljava/io/PrintWriter;
flags: (0x0002) ACC_PRIVATE
private com.sun.tools.hat.internal.model.Snapshot snapshot;
descriptor: Lcom/sun/tools/hat/internal/model/Snapshot;
flags: (0x0002) ACC_PRIVATE
private com.sun.tools.hat.internal.oql.OQLEngine engine;
descriptor: Lcom/sun/tools/hat/internal/oql/OQLEngine;
flags: (0x0002) ACC_PRIVATE
public void <init>(java.net.Socket, com.sun.tools.hat.internal.model.Snapshot, com.sun.tools.hat.internal.oql.OQLEngine);
descriptor: (Ljava/net/Socket;Lcom/sun/tools/hat/internal/model/Snapshot;Lcom/sun/tools/hat/internal/oql/OQLEngine;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=4
start local 0 // com.sun.tools.hat.internal.server.HttpReader this
start local 1 // java.net.Socket s
start local 2 // com.sun.tools.hat.internal.model.Snapshot snapshot
start local 3 // com.sun.tools.hat.internal.oql.OQLEngine engine
0: .line 64
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 65
aload 0 /* this */
aload 1 /* s */
putfield com.sun.tools.hat.internal.server.HttpReader.socket:Ljava/net/Socket;
2: .line 66
aload 0 /* this */
aload 2 /* snapshot */
putfield com.sun.tools.hat.internal.server.HttpReader.snapshot:Lcom/sun/tools/hat/internal/model/Snapshot;
3: .line 67
aload 0 /* this */
aload 3 /* engine */
putfield com.sun.tools.hat.internal.server.HttpReader.engine:Lcom/sun/tools/hat/internal/oql/OQLEngine;
4: .line 68
return
end local 3 // com.sun.tools.hat.internal.oql.OQLEngine engine
end local 2 // com.sun.tools.hat.internal.model.Snapshot snapshot
end local 1 // java.net.Socket s
end local 0 // com.sun.tools.hat.internal.server.HttpReader this
LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/tools/hat/internal/server/HttpReader;
0 5 1 s Ljava/net/Socket;
0 5 2 snapshot Lcom/sun/tools/hat/internal/model/Snapshot;
0 5 3 engine Lcom/sun/tools/hat/internal/oql/OQLEngine;
MethodParameters:
Name Flags
s
snapshot
engine
public void run();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=7, args_size=1
start local 0 // com.sun.tools.hat.internal.server.HttpReader this
0: .line 71
aconst_null
astore 1 /* in */
start local 1 // java.io.InputStream in
1: .line 73
new java.io.BufferedInputStream
dup
aload 0 /* this */
getfield com.sun.tools.hat.internal.server.HttpReader.socket:Ljava/net/Socket;
invokevirtual java.net.Socket.getInputStream:()Ljava/io/InputStream;
invokespecial java.io.BufferedInputStream.<init>:(Ljava/io/InputStream;)V
astore 1 /* in */
2: .line 74
aload 0 /* this */
new java.io.PrintWriter
dup
new java.io.BufferedWriter
dup
3: .line 75
new java.io.OutputStreamWriter
dup
4: .line 76
aload 0 /* this */
getfield com.sun.tools.hat.internal.server.HttpReader.socket:Ljava/net/Socket;
invokevirtual java.net.Socket.getOutputStream:()Ljava/io/OutputStream;
5: .line 75
invokespecial java.io.OutputStreamWriter.<init>:(Ljava/io/OutputStream;)V
invokespecial java.io.BufferedWriter.<init>:(Ljava/io/Writer;)V
invokespecial java.io.PrintWriter.<init>:(Ljava/io/Writer;)V
6: .line 74
putfield com.sun.tools.hat.internal.server.HttpReader.out:Ljava/io/PrintWriter;
7: .line 77
aload 0 /* this */
getfield com.sun.tools.hat.internal.server.HttpReader.out:Ljava/io/PrintWriter;
ldc "HTTP/1.0 200 OK"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
8: .line 78
aload 0 /* this */
getfield com.sun.tools.hat.internal.server.HttpReader.out:Ljava/io/PrintWriter;
ldc "Cache-Control: no-cache"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
9: .line 79
aload 0 /* this */
getfield com.sun.tools.hat.internal.server.HttpReader.out:Ljava/io/PrintWriter;
ldc "Pragma: no-cache"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
10: .line 80
aload 0 /* this */
getfield com.sun.tools.hat.internal.server.HttpReader.out:Ljava/io/PrintWriter;
invokevirtual java.io.PrintWriter.println:()V
11: .line 81
aload 1 /* in */
invokevirtual java.io.InputStream.read:()I
bipush 71
if_icmpne 13
aload 1 /* in */
invokevirtual java.io.InputStream.read:()I
bipush 69
if_icmpne 13
12: .line 82
aload 1 /* in */
invokevirtual java.io.InputStream.read:()I
bipush 84
if_icmpne 13
aload 1 /* in */
invokevirtual java.io.InputStream.read:()I
bipush 32
if_icmpeq 14
13: .line 83
StackMap locals: java.io.InputStream
StackMap stack:
aload 0 /* this */
ldc "Protocol error"
invokevirtual com.sun.tools.hat.internal.server.HttpReader.outputError:(Ljava/lang/String;)V
14: .line 86
StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 3 /* queryBuf */
start local 3 // java.lang.StringBuilder queryBuf
15: .line 87
goto 18
start local 2 // int data
16: .line 88
StackMap locals: int java.lang.StringBuilder
StackMap stack:
iload 2 /* data */
i2c
istore 4 /* ch */
start local 4 // char ch
17: .line 89
aload 3 /* queryBuf */
iload 4 /* ch */
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
end local 4 // char ch
end local 2 // int data
18: .line 87
StackMap locals: com.sun.tools.hat.internal.server.HttpReader java.io.InputStream top java.lang.StringBuilder
StackMap stack:
aload 1 /* in */
invokevirtual java.io.InputStream.read:()I
dup
istore 2 /* data */
start local 2 // int data
19: iconst_m1
if_icmpeq 20
iload 2 /* data */
bipush 32
if_icmpne 16
20: .line 91
StackMap locals: com.sun.tools.hat.internal.server.HttpReader java.io.InputStream int java.lang.StringBuilder
StackMap stack:
aload 3 /* queryBuf */
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 4 /* query */
start local 4 // java.lang.String query
21: .line 92
aload 4 /* query */
ldc "UTF-8"
invokestatic java.net.URLDecoder.decode:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
astore 4 /* query */
22: .line 93
aconst_null
astore 5 /* handler */
start local 5 // com.sun.tools.hat.internal.server.QueryHandler handler
23: .line 94
aload 0 /* this */
getfield com.sun.tools.hat.internal.server.HttpReader.snapshot:Lcom/sun/tools/hat/internal/model/Snapshot;
ifnonnull 35
24: .line 95
aload 0 /* this */
ldc "The heap snapshot is still being read."
invokevirtual com.sun.tools.hat.internal.server.HttpReader.outputError:(Ljava/lang/String;)V
25: .line 197
aload 0 /* this */
getfield com.sun.tools.hat.internal.server.HttpReader.out:Ljava/io/PrintWriter;
ifnull 27
26: .line 198
aload 0 /* this */
getfield com.sun.tools.hat.internal.server.HttpReader.out:Ljava/io/PrintWriter;
invokevirtual java.io.PrintWriter.close:()V
27: .line 201
StackMap locals: java.lang.String com.sun.tools.hat.internal.server.QueryHandler
StackMap stack:
aload 1 /* in */
ifnull 31
28: .line 202
aload 1 /* in */
invokevirtual java.io.InputStream.close:()V
29: .line 204
goto 31
StackMap locals:
StackMap stack: java.io.IOException
30: pop
31: .line 207
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield com.sun.tools.hat.internal.server.HttpReader.socket:Ljava/net/Socket;
invokevirtual java.net.Socket.close:()V
32: .line 208
goto 34
StackMap locals:
StackMap stack: java.io.IOException
33: pop
34: .line 96
StackMap locals:
StackMap stack:
return
35: .line 97
StackMap locals:
StackMap stack:
aload 4 /* query */
ldc "/"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 42
36: .line 98
new com.sun.tools.hat.internal.server.AllClassesQuery
dup
iconst_1
aload 0 /* this */
getfield com.sun.tools.hat.internal.server.HttpReader.engine:Lcom/sun/tools/hat/internal/oql/OQLEngine;
ifnull 37
iconst_1
goto 38
StackMap locals: com.sun.tools.hat.internal.server.HttpReader java.io.InputStream int java.lang.StringBuilder java.lang.String com.sun.tools.hat.internal.server.QueryHandler
StackMap stack: new 36 new 36 int
37: iconst_0
StackMap locals: com.sun.tools.hat.internal.server.HttpReader java.io.InputStream int java.lang.StringBuilder java.lang.String com.sun.tools.hat.internal.server.QueryHandler
StackMap stack: new 36 new 36 int int
38: invokespecial com.sun.tools.hat.internal.server.AllClassesQuery.<init>:(ZZ)V
astore 5 /* handler */
39: .line 99
aload 5 /* handler */
ldc ""
invokevirtual com.sun.tools.hat.internal.server.QueryHandler.setUrlStart:(Ljava/lang/String;)V
40: .line 100
aload 5 /* handler */
ldc ""
invokevirtual com.sun.tools.hat.internal.server.QueryHandler.setQuery:(Ljava/lang/String;)V
41: .line 101
goto 145
StackMap locals:
StackMap stack:
42: aload 4 /* query */
ldc "/oql/"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 48
43: .line 102
aload 0 /* this */
getfield com.sun.tools.hat.internal.server.HttpReader.engine:Lcom/sun/tools/hat/internal/oql/OQLEngine;
ifnull 145
44: .line 103
new com.sun.tools.hat.internal.server.OQLQuery
dup
aload 0 /* this */
getfield com.sun.tools.hat.internal.server.HttpReader.engine:Lcom/sun/tools/hat/internal/oql/OQLEngine;
invokespecial com.sun.tools.hat.internal.server.OQLQuery.<init>:(Lcom/sun/tools/hat/internal/oql/OQLEngine;)V
astore 5 /* handler */
45: .line 104
aload 5 /* handler */
ldc ""
invokevirtual com.sun.tools.hat.internal.server.QueryHandler.setUrlStart:(Ljava/lang/String;)V
46: .line 105
aload 5 /* handler */
aload 4 /* query */
iconst_5
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokevirtual com.sun.tools.hat.internal.server.QueryHandler.setQuery:(Ljava/lang/String;)V
47: .line 107
goto 145
StackMap locals:
StackMap stack:
48: aload 4 /* query */
ldc "/oqlhelp/"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 54
49: .line 108
aload 0 /* this */
getfield com.sun.tools.hat.internal.server.HttpReader.engine:Lcom/sun/tools/hat/internal/oql/OQLEngine;
ifnull 145
50: .line 109
new com.sun.tools.hat.internal.server.OQLHelp
dup
invokespecial com.sun.tools.hat.internal.server.OQLHelp.<init>:()V
astore 5 /* handler */
51: .line 110
aload 5 /* handler */
ldc ""
invokevirtual com.sun.tools.hat.internal.server.QueryHandler.setUrlStart:(Ljava/lang/String;)V
52: .line 111
aload 5 /* handler */
ldc ""
invokevirtual com.sun.tools.hat.internal.server.QueryHandler.setQuery:(Ljava/lang/String;)V
53: .line 113
goto 145
StackMap locals:
StackMap stack:
54: aload 4 /* query */
ldc "/allClassesWithPlatform/"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 61
55: .line 114
new com.sun.tools.hat.internal.server.AllClassesQuery
dup
iconst_0
aload 0 /* this */
getfield com.sun.tools.hat.internal.server.HttpReader.engine:Lcom/sun/tools/hat/internal/oql/OQLEngine;
ifnull 56
iconst_1
goto 57
StackMap locals: com.sun.tools.hat.internal.server.HttpReader java.io.InputStream int java.lang.StringBuilder java.lang.String com.sun.tools.hat.internal.server.QueryHandler
StackMap stack: new 55 new 55 int
56: iconst_0
StackMap locals: com.sun.tools.hat.internal.server.HttpReader java.io.InputStream int java.lang.StringBuilder java.lang.String com.sun.tools.hat.internal.server.QueryHandler
StackMap stack: new 55 new 55 int int
57: invokespecial com.sun.tools.hat.internal.server.AllClassesQuery.<init>:(ZZ)V
astore 5 /* handler */
58: .line 115
aload 5 /* handler */
ldc "../"
invokevirtual com.sun.tools.hat.internal.server.QueryHandler.setUrlStart:(Ljava/lang/String;)V
59: .line 116
aload 5 /* handler */
ldc ""
invokevirtual com.sun.tools.hat.internal.server.QueryHandler.setQuery:(Ljava/lang/String;)V
60: .line 117
goto 145
StackMap locals:
StackMap stack:
61: aload 4 /* query */
ldc "/showRoots/"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 66
62: .line 118
new com.sun.tools.hat.internal.server.AllRootsQuery
dup
invokespecial com.sun.tools.hat.internal.server.AllRootsQuery.<init>:()V
astore 5 /* handler */
63: .line 119
aload 5 /* handler */
ldc "../"
invokevirtual com.sun.tools.hat.internal.server.QueryHandler.setUrlStart:(Ljava/lang/String;)V
64: .line 120
aload 5 /* handler */
ldc ""
invokevirtual com.sun.tools.hat.internal.server.QueryHandler.setQuery:(Ljava/lang/String;)V
65: .line 121
goto 145
StackMap locals:
StackMap stack:
66: aload 4 /* query */
ldc "/showInstanceCounts/includePlatform/"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 71
67: .line 122
new com.sun.tools.hat.internal.server.InstancesCountQuery
dup
iconst_0
invokespecial com.sun.tools.hat.internal.server.InstancesCountQuery.<init>:(Z)V
astore 5 /* handler */
68: .line 123
aload 5 /* handler */
ldc "../../"
invokevirtual com.sun.tools.hat.internal.server.QueryHandler.setUrlStart:(Ljava/lang/String;)V
69: .line 124
aload 5 /* handler */
ldc ""
invokevirtual com.sun.tools.hat.internal.server.QueryHandler.setQuery:(Ljava/lang/String;)V
70: .line 125
goto 145
StackMap locals:
StackMap stack:
71: aload 4 /* query */
ldc "/showInstanceCounts/"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 76
72: .line 126
new com.sun.tools.hat.internal.server.InstancesCountQuery
dup
iconst_1
invokespecial com.sun.tools.hat.internal.server.InstancesCountQuery.<init>:(Z)V
astore 5 /* handler */
73: .line 127
aload 5 /* handler */
ldc "../"
invokevirtual com.sun.tools.hat.internal.server.QueryHandler.setUrlStart:(Ljava/lang/String;)V
74: .line 128
aload 5 /* handler */
ldc ""
invokevirtual com.sun.tools.hat.internal.server.QueryHandler.setQuery:(Ljava/lang/String;)V
75: .line 129
goto 145
StackMap locals:
StackMap stack:
76: aload 4 /* query */
ldc "/instances/"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 81
77: .line 130
new com.sun.tools.hat.internal.server.InstancesQuery
dup
iconst_0
invokespecial com.sun.tools.hat.internal.server.InstancesQuery.<init>:(Z)V
astore 5 /* handler */
78: .line 131
aload 5 /* handler */
ldc "../"
invokevirtual com.sun.tools.hat.internal.server.QueryHandler.setUrlStart:(Ljava/lang/String;)V
79: .line 132
aload 5 /* handler */
aload 4 /* query */
bipush 11
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokevirtual com.sun.tools.hat.internal.server.QueryHandler.setQuery:(Ljava/lang/String;)V
80: .line 133
goto 145
StackMap locals:
StackMap stack:
81: aload 4 /* query */
ldc "/newInstances/"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 86
82: .line 134
new com.sun.tools.hat.internal.server.InstancesQuery
dup
iconst_0
iconst_1
invokespecial com.sun.tools.hat.internal.server.InstancesQuery.<init>:(ZZ)V
astore 5 /* handler */
83: .line 135
aload 5 /* handler */
ldc "../"
invokevirtual com.sun.tools.hat.internal.server.QueryHandler.setUrlStart:(Ljava/lang/String;)V
84: .line 136
aload 5 /* handler */
aload 4 /* query */
bipush 14
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokevirtual com.sun.tools.hat.internal.server.QueryHandler.setQuery:(Ljava/lang/String;)V
85: .line 137
goto 145
StackMap locals:
StackMap stack:
86: aload 4 /* query */
ldc "/allInstances/"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 91
87: .line 138
new com.sun.tools.hat.internal.server.InstancesQuery
dup
iconst_1
invokespecial com.sun.tools.hat.internal.server.InstancesQuery.<init>:(Z)V
astore 5 /* handler */
88: .line 139
aload 5 /* handler */
ldc "../"
invokevirtual com.sun.tools.hat.internal.server.QueryHandler.setUrlStart:(Ljava/lang/String;)V
89: .line 140
aload 5 /* handler */
aload 4 /* query */
bipush 14
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokevirtual com.sun.tools.hat.internal.server.QueryHandler.setQuery:(Ljava/lang/String;)V
90: .line 141
goto 145
StackMap locals:
StackMap stack:
91: aload 4 /* query */
ldc "/allNewInstances/"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 96
92: .line 142
new com.sun.tools.hat.internal.server.InstancesQuery
dup
iconst_1
iconst_1
invokespecial com.sun.tools.hat.internal.server.InstancesQuery.<init>:(ZZ)V
astore 5 /* handler */
93: .line 143
aload 5 /* handler */
ldc "../"
invokevirtual com.sun.tools.hat.internal.server.QueryHandler.setUrlStart:(Ljava/lang/String;)V
94: .line 144
aload 5 /* handler */
aload 4 /* query */
bipush 17
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokevirtual com.sun.tools.hat.internal.server.QueryHandler.setQuery:(Ljava/lang/String;)V
95: .line 145
goto 145
StackMap locals:
StackMap stack:
96: aload 4 /* query */
ldc "/object/"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 101
97: .line 146
new com.sun.tools.hat.internal.server.ObjectQuery
dup
invokespecial com.sun.tools.hat.internal.server.ObjectQuery.<init>:()V
astore 5 /* handler */
98: .line 147
aload 5 /* handler */
ldc "../"
invokevirtual com.sun.tools.hat.internal.server.QueryHandler.setUrlStart:(Ljava/lang/String;)V
99: .line 148
aload 5 /* handler */
aload 4 /* query */
bipush 8
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokevirtual com.sun.tools.hat.internal.server.QueryHandler.setQuery:(Ljava/lang/String;)V
100: .line 149
goto 145
StackMap locals:
StackMap stack:
101: aload 4 /* query */
ldc "/class/"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 106
102: .line 150
new com.sun.tools.hat.internal.server.ClassQuery
dup
invokespecial com.sun.tools.hat.internal.server.ClassQuery.<init>:()V
astore 5 /* handler */
103: .line 151
aload 5 /* handler */
ldc "../"
invokevirtual com.sun.tools.hat.internal.server.QueryHandler.setUrlStart:(Ljava/lang/String;)V
104: .line 152
aload 5 /* handler */
aload 4 /* query */
bipush 7
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokevirtual com.sun.tools.hat.internal.server.QueryHandler.setQuery:(Ljava/lang/String;)V
105: .line 153
goto 145
StackMap locals:
StackMap stack:
106: aload 4 /* query */
ldc "/roots/"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 111
107: .line 154
new com.sun.tools.hat.internal.server.RootsQuery
dup
iconst_0
invokespecial com.sun.tools.hat.internal.server.RootsQuery.<init>:(Z)V
astore 5 /* handler */
108: .line 155
aload 5 /* handler */
ldc "../"
invokevirtual com.sun.tools.hat.internal.server.QueryHandler.setUrlStart:(Ljava/lang/String;)V
109: .line 156
aload 5 /* handler */
aload 4 /* query */
bipush 7
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokevirtual com.sun.tools.hat.internal.server.QueryHandler.setQuery:(Ljava/lang/String;)V
110: .line 157
goto 145
StackMap locals:
StackMap stack:
111: aload 4 /* query */
ldc "/allRoots/"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 116
112: .line 158
new com.sun.tools.hat.internal.server.RootsQuery
dup
iconst_1
invokespecial com.sun.tools.hat.internal.server.RootsQuery.<init>:(Z)V
astore 5 /* handler */
113: .line 159
aload 5 /* handler */
ldc "../"
invokevirtual com.sun.tools.hat.internal.server.QueryHandler.setUrlStart:(Ljava/lang/String;)V
114: .line 160
aload 5 /* handler */
aload 4 /* query */
bipush 10
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokevirtual com.sun.tools.hat.internal.server.QueryHandler.setQuery:(Ljava/lang/String;)V
115: .line 161
goto 145
StackMap locals:
StackMap stack:
116: aload 4 /* query */
ldc "/reachableFrom/"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 121
117: .line 162
new com.sun.tools.hat.internal.server.ReachableQuery
dup
invokespecial com.sun.tools.hat.internal.server.ReachableQuery.<init>:()V
astore 5 /* handler */
118: .line 163
aload 5 /* handler */
ldc "../"
invokevirtual com.sun.tools.hat.internal.server.QueryHandler.setUrlStart:(Ljava/lang/String;)V
119: .line 164
aload 5 /* handler */
aload 4 /* query */
bipush 15
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokevirtual com.sun.tools.hat.internal.server.QueryHandler.setQuery:(Ljava/lang/String;)V
120: .line 165
goto 145
StackMap locals:
StackMap stack:
121: aload 4 /* query */
ldc "/rootStack/"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 126
122: .line 166
new com.sun.tools.hat.internal.server.RootStackQuery
dup
invokespecial com.sun.tools.hat.internal.server.RootStackQuery.<init>:()V
astore 5 /* handler */
123: .line 167
aload 5 /* handler */
ldc "../"
invokevirtual com.sun.tools.hat.internal.server.QueryHandler.setUrlStart:(Ljava/lang/String;)V
124: .line 168
aload 5 /* handler */
aload 4 /* query */
bipush 11
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokevirtual com.sun.tools.hat.internal.server.QueryHandler.setQuery:(Ljava/lang/String;)V
125: .line 169
goto 145
StackMap locals:
StackMap stack:
126: aload 4 /* query */
ldc "/histo/"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 131
127: .line 170
new com.sun.tools.hat.internal.server.HistogramQuery
dup
invokespecial com.sun.tools.hat.internal.server.HistogramQuery.<init>:()V
astore 5 /* handler */
128: .line 171
aload 5 /* handler */
ldc "../"
invokevirtual com.sun.tools.hat.internal.server.QueryHandler.setUrlStart:(Ljava/lang/String;)V
129: .line 172
aload 5 /* handler */
aload 4 /* query */
bipush 7
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokevirtual com.sun.tools.hat.internal.server.QueryHandler.setQuery:(Ljava/lang/String;)V
130: .line 173
goto 145
StackMap locals:
StackMap stack:
131: aload 4 /* query */
ldc "/refsByType/"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 136
132: .line 174
new com.sun.tools.hat.internal.server.RefsByTypeQuery
dup
invokespecial com.sun.tools.hat.internal.server.RefsByTypeQuery.<init>:()V
astore 5 /* handler */
133: .line 175
aload 5 /* handler */
ldc "../"
invokevirtual com.sun.tools.hat.internal.server.QueryHandler.setUrlStart:(Ljava/lang/String;)V
134: .line 176
aload 5 /* handler */
aload 4 /* query */
bipush 12
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokevirtual com.sun.tools.hat.internal.server.QueryHandler.setQuery:(Ljava/lang/String;)V
135: .line 177
goto 145
StackMap locals:
StackMap stack:
136: aload 4 /* query */
ldc "/finalizerSummary/"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 141
137: .line 178
new com.sun.tools.hat.internal.server.FinalizerSummaryQuery
dup
invokespecial com.sun.tools.hat.internal.server.FinalizerSummaryQuery.<init>:()V
astore 5 /* handler */
138: .line 179
aload 5 /* handler */
ldc "../"
invokevirtual com.sun.tools.hat.internal.server.QueryHandler.setUrlStart:(Ljava/lang/String;)V
139: .line 180
aload 5 /* handler */
ldc ""
invokevirtual com.sun.tools.hat.internal.server.QueryHandler.setQuery:(Ljava/lang/String;)V
140: .line 181
goto 145
StackMap locals:
StackMap stack:
141: aload 4 /* query */
ldc "/finalizerObjects/"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 145
142: .line 182
new com.sun.tools.hat.internal.server.FinalizerObjectsQuery
dup
invokespecial com.sun.tools.hat.internal.server.FinalizerObjectsQuery.<init>:()V
astore 5 /* handler */
143: .line 183
aload 5 /* handler */
ldc "../"
invokevirtual com.sun.tools.hat.internal.server.QueryHandler.setUrlStart:(Ljava/lang/String;)V
144: .line 184
aload 5 /* handler */
ldc ""
invokevirtual com.sun.tools.hat.internal.server.QueryHandler.setQuery:(Ljava/lang/String;)V
145: .line 187
StackMap locals:
StackMap stack:
aload 5 /* handler */
ifnull 150
146: .line 188
aload 5 /* handler */
aload 0 /* this */
getfield com.sun.tools.hat.internal.server.HttpReader.out:Ljava/io/PrintWriter;
invokevirtual com.sun.tools.hat.internal.server.QueryHandler.setOutput:(Ljava/io/PrintWriter;)V
147: .line 189
aload 5 /* handler */
aload 0 /* this */
getfield com.sun.tools.hat.internal.server.HttpReader.snapshot:Lcom/sun/tools/hat/internal/model/Snapshot;
invokevirtual com.sun.tools.hat.internal.server.QueryHandler.setSnapshot:(Lcom/sun/tools/hat/internal/model/Snapshot;)V
148: .line 190
aload 5 /* handler */
invokevirtual com.sun.tools.hat.internal.server.QueryHandler.run:()V
149: .line 191
goto 174
150: .line 192
StackMap locals:
StackMap stack:
aload 0 /* this */
new java.lang.StringBuilder
dup
ldc "Query '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4 /* query */
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "' not implemented"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.sun.tools.hat.internal.server.HttpReader.outputError:(Ljava/lang/String;)V
end local 5 // com.sun.tools.hat.internal.server.QueryHandler handler
end local 4 // java.lang.String query
end local 3 // java.lang.StringBuilder queryBuf
end local 2 // int data
151: .line 194
goto 174
StackMap locals: com.sun.tools.hat.internal.server.HttpReader java.io.InputStream
StackMap stack: java.io.IOException
152: astore 2 /* ex */
start local 2 // java.io.IOException ex
153: .line 195
aload 2 /* ex */
invokevirtual java.io.IOException.printStackTrace:()V
end local 2 // java.io.IOException ex
154: .line 197
aload 0 /* this */
getfield com.sun.tools.hat.internal.server.HttpReader.out:Ljava/io/PrintWriter;
ifnull 156
155: .line 198
aload 0 /* this */
getfield com.sun.tools.hat.internal.server.HttpReader.out:Ljava/io/PrintWriter;
invokevirtual java.io.PrintWriter.close:()V
156: .line 201
StackMap locals:
StackMap stack:
aload 1 /* in */
ifnull 160
157: .line 202
aload 1 /* in */
invokevirtual java.io.InputStream.close:()V
158: .line 204
goto 160
StackMap locals:
StackMap stack: java.io.IOException
159: pop
160: .line 207
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield com.sun.tools.hat.internal.server.HttpReader.socket:Ljava/net/Socket;
invokevirtual java.net.Socket.close:()V
161: .line 208
goto 183
StackMap locals:
StackMap stack: java.io.IOException
162: pop
goto 183
163: .line 196
StackMap locals:
StackMap stack: java.lang.Throwable
astore 6
164: .line 197
aload 0 /* this */
getfield com.sun.tools.hat.internal.server.HttpReader.out:Ljava/io/PrintWriter;
ifnull 166
165: .line 198
aload 0 /* this */
getfield com.sun.tools.hat.internal.server.HttpReader.out:Ljava/io/PrintWriter;
invokevirtual java.io.PrintWriter.close:()V
166: .line 201
StackMap locals: com.sun.tools.hat.internal.server.HttpReader java.io.InputStream top top top top java.lang.Throwable
StackMap stack:
aload 1 /* in */
ifnull 170
167: .line 202
aload 1 /* in */
invokevirtual java.io.InputStream.close:()V
168: .line 204
goto 170
StackMap locals:
StackMap stack: java.io.IOException
169: pop
170: .line 207
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield com.sun.tools.hat.internal.server.HttpReader.socket:Ljava/net/Socket;
invokevirtual java.net.Socket.close:()V
171: .line 208
goto 173
StackMap locals:
StackMap stack: java.io.IOException
172: pop
173: .line 210
StackMap locals:
StackMap stack:
aload 6
athrow
174: .line 197
StackMap locals: com.sun.tools.hat.internal.server.HttpReader java.io.InputStream
StackMap stack:
aload 0 /* this */
getfield com.sun.tools.hat.internal.server.HttpReader.out:Ljava/io/PrintWriter;
ifnull 176
175: .line 198
aload 0 /* this */
getfield com.sun.tools.hat.internal.server.HttpReader.out:Ljava/io/PrintWriter;
invokevirtual java.io.PrintWriter.close:()V
176: .line 201
StackMap locals:
StackMap stack:
aload 1 /* in */
ifnull 180
177: .line 202
aload 1 /* in */
invokevirtual java.io.InputStream.close:()V
178: .line 204
goto 180
StackMap locals:
StackMap stack: java.io.IOException
179: pop
180: .line 207
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield com.sun.tools.hat.internal.server.HttpReader.socket:Ljava/net/Socket;
invokevirtual java.net.Socket.close:()V
181: .line 208
goto 183
StackMap locals:
StackMap stack: java.io.IOException
182: pop
183: .line 211
StackMap locals:
StackMap stack:
return
end local 1 // java.io.InputStream in
end local 0 // com.sun.tools.hat.internal.server.HttpReader this
LocalVariableTable:
Start End Slot Name Signature
0 184 0 this Lcom/sun/tools/hat/internal/server/HttpReader;
1 184 1 in Ljava/io/InputStream;
16 18 2 data I
19 151 2 data I
15 151 3 queryBuf Ljava/lang/StringBuilder;
17 18 4 ch C
21 151 4 query Ljava/lang/String;
23 151 5 handler Lcom/sun/tools/hat/internal/server/QueryHandler;
153 154 2 ex Ljava/io/IOException;
Exception table:
from to target type
27 29 30 Class java.io.IOException
31 32 33 Class java.io.IOException
1 25 152 Class java.io.IOException
35 151 152 Class java.io.IOException
156 158 159 Class java.io.IOException
160 161 162 Class java.io.IOException
1 25 163 any
35 154 163 any
166 168 169 Class java.io.IOException
170 171 172 Class java.io.IOException
176 178 179 Class java.io.IOException
180 181 182 Class java.io.IOException
private void outputError(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 // com.sun.tools.hat.internal.server.HttpReader this
start local 1 // java.lang.String msg
0: .line 214
aload 0 /* this */
getfield com.sun.tools.hat.internal.server.HttpReader.out:Ljava/io/PrintWriter;
invokevirtual java.io.PrintWriter.println:()V
1: .line 215
aload 0 /* this */
getfield com.sun.tools.hat.internal.server.HttpReader.out:Ljava/io/PrintWriter;
ldc "<html><body bgcolor=\"#ffffff\">"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
2: .line 216
aload 0 /* this */
getfield com.sun.tools.hat.internal.server.HttpReader.out:Ljava/io/PrintWriter;
aload 1 /* msg */
invokestatic com.sun.tools.hat.internal.util.Misc.encodeHtml:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
3: .line 217
aload 0 /* this */
getfield com.sun.tools.hat.internal.server.HttpReader.out:Ljava/io/PrintWriter;
ldc "</body></html>"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
4: .line 218
return
end local 1 // java.lang.String msg
end local 0 // com.sun.tools.hat.internal.server.HttpReader this
LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/tools/hat/internal/server/HttpReader;
0 5 1 msg Ljava/lang/String;
MethodParameters:
Name Flags
msg
}
SourceFile: "HttpReader.java"