376 // Return status modes |
376 // Return status modes |
377 Symbol* result() const { return _exception_type; } |
377 Symbol* result() const { return _exception_type; } |
378 bool has_error() const { return result() != NULL; } |
378 bool has_error() const { return result() != NULL; } |
379 char* exception_message() { |
379 char* exception_message() { |
380 stringStream ss; |
380 stringStream ss; |
381 ss.print(_message); |
381 ss.print("%s", _message); |
382 _error_context.details(&ss, _method()); |
382 _error_context.details(&ss, _method()); |
383 return ss.as_string(); |
383 return ss.as_string(); |
384 } |
384 } |
385 |
385 |
386 // Called when verify or class format errors are encountered. |
386 // Called when verify or class format errors are encountered. |
387 // May throw an exception based upon the mode. |
387 // May throw an exception based upon the mode. |
388 void verify_error(ErrorContext ctx, const char* fmt, ...); |
388 void verify_error(ErrorContext ctx, const char* fmt, ...) ATTRIBUTE_PRINTF(3, 4); |
389 void class_format_error(const char* fmt, ...); |
389 void class_format_error(const char* fmt, ...) ATTRIBUTE_PRINTF(2, 3); |
390 |
390 |
391 Klass* load_class(Symbol* name, TRAPS); |
391 Klass* load_class(Symbol* name, TRAPS); |
392 |
392 |
393 int change_sig_to_verificationType( |
393 int change_sig_to_verificationType( |
394 SignatureStream* sig_type, VerificationType* inference_type, TRAPS); |
394 SignatureStream* sig_type, VerificationType* inference_type, TRAPS); |