276 if (sizes->generic_signature_index() != 0)
277 *(generic_signature_index_addr()) = sizes->generic_signature_index();
278 // New data should probably go here.
279 if (sizes->method_parameters_length() >= 0)
280 *(method_parameters_length_addr()) = sizes->method_parameters_length();
281 if (sizes->checked_exceptions_length() > 0)
282 *(checked_exceptions_length_addr()) = sizes->checked_exceptions_length();
283 if (sizes->exception_table_length() > 0)
284 *(exception_table_length_addr()) = sizes->exception_table_length();
285 if (sizes->localvariable_table_length() > 0)
286 *(localvariable_table_length_addr()) = sizes->localvariable_table_length();
287 }
288
289 int ConstMethod::method_parameters_length() const {
290 return has_method_parameters() ? *(method_parameters_length_addr()) : -1;
291 }
292
293 MethodParametersElement* ConstMethod::method_parameters_start() const {
294 u2* addr = method_parameters_length_addr();
295 u2 length = *addr;
296 assert(length > 0, "should only be called if table is present");
297 addr -= length * sizeof(MethodParametersElement) / sizeof(u2);
298 return (MethodParametersElement*) addr;
299 }
300
301
302 int ConstMethod::checked_exceptions_length() const {
303 return has_checked_exceptions() ? *(checked_exceptions_length_addr()) : 0;
304 }
305
306
307 CheckedExceptionElement* ConstMethod::checked_exceptions_start() const {
308 u2* addr = checked_exceptions_length_addr();
309 u2 length = *addr;
310 assert(length > 0, "should only be called if table is present");
311 addr -= length * sizeof(CheckedExceptionElement) / sizeof(u2);
312 return (CheckedExceptionElement*) addr;
313 }
314
315
316 int ConstMethod::localvariable_table_length() const {
|
276 if (sizes->generic_signature_index() != 0)
277 *(generic_signature_index_addr()) = sizes->generic_signature_index();
278 // New data should probably go here.
279 if (sizes->method_parameters_length() >= 0)
280 *(method_parameters_length_addr()) = sizes->method_parameters_length();
281 if (sizes->checked_exceptions_length() > 0)
282 *(checked_exceptions_length_addr()) = sizes->checked_exceptions_length();
283 if (sizes->exception_table_length() > 0)
284 *(exception_table_length_addr()) = sizes->exception_table_length();
285 if (sizes->localvariable_table_length() > 0)
286 *(localvariable_table_length_addr()) = sizes->localvariable_table_length();
287 }
288
289 int ConstMethod::method_parameters_length() const {
290 return has_method_parameters() ? *(method_parameters_length_addr()) : -1;
291 }
292
293 MethodParametersElement* ConstMethod::method_parameters_start() const {
294 u2* addr = method_parameters_length_addr();
295 u2 length = *addr;
296 addr -= length * sizeof(MethodParametersElement) / sizeof(u2);
297 return (MethodParametersElement*) addr;
298 }
299
300
301 int ConstMethod::checked_exceptions_length() const {
302 return has_checked_exceptions() ? *(checked_exceptions_length_addr()) : 0;
303 }
304
305
306 CheckedExceptionElement* ConstMethod::checked_exceptions_start() const {
307 u2* addr = checked_exceptions_length_addr();
308 u2 length = *addr;
309 assert(length > 0, "should only be called if table is present");
310 addr -= length * sizeof(CheckedExceptionElement) / sizeof(u2);
311 return (CheckedExceptionElement*) addr;
312 }
313
314
315 int ConstMethod::localvariable_table_length() const {
|