protected override Expression VisitGoto(GotoExpression node)
        {
            switch (node.Kind)
            {
            case GotoExpressionKind.Break:
                statement = new BreakStatementWithLinqExpressions(node);
                break;

            case GotoExpressionKind.Continue:
                statement = new ContinueStatementWithLinqExpressions(node);
                break;

            case GotoExpressionKind.Goto:
                statement = new GotoStatementWithLinqExpressions(node);
                break;

            case GotoExpressionKind.Return:
                statement = new ReturnStatementWithLinqExpressions(node);
                break;
            }

            return(node);
        }
 protected override Expression VisitDefault(DefaultExpression node)
 {
     statement = new EmptyStatementWithLinqExpressions(node);
     return(node);
 }
 protected override Expression VisitBlock(BlockExpression node)
 {
     statement = new BlockStatementWithLinqExpressions(node);
     return(node);
 }
 protected override Expression VisitTry(TryExpression node)
 {
     statement = new TryStatementWithLinqExpressions(node);
     return(node);
 }
 protected override Expression VisitSwitch(SwitchExpression node)
 {
     statement = new SwitchStatementWithLinqExpressions(node);
     return(node);
 }
 protected override Expression VisitLoop(LoopExpression node)
 {
     statement = new ForStatementWithLinqExpressions(node);
     return(node);
 }
 protected override Expression VisitLabel(LabelExpression node)
 {
     statement = new LabelStatementWithLinqExpressions(node);
     return(node);
 }