public virtual void VisitCFGConditionalEdge(ConditionalEdge x) { Accept(x.Condition); x.TrueTarget.Accept(this); x.FalseTarget.Accept(this); }
public override object VisitCFGConditionalEdge(ConditionalEdge x) { return(x.Update( (BoundBlock)Accept(x.TrueTarget), (BoundBlock)Accept(x.FalseTarget), (BoundExpression)Accept(x.Condition))); }
public override void VisitCFGConditionalEdge(ConditionalEdge x) { // build state for TrueBlock and FalseBlock properly, take minimal evaluation into account var state = _state; // true branch _state = state.Clone(); VisitCondition(x.Condition, ConditionBranch.ToTrue); TraverseToBlock(_state, x.TrueTarget); // false branch _state = state.Clone(); VisitCondition(x.Condition, ConditionBranch.ToFalse); TraverseToBlock(_state, x.FalseTarget); }
public virtual TResult VisitCFGConditionalEdge(ConditionalEdge x) => DefaultVisitEdge(x);