2010-03-12 Rodrigo Kumpera <rkumpera@novell.com>
[mono.git] / mono / metadata / debug-helpers.h
blob8743dced04a955f59866fbd3b0065111a168e46c
1 #ifndef __MONO_DEBUG_HELPERS_H__
2 #define __MONO_DEBUG_HELPERS_H__
4 #include <mono/metadata/class.h>
6 MONO_BEGIN_DECLS
8 typedef struct MonoDisHelper MonoDisHelper;
10 typedef char* (*MonoDisIndenter) (MonoDisHelper *dh, MonoMethod *method, uint32_t ip_offset);
11 typedef char* (*MonoDisTokener) (MonoDisHelper *dh, MonoMethod *method, uint32_t token);
13 struct MonoDisHelper {
14 const char *newline;
15 const char *label_format;
16 const char *label_target;
17 MonoDisIndenter indenter;
18 MonoDisTokener tokener;
19 void* user_data;
22 char* mono_disasm_code_one (MonoDisHelper *dh, MonoMethod *method, const mono_byte *ip, const mono_byte** endp);
23 char* mono_disasm_code (MonoDisHelper *dh, MonoMethod *method, const mono_byte *ip, const mono_byte* end);
25 typedef struct MonoMethodDesc MonoMethodDesc;
27 char* mono_type_full_name (MonoType *type);
29 char* mono_signature_get_desc (MonoMethodSignature *sig, mono_bool include_namespace);
31 char* mono_context_get_desc (MonoGenericContext *context);
33 MonoMethodDesc* mono_method_desc_new (const char *name, mono_bool include_namespace);
34 MonoMethodDesc* mono_method_desc_from_method (MonoMethod *method);
35 void mono_method_desc_free (MonoMethodDesc *desc);
36 mono_bool mono_method_desc_match (MonoMethodDesc *desc, MonoMethod *method);
37 mono_bool mono_method_desc_full_match (MonoMethodDesc *desc, MonoMethod *method);
38 MonoMethod* mono_method_desc_search_in_class (MonoMethodDesc *desc, MonoClass *klass);
39 MonoMethod* mono_method_desc_search_in_image (MonoMethodDesc *desc, MonoImage *image);
41 char* mono_method_full_name (MonoMethod *method, mono_bool signature);
43 char* mono_field_full_name (MonoClassField *field);
45 MONO_END_DECLS
47 #endif /* __MONO_DEBUG_HELPERS_H__ */