File: System\Activities\Debugger\XamlNode.cs
Project: ndp\cdf\src\NetFx40\System.Activities\System.Activities.csproj (System.Activities)
// <copyright>
//   Copyright (c) Microsoft Corporation.  All rights reserved.
// </copyright>
 
namespace System.Activities.Debugger
{
    using System.Text;
    using System.Xaml;
 
    internal class XamlNode
    {
        public XamlMember Member { get; set; }
 
        public NamespaceDeclaration Namespace { get; set; }
 
        public XamlNodeType NodeType { get; set; }
 
        public XamlType Type { get; set; }
 
        public object Value { get; set; }
 
        public int LineNumber { get; set; }
 
        public int LinePosition { get; set; }
 
        public override string ToString()
        {
            StringBuilder sb = new StringBuilder();
            sb.AppendFormat("{0} {1} ", this.LineNumber, this.LinePosition);
            switch (this.NodeType)
            {
                case XamlNodeType.StartObject:
                    sb.AppendFormat("SO {0}", this.Type);
                    break;
                case XamlNodeType.GetObject:
                    sb.AppendFormat("GO {0}", this.Type);
                    break;
                case XamlNodeType.EndObject:
                    sb.Append("EO ");
                    break;
                case XamlNodeType.StartMember:
                    sb.AppendFormat("SM {0}", this.Member);
                    break;
                case XamlNodeType.EndMember:
                    sb.Append("EM ");
                    break;
                case XamlNodeType.Value:
                    sb.AppendFormat("VA {0}", this.Value);
                    break;
                case XamlNodeType.NamespaceDeclaration:
                    sb.AppendFormat("NS {0}", this.Namespace);
                    break;
            }
 
            return sb.ToString();
        }
    }
}