2009-03-11 Zoltan Varga <vargaz@gmail.com>
[mono-debugger.git] / mono / metadata / debug-helpers.h
blob6e1d61da40438a058b997a30dc15c1b10268ff51
1 #ifndef __MONO_DEBUG_HELPERS_H__
2 #define __MONO_DEBUG_HELPERS_H__
4 #include <glib.h>
5 #include <mono/metadata/class.h>
7 G_BEGIN_DECLS
9 typedef struct MonoDisHelper MonoDisHelper;
11 typedef char* (*MonoDisIndenter) (MonoDisHelper *dh, MonoMethod *method, guint32 ip_offset);
12 typedef char* (*MonoDisTokener) (MonoDisHelper *dh, MonoMethod *method, guint32 token);
14 struct MonoDisHelper {
15 const char *newline;
16 const char *label_format;
17 const char *label_target;
18 MonoDisIndenter indenter;
19 MonoDisTokener tokener;
20 gpointer user_data;
23 char* mono_disasm_code_one (MonoDisHelper *dh, MonoMethod *method, const guchar *ip, const guchar** endp);
24 char* mono_disasm_code (MonoDisHelper *dh, MonoMethod *method, const guchar *ip, const guchar* end);
26 typedef struct MonoMethodDesc MonoMethodDesc;
28 void mono_type_get_desc (GString *res, MonoType *type, gboolean include_namespace);
29 char* mono_type_full_name (MonoType *type);
31 char* mono_signature_get_desc (MonoMethodSignature *sig, gboolean include_namespace);
33 char* mono_context_get_desc (MonoGenericContext *context);
35 MonoMethodDesc* mono_method_desc_new (const char *name, gboolean include_namespace);
36 MonoMethodDesc* mono_method_desc_from_method (MonoMethod *method);
37 void mono_method_desc_free (MonoMethodDesc *desc);
38 gboolean mono_method_desc_match (MonoMethodDesc *desc, MonoMethod *method);
39 gboolean mono_method_desc_full_match (MonoMethodDesc *desc, MonoMethod *method);
40 MonoMethod* mono_method_desc_search_in_class (MonoMethodDesc *desc, MonoClass *klass);
41 MonoMethod* mono_method_desc_search_in_image (MonoMethodDesc *desc, MonoImage *image);
43 char* mono_method_full_name (MonoMethod *method, gboolean signature);
45 char* mono_field_full_name (MonoClassField *field);
47 G_END_DECLS
49 #endif /* __MONO_DEBUG_HELPERS_H__ */