コード例 #1
0
		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);
		}
コード例 #2
0
ファイル: ImmediatePad.cs プロジェクト: rae1/monodevelop
		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);
				}
			}
		}