bool get_method_address()
{
method = class_info.GetMethodAddress (inferior, RTI.Function.Token);
if (method.IsNull)
return false;
if ((instance == null) || instance.Type.IsByRef)
return true;
TargetType decl = RTI.Function.DeclaringType;
if ((decl.Name != "System.ValueType") && (decl.Name != "System.Object"))
return true;
TargetClassType parent_type = RTI.Instance.Type.GetParentType (inferior);
if (!instance.Type.IsByRef && parent_type.IsByRef) {
TargetAddress klass = ((MonoClassObject) instance).KlassAddress;
stage = Stage.BoxingInstance;
inferior.CallMethod (
sse.MonoDebuggerInfo.GetBoxedObjectMethod, klass.Address,
instance.Location.GetAddress (inferior).Address, ID);
return false;
}
return true;
}