1 #ifndef __MONO_DEBUG_HELPERS_H__
2 #define __MONO_DEBUG_HELPERS_H__
5 #include <mono/metadata/class.h>
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
{
16 const char *label_format
;
17 const char *label_target
;
18 MonoDisIndenter indenter
;
19 MonoDisTokener tokener
;
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
);
49 #endif /* __MONO_DEBUG_HELPERS_H__ */