[runtime] Rename most System.Reflection.MonoX classes to RuntimeX for consistency...
[mono-project.git] / mono / metadata / debug-helpers.h
blob8ecdf8edc589f613fd149c3d55a804794429f8f5
1 /**
2 * \file
3 */
5 #ifndef __MONO_DEBUG_HELPERS_H__
6 #define __MONO_DEBUG_HELPERS_H__
8 #include <mono/metadata/class.h>
10 MONO_BEGIN_DECLS
12 typedef struct MonoDisHelper MonoDisHelper;
14 typedef char* (*MonoDisIndenter) (MonoDisHelper *dh, MonoMethod *method, uint32_t ip_offset);
15 typedef char* (*MonoDisTokener) (MonoDisHelper *dh, MonoMethod *method, uint32_t token);
17 struct MonoDisHelper {
18 const char *newline;
19 const char *label_format;
20 const char *label_target;
21 MonoDisIndenter indenter;
22 MonoDisTokener tokener;
23 void* user_data;
26 MONO_API char* mono_disasm_code_one (MonoDisHelper *dh, MonoMethod *method, const mono_byte *ip, const mono_byte** endp);
27 MONO_API char* mono_disasm_code (MonoDisHelper *dh, MonoMethod *method, const mono_byte *ip, const mono_byte* end);
29 typedef struct MonoMethodDesc MonoMethodDesc;
31 MONO_API char* mono_type_full_name (MonoType *type);
33 MONO_API char* mono_signature_get_desc (MonoMethodSignature *sig, mono_bool include_namespace);
35 MONO_API char* mono_context_get_desc (MonoGenericContext *context);
37 MONO_API MonoMethodDesc* mono_method_desc_new (const char *name, mono_bool include_namespace);
38 MONO_API MonoMethodDesc* mono_method_desc_from_method (MonoMethod *method);
39 MONO_API void mono_method_desc_free (MonoMethodDesc *desc);
40 MONO_API mono_bool mono_method_desc_match (MonoMethodDesc *desc, MonoMethod *method);
41 MONO_API mono_bool mono_method_desc_is_full (MonoMethodDesc *desc);
42 MONO_API mono_bool mono_method_desc_full_match (MonoMethodDesc *desc, MonoMethod *method);
43 MONO_API MonoMethod* mono_method_desc_search_in_class (MonoMethodDesc *desc, MonoClass *klass);
44 MONO_API MonoMethod* mono_method_desc_search_in_image (MonoMethodDesc *desc, MonoImage *image);
46 MONO_API char* mono_method_full_name (MonoMethod *method, mono_bool signature);
47 MONO_API char* mono_method_get_reflection_name (MonoMethod *method);
49 MONO_API char* mono_field_full_name (MonoClassField *field);
51 MONO_END_DECLS
53 #endif /* __MONO_DEBUG_HELPERS_H__ */