105 |
105 |
106 public int length() { |
106 public int length() { |
107 return 1; |
107 return 1; |
108 } |
108 } |
109 |
109 |
|
110 public abstract int getOffsetDelta(); |
|
111 |
110 public abstract <R,D> R accept(Visitor<R,D> visitor, D data); |
112 public abstract <R,D> R accept(Visitor<R,D> visitor, D data); |
111 |
113 |
112 public final int frame_type; |
114 public final int frame_type; |
113 |
115 |
114 public static interface Visitor<R,P> { |
116 public static interface Visitor<R,P> { |
128 } |
130 } |
129 |
131 |
130 public <R, D> R accept(Visitor<R, D> visitor, D data) { |
132 public <R, D> R accept(Visitor<R, D> visitor, D data) { |
131 return visitor.visit_same_frame(this, data); |
133 return visitor.visit_same_frame(this, data); |
132 } |
134 } |
|
135 |
|
136 public int getOffsetDelta() { |
|
137 return frame_type; |
|
138 } |
133 } |
139 } |
134 |
140 |
135 public static class same_locals_1_stack_item_frame extends stack_map_frame { |
141 public static class same_locals_1_stack_item_frame extends stack_map_frame { |
136 same_locals_1_stack_item_frame(int frame_type, ClassReader cr) |
142 same_locals_1_stack_item_frame(int frame_type, ClassReader cr) |
137 throws IOException, InvalidStackMap { |
143 throws IOException, InvalidStackMap { |
147 |
153 |
148 public <R, D> R accept(Visitor<R, D> visitor, D data) { |
154 public <R, D> R accept(Visitor<R, D> visitor, D data) { |
149 return visitor.visit_same_locals_1_stack_item_frame(this, data); |
155 return visitor.visit_same_locals_1_stack_item_frame(this, data); |
150 } |
156 } |
151 |
157 |
|
158 public int getOffsetDelta() { |
|
159 return frame_type - 64; |
|
160 } |
|
161 |
152 public final verification_type_info[] stack; |
162 public final verification_type_info[] stack; |
153 } |
163 } |
154 |
164 |
155 public static class same_locals_1_stack_item_frame_extended extends stack_map_frame { |
165 public static class same_locals_1_stack_item_frame_extended extends stack_map_frame { |
156 same_locals_1_stack_item_frame_extended(int frame_type, ClassReader cr) |
166 same_locals_1_stack_item_frame_extended(int frame_type, ClassReader cr) |
168 |
178 |
169 public <R, D> R accept(Visitor<R, D> visitor, D data) { |
179 public <R, D> R accept(Visitor<R, D> visitor, D data) { |
170 return visitor.visit_same_locals_1_stack_item_frame_extended(this, data); |
180 return visitor.visit_same_locals_1_stack_item_frame_extended(this, data); |
171 } |
181 } |
172 |
182 |
|
183 public int getOffsetDelta() { |
|
184 return offset_delta; |
|
185 } |
|
186 |
173 public final int offset_delta; |
187 public final int offset_delta; |
174 public final verification_type_info[] stack; |
188 public final verification_type_info[] stack; |
175 } |
189 } |
176 |
190 |
177 public static class chop_frame extends stack_map_frame { |
191 public static class chop_frame extends stack_map_frame { |
187 |
201 |
188 public <R, D> R accept(Visitor<R, D> visitor, D data) { |
202 public <R, D> R accept(Visitor<R, D> visitor, D data) { |
189 return visitor.visit_chop_frame(this, data); |
203 return visitor.visit_chop_frame(this, data); |
190 } |
204 } |
191 |
205 |
|
206 public int getOffsetDelta() { |
|
207 return offset_delta; |
|
208 } |
|
209 |
192 public final int offset_delta; |
210 public final int offset_delta; |
193 } |
211 } |
194 |
212 |
195 public static class same_frame_extended extends stack_map_frame { |
213 public static class same_frame_extended extends stack_map_frame { |
196 same_frame_extended(int frame_type, ClassReader cr) throws IOException { |
214 same_frame_extended(int frame_type, ClassReader cr) throws IOException { |
203 return super.length() + 2; |
221 return super.length() + 2; |
204 } |
222 } |
205 |
223 |
206 public <R, D> R accept(Visitor<R, D> visitor, D data) { |
224 public <R, D> R accept(Visitor<R, D> visitor, D data) { |
207 return visitor.visit_same_frame_extended(this, data); |
225 return visitor.visit_same_frame_extended(this, data); |
|
226 } |
|
227 |
|
228 public int getOffsetDelta() { |
|
229 return offset_delta; |
208 } |
230 } |
209 |
231 |
210 public final int offset_delta; |
232 public final int offset_delta; |
211 } |
233 } |
212 |
234 |
228 return n; |
250 return n; |
229 } |
251 } |
230 |
252 |
231 public <R, D> R accept(Visitor<R, D> visitor, D data) { |
253 public <R, D> R accept(Visitor<R, D> visitor, D data) { |
232 return visitor.visit_append_frame(this, data); |
254 return visitor.visit_append_frame(this, data); |
|
255 } |
|
256 |
|
257 public int getOffsetDelta() { |
|
258 return offset_delta; |
233 } |
259 } |
234 |
260 |
235 public final int offset_delta; |
261 public final int offset_delta; |
236 public final verification_type_info[] locals; |
262 public final verification_type_info[] locals; |
237 } |
263 } |
262 return n; |
288 return n; |
263 } |
289 } |
264 |
290 |
265 public <R, D> R accept(Visitor<R, D> visitor, D data) { |
291 public <R, D> R accept(Visitor<R, D> visitor, D data) { |
266 return visitor.visit_full_frame(this, data); |
292 return visitor.visit_full_frame(this, data); |
|
293 } |
|
294 |
|
295 public int getOffsetDelta() { |
|
296 return offset_delta; |
267 } |
297 } |
268 |
298 |
269 public final int offset_delta; |
299 public final int offset_delta; |
270 public final int number_of_locals; |
300 public final int number_of_locals; |
271 public final verification_type_info[] locals; |
301 public final verification_type_info[] locals; |