public override CodeNode VisitTryFinallyNode(TryFinallyNode node)
        {
            ILGen.BeginExceptionBlock();
            Visit(node.TryNode);
            ILGen.BeginFinallyBlock();
            Visit(node.FinallyNode);
            ILGen.EndExceptionBlock();

            return(node);
        }
Example #2
0
 public override CodeNode VisitTryFinallyNode(TryFinallyNode node)
 {
     _Writer.WriteStartElement("TryFinally");
     _Writer.WriteStartElement("Try");
     Visit(node.TryNode);
     _Writer.WriteEndElement();
     _Writer.WriteStartElement("Finally");
     Visit(node.FinallyNode);
     _Writer.WriteEndElement();
     _Writer.WriteEndElement();
     return(node);
 }
Example #3
0
        public virtual CodeNode VisitTryFinallyNode(TryFinallyNode node)
        {
            var tryNode     = Visit(node.TryNode);
            var finallyNode = Visit(node.FinallyNode);

            if (tryNode == node.TryNode && finallyNode == node.FinallyNode)
            {
                return(node);
            }
            else
            {
                return(new TryFinallyNode(tryNode, finallyNode));
            }
        }