internal static string SwitchCaseToString(SwitchCase node)
            {
                Debug.Assert(node != null);
                JsExpressionVisitor esb = new JsExpressionVisitor();

                esb.VisitSwitchCase(node);
                return(esb.ToString());
            }
            internal static string CatchBlockToString(CatchBlock node)
            {
                Debug.Assert(node != null);
                JsExpressionVisitor esb = new JsExpressionVisitor();

                esb.VisitCatchBlock(node);
                return(esb.ToString());
            }
            /// <summary>
            /// Output a given ElementInit to a string.
            /// </summary>
            internal static string ElementInitBindingToString(ElementInit node)
            {
                Debug.Assert(node != null);
                JsExpressionVisitor esb = new JsExpressionVisitor();

                esb.VisitElementInit(node);
                return(esb.ToString());
            }
            /// <summary>
            /// Output a given expression tree to a string.
            /// </summary>
            public static string ExpressionToString(Expression node)
            {
                Debug.Assert(node != null);
                JsExpressionVisitor esb = new JsExpressionVisitor();

                esb.Visit(node);
                return(esb.ToString());
            }
            /// <summary>
            /// Output a given member binding to a string.
            /// </summary>
            internal static string MemberBindingToString(MemberBinding node)
            {
                Debug.Assert(node != null);
                JsExpressionVisitor esb = new JsExpressionVisitor();

                esb.VisitMemberBinding(node);
                return(esb.ToString());
            }