mono_class_setup_methods (iface);
vt_slot = interface_offset;
- for (method_slot_in_interface = 0; method_slot_in_interface < iface->method.count; method_slot_in_interface++) {
+ int mcount = mono_class_get_method_count (iface);
+ for (method_slot_in_interface = 0; method_slot_in_interface < mcount; method_slot_in_interface++) {
MonoMethod *method;
if (slot_num >= 0 && mono_class_is_ginst (iface)) {
for (list_item = extra_interfaces; list_item != NULL; list_item=list_item->next) {
MonoClass* iface = (MonoClass *)list_item->data;
int method_slot_in_interface;
- for (method_slot_in_interface = 0; method_slot_in_interface < iface->method.count; method_slot_in_interface++) {
+ int mcount = mono_class_get_method_count (iface);
+ for (method_slot_in_interface = 0; method_slot_in_interface < mcount; method_slot_in_interface++) {
MonoMethod *method = mono_class_get_method_by_index (iface, method_slot_in_interface);
if (method->is_generic)
has_generic_virtual = TRUE;
add_imt_builder_entry (imt_builder, method, &imt_collisions_bitmap, interface_offset + method_slot_in_interface, slot_num);
}
- interface_offset += iface->method.count;
+ interface_offset += mcount;
}
}
for (i = 0; i < MONO_IMT_SIZE; ++i) {
return as;
}
+char *
+mono_string_handle_to_utf8 (MonoStringHandle s, MonoError *error)
+{
+ return mono_string_to_utf8_checked (MONO_HANDLE_RAW (s), error);
+}
+
/**
* mono_string_to_utf8_ignore:
* @s: a MonoString
+static char *
+get_native_backtrace (MonoException *exc_raw)
+{
+ HANDLE_FUNCTION_ENTER ();
+ MONO_HANDLE_DCL(MonoException, exc);
+ char * trace = mono_exception_handle_get_native_backtrace (exc);
+ HANDLE_FUNCTION_RETURN_VAL (trace);
+}
+
/**
* mono_print_unhandled_exception:
* @exc: The exception
} else {
if (((MonoException*)exc)->native_trace_ips) {
- message = mono_exception_get_native_backtrace ((MonoException*)exc);
+ message = get_native_backtrace ((MonoException*)exc);
free_message = TRUE;
} else {
MonoObject *other_exc = NULL;