This commit was manufactured by cvs2svn to create branch 'mono-1-0'.
[mono.git] / mono / metadata / debug-helpers.h
1 #ifndef __MONO_DEBUG_HELPERS_H__
2 #define __MONO_DEBUG_HELPERS_H__
3
4 #include <glib.h>
5 #include <mono/metadata/class.h>
6
7 typedef struct MonoDisHelper MonoDisHelper;
8
9 typedef char* (*MonoDisIndenter) (MonoDisHelper *dh, MonoMethod *method, guint32 ip_offset);
10 typedef char* (*MonoDisTokener)  (MonoDisHelper *dh, MonoMethod *method, guint32 token);
11
12 struct MonoDisHelper {
13         const char *newline;
14         const char *label_format;
15         const char *label_target;
16         MonoDisIndenter indenter;
17         MonoDisTokener  tokener;
18         gpointer user_data;
19 };
20
21 char* mono_disasm_code_one (MonoDisHelper *dh, MonoMethod *method, const guchar *ip, const guchar** endp);
22 char* mono_disasm_code     (MonoDisHelper *dh, MonoMethod *method, const guchar *ip, const guchar* end);
23
24 typedef struct MonoMethodDesc MonoMethodDesc;
25
26 void            mono_type_get_desc (GString *res, MonoType *type, gboolean include_namespace);
27 char*           mono_type_full_name (MonoType *type);
28
29 char*           mono_signature_get_desc (MonoMethodSignature *sig, gboolean include_namespace);
30
31 MonoMethodDesc* mono_method_desc_new (const char *name, gboolean include_namespace);
32 MonoMethodDesc*mono_method_desc_from_method (MonoMethod *method);
33 void            mono_method_desc_free (MonoMethodDesc *desc);
34 gboolean        mono_method_desc_match (MonoMethodDesc *desc, MonoMethod *method);
35 gboolean        mono_method_desc_full_match (MonoMethodDesc *desc, MonoMethod *method);
36 MonoMethod*     mono_method_desc_search_in_class (MonoMethodDesc *desc, MonoClass *klass);
37 MonoMethod*     mono_method_desc_search_in_image (MonoMethodDesc *desc, MonoImage *image);
38
39 char*           mono_method_full_name (MonoMethod *method, gboolean signature);
40
41 #endif /* __MONO_DEBUG_HELPERS_H__ */
42