1
#ifndef __MONO_DEBUG_HELPERS_H__
2
#define __MONO_DEBUG_HELPERS_H__
5
#include <mono/metadata/class.h>
7
typedef struct MonoDisHelper MonoDisHelper;
9
typedef char* (*MonoDisIndenter) (MonoDisHelper *dh, MonoMethod *method, guint32 ip_offset);
10
typedef char* (*MonoDisTokener) (MonoDisHelper *dh, MonoMethod *method, guint32 token);
12
struct MonoDisHelper {
14
const char *label_format;
15
const char *label_target;
16
MonoDisIndenter indenter;
17
MonoDisTokener tokener;
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);
24
typedef struct MonoMethodDesc MonoMethodDesc;
26
void mono_type_get_desc (GString *res, MonoType *type, gboolean include_namespace);
27
char* mono_type_full_name (MonoType *type);
29
char* mono_signature_get_desc (MonoMethodSignature *sig, gboolean include_namespace);
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);
39
char* mono_method_full_name (MonoMethod *method, gboolean signature);
41
#endif /* __MONO_DEBUG_HELPERS_H__ */