public override void AfterVisit(IfStatement node) { Expression falseBlock = null; if (node.FalseStatementBlock != null) falseBlock = _expressionStack.Pop(); Expression trueBlock = _expressionStack.Pop(); Expression condition = Expression.Convert(_expressionStack.Pop(), typeof(Boolean)); ConditionalExpression ifThenExpression; if (falseBlock != null) ifThenExpression = Expression.IfThenElse(condition, trueBlock, falseBlock); else ifThenExpression = Expression.IfThen(condition, trueBlock); _expressionStack.Push(node, ifThenExpression); base.AfterVisit(node); }
public virtual void AfterVisit(IfStatement node) { this.AfterVisitCatchAll(node); }
public virtual void AfterIfStatementTrueBlock(IfStatement ifStatement) { //Intentionally left blank }
public virtual void AfterIfStatementCondition(IfStatement ifStatement) { //Intentionally left blank }
public virtual void BeforeVisit(IfStatement node) { this.BeforeVisitCatchAll(node); }