[reflection] Use handles for several more icalls (#4098)
* [runtime] Remove MonoReflectionGenericMethod typedef.
- It's not used in the runtime,
- Unlike other defs in object-internals.h it doesn't seem to have a
corresponding managed object.
* [reflection] Add mono_field_get_object_handle.
Reimplement mono_field_get_object and mono_field_get_object_checked in
terms of it.
* [reflection] Add mono_property_get_object_handle
Reimplement mono_property_get_object and
mono_property_get_object_checked in terms of it.
* [reflection] Use handles for FieldInfo,MonoPropertyInfo,ParameterInfo.GetTypeModifiers
* [reflection] Use handles for MonoMethodInfo.get_parameter_info
- Change mono_param_get_objects_internal to use handles
* [reflection] Cleanup in method_object_construct
* [reflection] Use handles for System.Refleciton.EventInfo.internal_from_handle_type
- Replace mono_event_get_object_checked by mono_event_get_object_handle
which uses handles.
* [reflection] Use handles for System.Reflection.MethodBase.GetMethodBodyInternal
- Replace mono_method_body_get_object_checked by
mono_method_body_get_object_handle
* [reflection] Remove CHECK_OR_CONSTRUCT, it's dead code.
All former callers now use CHECK_OR_CONSTRUCT_HANDLE
* [reflection] Use handles for FieldInfo.get_marshal_info and MonoMethodInfo.get_retval_marshal
- Change mono_reflection_marshal_as_attribute_from_marshal_spec to
return a handle; fix callers
* [metadata] Add mono_metadata_get_canonical_generic_inst utility function
* [reflection] Use handles for System.Reflection.Module.ResolveMemberToken and 3 more icalls
- ResolveFieldToken
- ResolveMethodToken
- ResolveTypeToken