X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mono%2Fmetadata%2Freflection-internals.h;h=7de2a9c9b331e99a2b1c4f857c4b2008856e8778;hb=HEAD;hp=600f2c6d268906ab4c360248e961b5b394b6188e;hpb=372145ed24d6fbbcdab2ff50f0d75a7bbf73e31f;p=mono.git diff --git a/mono/metadata/reflection-internals.h b/mono/metadata/reflection-internals.h index 600f2c6d268..7de2a9c9b33 100644 --- a/mono/metadata/reflection-internals.h +++ b/mono/metadata/reflection-internals.h @@ -1,44 +1,59 @@ -/* +/** + * \file * Copyright 2014 Xamarin Inc + * Copyright 2016 Microsoft * Licensed under the MIT license. See LICENSE file in the project root for full license information. */ #ifndef __MONO_METADATA_REFLECTION_INTERNALS_H__ #define __MONO_METADATA_REFLECTION_INTERNALS_H__ +#include #include +#include #include #include +gboolean +mono_reflection_is_usertype (MonoReflectionTypeHandle ref); + +MonoReflectionType* +mono_reflection_type_resolve_user_types (MonoReflectionType *type, MonoError *error); + +MonoType * +mono_reflection_type_handle_mono_type (MonoReflectionTypeHandle ref_type, MonoError *error); + MonoType* -mono_reflection_get_type_checked (MonoImage* image, MonoTypeNameParse *info, mono_bool ignorecase, mono_bool *type_resolve, MonoError *error); +mono_reflection_get_type_checked (MonoImage *rootimage, MonoImage* image, MonoTypeNameParse *info, mono_bool ignorecase, mono_bool *type_resolve, MonoError *error); MonoType* mono_reflection_type_from_name_checked (char *name, MonoImage *image, MonoError *error); guint32 -mono_reflection_get_token_checked (MonoObject *obj, MonoError *error); - +mono_reflection_get_token_checked (MonoObjectHandle obj, MonoError *error); MonoObject* mono_custom_attrs_get_attr_checked (MonoCustomAttrInfo *ainfo, MonoClass *attr_klass, MonoError *error); MonoCustomAttrInfo* -mono_reflection_get_custom_attrs_info_checked (MonoObject *obj, MonoError *error); +mono_reflection_get_custom_attrs_info_checked (MonoObjectHandle obj, MonoError *error); -MonoArray* -mono_reflection_get_custom_attrs_data_checked (MonoObject *obj, MonoError *error); +MonoArrayHandle +mono_reflection_get_custom_attrs_data_checked (MonoObjectHandle obj, MonoError *error); + +MonoArrayHandle +mono_reflection_get_custom_attrs_by_type_handle (MonoObjectHandle obj, MonoClass *attr_klass, MonoError *error); MonoArray* mono_reflection_get_custom_attrs_blob_checked (MonoReflectionAssembly *assembly, MonoObject *ctor, MonoArray *ctorArgs, MonoArray *properties, MonoArray *propValues, MonoArray *fields, MonoArray* fieldValues, MonoError *error); MonoCustomAttrInfo* -mono_custom_attrs_from_index_checked (MonoImage *image, uint32_t idx, MonoError *error); +mono_custom_attrs_from_index_checked (MonoImage *image, uint32_t idx, gboolean ignore_missing, MonoError *error); MonoCustomAttrInfo* mono_custom_attrs_from_method_checked (MonoMethod *method, MonoError *error); MonoCustomAttrInfo* mono_custom_attrs_from_class_checked (MonoClass *klass, MonoError *error); MonoCustomAttrInfo* -mono_custom_attrs_from_assembly_checked (MonoAssembly *assembly, MonoError *error); +mono_custom_attrs_from_assembly_checked (MonoAssembly *assembly, gboolean ignore_missing, MonoError *error); MonoCustomAttrInfo* mono_custom_attrs_from_property_checked (MonoClass *klass, MonoProperty *property, MonoError *error); MonoCustomAttrInfo* @@ -55,32 +70,47 @@ mono_identifier_unescape_type_name_chars (char* identifier); MonoImage * mono_find_dynamic_image_owner (void *ptr); -MonoReflectionAssembly* -mono_assembly_get_object_checked (MonoDomain *domain, MonoAssembly *assembly, MonoError *error); +MonoReflectionAssemblyHandle +mono_assembly_get_object_handle (MonoDomain *domain, MonoAssembly *assembly, MonoError *error); MonoReflectionType* mono_type_get_object_checked (MonoDomain *domain, MonoType *type, MonoError *error); +MonoReflectionTypeHandle +mono_type_get_object_handle (MonoDomain *domain, MonoType *type, MonoError *error); + MonoReflectionField* mono_field_get_object_checked (MonoDomain *domain, MonoClass *klass, MonoClassField *field, MonoError *error); +MonoReflectionFieldHandle +mono_field_get_object_handle (MonoDomain *domain, MonoClass *klass, MonoClassField *field, MonoError *error); + MonoReflectionMethod* mono_method_get_object_checked (MonoDomain *domain, MonoMethod *method, MonoClass *refclass, MonoError *error); +MonoReflectionMethodHandle +mono_method_get_object_handle (MonoDomain *domain, MonoMethod *method, MonoClass *refclass, MonoError *error); + MonoReflectionProperty* mono_property_get_object_checked (MonoDomain *domain, MonoClass *klass, MonoProperty *property, MonoError *error); -MonoReflectionEvent* -mono_event_get_object_checked (MonoDomain *domain, MonoClass *klass, MonoEvent *event, MonoError *error); +MonoReflectionPropertyHandle +mono_property_get_object_handle (MonoDomain *domain, MonoClass *klass, MonoProperty *property, MonoError *error); + +MonoReflectionEventHandle +mono_event_get_object_handle (MonoDomain *domain, MonoClass *klass, MonoEvent *event, MonoError *error); + +MonoReflectionModuleHandle +mono_module_get_object_handle (MonoDomain *domain, MonoImage *image, MonoError *error); -MonoReflectionModule* -mono_module_get_object_checked (MonoDomain *domain, MonoImage *image, MonoError *error); +MonoReflectionModuleHandle +mono_module_file_get_object_handle (MonoDomain *domain, MonoImage *image, int table_index, MonoError *error); -MonoReflectionModule* -mono_module_file_get_object_checked (MonoDomain *domain, MonoImage *image, int table_index, MonoError *error); +MonoReflectionMethodBodyHandle +mono_method_body_get_object_handle (MonoDomain *domain, MonoMethod *method, MonoError *error); -MonoReflectionMethodBody* -mono_method_body_get_object_checked (MonoDomain *domain, MonoMethod *method, MonoError *error); +MonoClass * +mono_class_from_mono_type_handle (MonoReflectionTypeHandle h); #endif /* __MONO_METADATA_REFLECTION_INTERNALS_H__ */