private static void DoGetClass(ExecutionContext context)
{
object value = context.Pop();
context.LastReceiver = value;
if (value == null)
{
context.Push(context.Machine.UndefinedObjectClass);
return;
}
IObject iobj = value as IObject;
if (iobj != null)
{
context.Push(iobj.Behavior);
return;
}
var behavior = context.Machine.GetNativeBehavior(value.GetType());
if (behavior != null)
{
context.Push(behavior);
return;
}
context.Push(value.GetType());
}