+/**
+ * \file
+ */
+
#ifndef __METADATA_REFLECTION_H__
#define __METADATA_REFLECTION_H__
+#include <mono/utils/mono-publib.h>
#include <mono/metadata/object.h>
MONO_BEGIN_DECLS
} MonoResolveTokenError;
MONO_API int mono_reflection_parse_type (char *name, MonoTypeNameParse *info);
+MONO_RT_EXTERNAL_ONLY
MONO_API MonoType* mono_reflection_get_type (MonoImage* image, MonoTypeNameParse *info, mono_bool ignorecase, mono_bool *type_resolve);
MONO_API void mono_reflection_free_type_info (MonoTypeNameParse *info);
MONO_RT_EXTERNAL_ONLY
MONO_API MonoType* mono_reflection_type_from_name (char *name, MonoImage *image);
+MONO_RT_EXTERNAL_ONLY
MONO_API uint32_t mono_reflection_get_token (MonoObject *obj);
MONO_RT_EXTERNAL_ONLY
/* note: this one is slightly different: we keep the whole array of params in the cache */
MONO_RT_EXTERNAL_ONLY
MONO_API MonoArray* mono_param_get_objects (MonoDomain *domain, MonoMethod *method);
+MONO_RT_EXTERNAL_ONLY
MONO_API MonoReflectionMethodBody* mono_method_body_get_object (MonoDomain *domain, MonoMethod *method);
MONO_API MonoObject *mono_get_dbnull_object (MonoDomain *domain);
MONO_API MonoArray* mono_reflection_get_custom_attrs (MonoObject *obj);
MONO_RT_EXTERNAL_ONLY
MONO_API MonoArray* mono_reflection_get_custom_attrs_data (MonoObject *obj);
+MONO_RT_EXTERNAL_ONLY
MONO_API MonoArray* mono_reflection_get_custom_attrs_blob (MonoReflectionAssembly *assembly, MonoObject *ctor, MonoArray *ctorArgs, MonoArray *properties, MonoArray *porpValues, MonoArray *fields, MonoArray* fieldValues);
MONO_RT_EXTERNAL_ONLY
MONO_RT_EXTERNAL_ONLY
MONO_API MonoCustomAttrInfo* mono_custom_attrs_from_param (MonoMethod *method, uint32_t param);
MONO_API mono_bool mono_custom_attrs_has_attr (MonoCustomAttrInfo *ainfo, MonoClass *attr_klass);
+MONO_RT_EXTERNAL_ONLY
MONO_API MonoObject* mono_custom_attrs_get_attr (MonoCustomAttrInfo *ainfo, MonoClass *attr_klass);
MONO_API void mono_custom_attrs_free (MonoCustomAttrInfo *ainfo);