public override void VisitBranchConditional(AstBranchConditional branch) { if (branch.HasExpression) { Context.CodeBuilder.StartBranch(branch); Context.CodeBuilder.CsBuilder.Append("("); Visit(branch.Expression); Context.CodeBuilder.CsBuilder.StartScope(")"); Visit(branch.CodeBlock); Context.CodeBuilder.CsBuilder.EndScope(); if (branch.HasSubBranch) { var subHasExpression = branch.SubBranch.HasExpression; Context.CodeBuilder.CsBuilder.StartBranch(BranchStatement.Else); if (!subHasExpression) { Context.CodeBuilder.CsBuilder.StartScope(); } Visit(branch.SubBranch); if (!subHasExpression) { Context.CodeBuilder.CsBuilder.EndScope(); } } } else if (branch.HasCodeBlock) { Visit(branch.CodeBlock); } }
public virtual void VisitBranchConditional(AstBranchConditional branch) { branch.VisitChildren(this); }
public override void VisitBranchConditional(AstBranchConditional branch) { branch.Parent.Should().NotBeNull(); branch.VisitChildren(this); }