2009-02-09 Geoff Norton <gnorton@novell.com>
[mono-project.git] / mono / dis / get.h
blob62496bec1bbb310a2e616978b96b0b2be86c10fe
2 /*
3 * These return allocated strings
4 */
5 char *get_typedef (MonoImage *m, int idx);
6 char *get_module (MonoImage *m, int idx);
7 char *get_moduleref (MonoImage *m, int idx);
8 char *get_assemblyref (MonoImage *m, int idx);
9 char *get_typeref (MonoImage *m, int idx);
10 char *get_typedef_or_ref (MonoImage *m, guint32 dor_token, MonoGenericContainer *container);
11 char *dis_stringify_object_with_class (MonoImage *m, MonoClass *c, gboolean p, gboolean d);
12 char *get_type_or_methdef (MonoImage *m, guint32 dor_token);
13 char *get_field_signature (MonoImage *m, guint32 blob_signature, MonoGenericContainer *container);
14 char *get_fieldref_signature (MonoImage *m, int idx, MonoGenericContainer *container);
15 char *decode_literal (MonoImage *m, guint32 token);
16 char *get_field (MonoImage *m, guint32 token, MonoGenericContainer *container);
17 char *param_flags (guint32 f);
18 char *field_flags (guint32 f);
19 char *get_methodref_signature (MonoImage *m, guint32 blob_signature, const char *fancy);
20 char *get_methodspec (MonoImage *m, int idx, guint32 token, const char *fancy,
21 MonoGenericContainer *container);
22 char *get_constant (MonoImage *m, MonoTypeEnum t, guint32 blob_index);
23 char *get_encoded_user_string_or_bytearray (const unsigned char *ptr, int len);
24 char *get_token (MonoImage *m, guint32 token, MonoGenericContainer *container);
25 char *get_token_type (MonoImage *m, guint32 token, MonoGenericContainer *container);
26 char *get_typespec (MonoImage *m, guint32 blob_idx, gboolean is_def, MonoGenericContainer *container);
27 char *get_methoddef (MonoImage *m, guint32 idx);
28 char *get_method (MonoImage *m, guint32 token, MonoGenericContainer *container);
29 char *get_method_type_param (MonoImage *m, guint32 blob_signature, MonoGenericContainer *container);
30 char *get_guid (MonoImage *m, guint32 guid_index);
31 char *get_marshal_info (MonoImage *m, const char *blob);
32 char *get_generic_param (MonoImage *m, MonoGenericContainer *container);
33 char *get_escaped_name (const char *name);
34 char *get_method_override (MonoImage *m, guint32 token, MonoGenericContainer *container);
36 GList *dis_get_custom_attrs (MonoImage *m, guint32 token);
38 char *dis_stringify_type (MonoImage *m, MonoType *type, gboolean is_def);
39 char *dis_stringify_token (MonoImage *m, guint32 token);
40 char *dis_stringify_array (MonoImage *m, MonoArrayType *array, gboolean is_def);
41 char *dis_stringify_modifiers (MonoImage *m, int n, MonoCustomMod *mod);
42 char *dis_stringify_param (MonoImage *m, MonoType *param);
43 char *dis_stringify_method_signature_full (MonoImage *m, MonoMethodSignature *method, int methoddef_row,
44 MonoGenericContainer *container, gboolean fully_qualified, gboolean with_marshal_info);
45 char *dis_stringify_method_signature (MonoImage *m, MonoMethodSignature *method, int methoddef_row,
46 MonoGenericContainer *container, gboolean fully_qualified);
47 char *dis_stringify_function_ptr (MonoImage *m, MonoMethodSignature *method);
48 char *dis_stringify_marshal_spec (MonoMarshalSpec *spec);
50 guint32 method_dor_to_token (guint32 idx);
53 * These functions are used during the decoding of streams in the
54 * metadata heaps (a simple parsing).
56 * They return the `next' location to continue parsing from (ptr is
57 * the starting location).
59 * Results are returning in the pointer argument.
61 const char *get_encoded_typedef_or_ref (MonoImage *m, const char *ptr,
62 char **result);
63 const char *get_encoded_value (const char *_ptr,
64 guint32 *len);
65 const char *get_custom_mod (MonoImage *m, const char *ptr,
66 char **return_value);
67 const char *get_type (MonoImage *m, const char *ptr,
68 char **result, gboolean is_def, MonoGenericContainer *container);
69 const char *get_ret_type (MonoImage *m, const char *ptr,
70 char **ret_type, MonoGenericContainer *container);
71 const char *get_param (MonoImage *m, const char *ptr,
72 char **retval, MonoGenericContainer *container);
73 const char *get_blob_encoded_size (const char *ptr, int *size);
75 MonoTypeEnum get_field_literal_type (MonoImage *m, guint32 blob_signature);
77 char *stringify_double (double r);
79 /**
80 * This is called to initialize the table containing keyword names
82 void init_key_table (void);
84 extern gboolean show_method_tokens;
85 extern gboolean show_tokens;