1 /** 2 * \file 3 */ 4 5 #ifndef __MONO_DEBUG_HELPERS_H__ 6 #define __MONO_DEBUG_HELPERS_H__ 7 8 #include <mono/metadata/class.h> 9 10 MONO_BEGIN_DECLS 11 12 typedef struct MonoDisHelper MonoDisHelper; 13 14 typedef char* (*MonoDisIndenter) (MonoDisHelper *dh, MonoMethod *method, uint32_t ip_offset); 15 typedef char* (*MonoDisTokener) (MonoDisHelper *dh, MonoMethod *method, uint32_t token); 16 17 struct MonoDisHelper { 18 const char *newline; 19 const char *label_format; 20 const char *label_target; 21 MonoDisIndenter indenter; 22 MonoDisTokener tokener; 23 void* user_data; 24 }; 25 26 MONO_API char* mono_disasm_code_one (MonoDisHelper *dh, MonoMethod *method, const mono_byte *ip, const mono_byte** endp); 27 MONO_API char* mono_disasm_code (MonoDisHelper *dh, MonoMethod *method, const mono_byte *ip, const mono_byte* end); 28 29 typedef struct MonoMethodDesc MonoMethodDesc; 30 31 MONO_API char* mono_type_full_name (MonoType *type); 32 33 MONO_API char* mono_signature_get_desc (MonoMethodSignature *sig, mono_bool include_namespace); 34 35 MONO_API char* mono_context_get_desc (MonoGenericContext *context); 36 37 MONO_API MonoMethodDesc* mono_method_desc_new (const char *name, mono_bool include_namespace); 38 MONO_API MonoMethodDesc* mono_method_desc_from_method (MonoMethod *method); 39 MONO_API void mono_method_desc_free (MonoMethodDesc *desc); 40 MONO_API mono_bool mono_method_desc_match (MonoMethodDesc *desc, MonoMethod *method); 41 MONO_API mono_bool mono_method_desc_is_full (MonoMethodDesc *desc); 42 MONO_API mono_bool mono_method_desc_full_match (MonoMethodDesc *desc, MonoMethod *method); 43 MONO_API MonoMethod* mono_method_desc_search_in_class (MonoMethodDesc *desc, MonoClass *klass); 44 MONO_API MonoMethod* mono_method_desc_search_in_image (MonoMethodDesc *desc, MonoImage *image); 45 46 MONO_API char* mono_method_full_name (MonoMethod *method, mono_bool signature); 47 MONO_API char* mono_method_get_reflection_name (MonoMethod *method); 48 49 MONO_API char* mono_field_full_name (MonoClassField *field); 50 51 MONO_END_DECLS 52 53 #endif /* __MONO_DEBUG_HELPERS_H__ */ 54 55