Example #1
0
 public void VisitCatchClause(JCatchClause node)
 {
     Write("catch");
     Write("(");
     Visit(node.Type);
     Write(" ");
     Write(node.IdentifierName);
     Write(")");
     if (OpenBraceInNewLine)
     {
         WriteLine();
     }
     Visit(node.Block);
 }
Example #2
0
        public JNode VisitCatchClause(CatchClause node)
        {
            var node2 = new JCatchClause();

            if (node.VariableName.IsNullOrEmpty())
            {
                node.VariableName = "$$e" + (VariableExceptionCounter++); //Generate a psuedo-unique variable name
            }
            node2.IdentifierName = node.VariableName;
            node2.Type           = node.Type.Resolve().Type.JAccess();
            node2.Block          = (JBlock)Visit(node.Body);
            if (node2.Block != null)
            {
                node2.Descendants <JThrowStatement>().Where(t => t.Expression == null).ForEach(t => t.Expression = J.Member(node2.IdentifierName));
            }
            return(node2);
        }