private Variable CreateVariable(ObjectValue v) { var pname = String.Format("{0} {1}", v.TypeName, v.Name); return new Variable(pname, v.DisplayValue, v.HasChildren ? _variableHandles.Create(v.GetAllChildren()) : 0); }
void PrintValue (ObjectValue val) { string result = val.Value; if (string.IsNullOrEmpty (result) || val.IsError || val.IsUnknown || val.IsNotSupported) { view.WriteOutput (GetErrorText (val)); FinishPrinting (); } else { var ops = GetEvaluationOptions (); var children = val.GetAllChildren (ops); var hasMore = false; view.WriteOutput (result); if (children.Length > 0 && string.Equals (children[0].Name, "[0..99]")) { // Big Arrays Hack children = children[0].GetAllChildren (); hasMore = true; } var evaluating = new Dictionary<ObjectValue, bool> (); foreach (var child in children) { if (child.IsEvaluating) { evaluating.Add (child, false); } else { PrintChildValue (child); } } if (evaluating.Count > 0) { foreach (var eval in evaluating) WaitChildForCompleted (eval.Key, evaluating, hasMore); } else { FinishPrinting (hasMore); } } }