Merge pull request #5714 from alexischr/update_bockbuild
[mono.git] / mono / metadata / reflection-internals.h
1 /**
2  * \file
3  * Copyright 2014 Xamarin Inc
4  * Copyright 2016 Microsoft
5  * Licensed under the MIT license. See LICENSE file in the project root for full license information.
6  */
7 #ifndef __MONO_METADATA_REFLECTION_INTERNALS_H__
8 #define __MONO_METADATA_REFLECTION_INTERNALS_H__
9
10 #include <mono/metadata/object-internals.h>
11 #include <mono/metadata/reflection.h>
12 #include <mono/metadata/class-internals.h>
13 #include <mono/utils/mono-compiler.h>
14 #include <mono/utils/mono-error.h>
15
16 gboolean
17 mono_reflection_is_usertype (MonoReflectionTypeHandle ref);
18
19 MonoReflectionType*
20 mono_reflection_type_resolve_user_types (MonoReflectionType *type, MonoError *error);
21
22 MonoType *
23 mono_reflection_type_handle_mono_type (MonoReflectionTypeHandle ref_type, MonoError *error);
24
25 MonoType*
26 mono_reflection_get_type_checked (MonoImage *rootimage, MonoImage* image, MonoTypeNameParse *info, mono_bool ignorecase, mono_bool *type_resolve, MonoError *error);
27
28 MonoType*
29 mono_reflection_type_from_name_checked (char *name, MonoImage *image, MonoError *error);
30
31 guint32
32 mono_reflection_get_token_checked (MonoObjectHandle obj, MonoError *error);
33
34 MonoObject*
35 mono_custom_attrs_get_attr_checked (MonoCustomAttrInfo *ainfo, MonoClass *attr_klass, MonoError *error);
36
37 MonoCustomAttrInfo*
38 mono_reflection_get_custom_attrs_info_checked (MonoObjectHandle obj, MonoError *error);
39
40 MonoArrayHandle
41 mono_reflection_get_custom_attrs_data_checked (MonoObjectHandle obj, MonoError *error);
42
43 MonoArrayHandle
44 mono_reflection_get_custom_attrs_by_type_handle (MonoObjectHandle obj, MonoClass *attr_klass, MonoError *error);
45
46 MonoArray*
47 mono_reflection_get_custom_attrs_blob_checked (MonoReflectionAssembly *assembly, MonoObject *ctor, MonoArray *ctorArgs, MonoArray *properties, MonoArray *propValues, MonoArray *fields, MonoArray* fieldValues, MonoError *error);
48
49 MonoCustomAttrInfo*
50 mono_custom_attrs_from_index_checked    (MonoImage *image, uint32_t idx, gboolean ignore_missing, MonoError *error);
51 MonoCustomAttrInfo*
52 mono_custom_attrs_from_method_checked   (MonoMethod *method, MonoError *error);
53 MonoCustomAttrInfo*
54 mono_custom_attrs_from_class_checked    (MonoClass *klass, MonoError *error);
55 MonoCustomAttrInfo*
56 mono_custom_attrs_from_assembly_checked (MonoAssembly *assembly, gboolean ignore_missing, MonoError *error);
57 MonoCustomAttrInfo*
58 mono_custom_attrs_from_property_checked (MonoClass *klass, MonoProperty *property, MonoError *error);
59 MonoCustomAttrInfo*
60 mono_custom_attrs_from_event_checked    (MonoClass *klass, MonoEvent *event, MonoError *error);
61 MonoCustomAttrInfo*
62 mono_custom_attrs_from_field_checked    (MonoClass *klass, MonoClassField *field, MonoError *error);
63 MonoCustomAttrInfo*
64 mono_custom_attrs_from_param_checked    (MonoMethod *method, uint32_t param, MonoError *error);
65
66
67 char*
68 mono_identifier_unescape_type_name_chars (char* identifier);
69
70 MonoImage *
71 mono_find_dynamic_image_owner (void *ptr);
72
73 MonoReflectionAssemblyHandle
74 mono_assembly_get_object_handle (MonoDomain *domain, MonoAssembly *assembly, MonoError *error);
75
76 MonoReflectionType*
77 mono_type_get_object_checked (MonoDomain *domain, MonoType *type, MonoError *error);
78
79 MonoReflectionTypeHandle
80 mono_type_get_object_handle (MonoDomain *domain, MonoType *type, MonoError *error);
81
82 MonoReflectionField*
83 mono_field_get_object_checked (MonoDomain *domain, MonoClass *klass, MonoClassField *field, MonoError *error);
84
85 MonoReflectionFieldHandle
86 mono_field_get_object_handle (MonoDomain *domain, MonoClass *klass, MonoClassField *field, MonoError *error);
87
88 MonoReflectionMethod*
89 mono_method_get_object_checked (MonoDomain *domain, MonoMethod *method, MonoClass *refclass, MonoError *error);
90
91 MonoReflectionMethodHandle
92 mono_method_get_object_handle (MonoDomain *domain, MonoMethod *method, MonoClass *refclass, MonoError *error);
93
94 MonoReflectionProperty*
95 mono_property_get_object_checked (MonoDomain *domain, MonoClass *klass, MonoProperty *property, MonoError *error);
96
97 MonoReflectionPropertyHandle
98 mono_property_get_object_handle (MonoDomain *domain, MonoClass *klass, MonoProperty *property, MonoError *error);
99
100 MonoReflectionEventHandle
101 mono_event_get_object_handle (MonoDomain *domain, MonoClass *klass, MonoEvent *event, MonoError *error);
102
103 MonoReflectionModuleHandle
104 mono_module_get_object_handle (MonoDomain *domain, MonoImage *image, MonoError *error);
105
106 MonoReflectionModuleHandle
107 mono_module_file_get_object_handle (MonoDomain *domain, MonoImage *image, int table_index, MonoError *error);
108
109 MonoReflectionMethodBodyHandle
110 mono_method_body_get_object_handle (MonoDomain *domain, MonoMethod *method, MonoError *error);
111
112 MonoClass *
113 mono_class_from_mono_type_handle (MonoReflectionTypeHandle h);
114
115
116 #endif /* __MONO_METADATA_REFLECTION_INTERNALS_H__ */