+/**
+ * \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_intern (MonoString *str);
+MONO_RT_EXTERNAL_ONLY
MONO_API MonoString*
mono_string_new (MonoDomain *domain, const char *text);
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);
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);