Example #1
0
        public JsNode VisitCatchClause(CatchClause node)
        {
            var node2 = new JsCatchClause();

            if (node.VariableName.IsNullOrEmpty())
            {
                node.VariableName = "$$e" + (VariableExceptionCounter++);                 //Generate a psuedo-unique variable name
            }
            node2.IdentifierName = node.VariableName;

            node2.Block = (JsBlock)Visit(node.Body);
            if (node2.Block != null)
            {
                node2.Descendants <JsThrowStatement>().Where(t => t.Expression == null).ForEach(t => t.Expression = Js.Member(node2.IdentifierName));
            }
            return(node2);
        }