[runtime] Add mono_class_load_from_name and mono_class_try_load_from_name.
commitd0e10f8670e5800fc3e679196f24d9a32814a4b6
authorRodrigo Kumpera <kumpera@gmail.com>
Mon, 16 Nov 2015 05:22:56 +0000 (16 00:22 -0500)
committerRodrigo Kumpera <kumpera@gmail.com>
Sat, 20 Feb 2016 18:23:24 +0000 (20 13:23 -0500)
tree508964cdab44769b69289b51f4cc16d672e07304
parent9fa611282112a27d0e804dea300215a7f0cdbdaa
[runtime] Add mono_class_load_from_name and mono_class_try_load_from_name.

Those are variants of mono_class_from_name_checked that implement two common type loading scenarios in the rutime.

The first is mono_class_load_from_name, that loads critical types that the runtime cannot function without.
This means we abort if the type is missing or broken. We should use it in places where today we crash when
either of those would happen.

The other is mono_class_try_load_from_name, which is ok if the type is not found, but will abort if the type is broken.
The reasoning for aborting on a broken type is that it's unclear on whether the runtime should be using the type or not,
specially given most of those optional types change behavior of the application. This, in practice, forces the linker to
not produce a broken corlib.
mono/metadata/class-internals.h
mono/metadata/class.c