+/**
+ * \file
+ */
+
#ifndef _MONO_CLI_OBJECT_H_
#define _MONO_CLI_OBJECT_H_
typedef void (*MonoMainThreadFunc) (void* user_data);
#define MONO_OBJECT_SETREF(obj,fieldname,value) do { \
- g_assert (sizeof((obj)->fieldname) == sizeof (gpointer*)); \
mono_gc_wbarrier_set_field ((MonoObject*)(obj), &((obj)->fieldname), (MonoObject*)value); \
/*(obj)->fieldname = (value);*/ \
} while (0)
MONO_API uintptr_t
mono_array_length (MonoArray *array);
+MONO_API MonoString*
+mono_string_empty (MonoDomain *domain);
+
+MONO_RT_EXTERNAL_ONLY
+MONO_API MonoString*
+mono_string_empty_wrapper (void);
+
MONO_RT_EXTERNAL_ONLY
MONO_API MonoString*
mono_string_new_utf16 (MonoDomain *domain, const mono_unichar2 *text, int32_t len);
MONO_API MonoString*
mono_string_new_size (MonoDomain *domain, int32_t len);
+MONO_RT_EXTERNAL_ONLY
MONO_API MonoString*
mono_ldstr (MonoDomain *domain, MonoImage *image, uint32_t str_index);
MONO_API MonoString*
mono_string_intern (MonoString *str);
+MONO_RT_EXTERNAL_ONLY
MONO_API MonoString*
mono_string_new (MonoDomain *domain, const char *text);
MONO_API MonoString*
mono_string_new_utf32 (MonoDomain *domain, const mono_unichar4 *text, int32_t len);
+MONO_RT_EXTERNAL_ONLY
MONO_API char *
mono_string_to_utf8 (MonoString *string_obj);
MONO_API mono_unichar4 *
mono_string_to_utf32 (MonoString *string_obj);
+MONO_RT_EXTERNAL_ONLY
MONO_API MonoString *
mono_string_from_utf16 (mono_unichar2 *data);
+MONO_RT_EXTERNAL_ONLY
MONO_API MonoString *
mono_string_from_utf32 (mono_unichar4 *data);
MONO_API int
mono_object_hash (MonoObject* obj);
+MONO_RT_EXTERNAL_ONLY
MONO_API MonoString *
mono_object_to_string (MonoObject *obj, MonoObject **exc);
MONO_API void
mono_raise_exception (MonoException *ex);
+MONO_API void
+mono_reraise_exception (MonoException *ex);
+
MONO_RT_EXTERNAL_ONLY
MONO_API void
mono_runtime_object_init (MonoObject *this_obj);
MONO_API MonoMethod *
mono_get_delegate_end_invoke (MonoClass *klass);
+MONO_RT_EXTERNAL_ONLY
MONO_API MonoObject*
mono_runtime_delegate_invoke (MonoObject *delegate, void **params,
MonoObject **exc);
+MONO_RT_EXTERNAL_ONLY
MONO_API MonoObject*
mono_runtime_invoke_array (MonoMethod *method, void *obj, MonoArray *params,
MonoObject **exc);
MonoMainThreadFunc main_func,
void* main_args);
+MONO_RT_EXTERNAL_ONLY
MONO_API int
mono_runtime_run_main (MonoMethod *method, int argc, char* argv[],
MonoObject **exc);
+MONO_RT_EXTERNAL_ONLY
MONO_API int
mono_runtime_exec_main (MonoMethod *method, MonoArray *args,
MonoObject **exc);
MONO_API void
mono_print_unhandled_exception (MonoObject *exc);
+MONO_RT_EXTERNAL_ONLY
MONO_API void*
mono_compile_method (MonoMethod *method);