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