public static EE.EvaluationResult HandleDebuggerDisplay(Interpreter interpreter,
Thread thread,
TargetStructObject instance,
DebuggerDisplayAttribute attr,
int timeout, out string name,
out string type)
{
ScriptingContext expr_context = new ScriptingContext (interpreter);
expr_context.CurrentThread = thread;
expr_context.CurrentLanguage = instance.Type.Language;
expr_context.ImplicitInstance = instance;
EE.EvaluationResult result = expr_context.HandleDebuggerDisplay (
thread, instance, attr.Value, timeout, out name);
if (result != EE.EvaluationResult.Ok) {
type = null;
return result;
}
if (String.IsNullOrEmpty (attr.Type)) {
type = null;
return EE.EvaluationResult.Ok;
}
return expr_context.HandleDebuggerDisplay (
thread, instance, attr.Type, timeout, out type);
}