public override string VisitIfExpr(AstIfExpr ifs, int indentLevel = 0) { var sb = new StringBuilder(); sb.Append("if "); sb.Append(ifs.Condition.Accept(this)); sb.Append(" "); sb.Append(ifs.IfCase.Accept(this)); if (ifs.ElseCase != null) { sb.Append(" else "); sb.Append(ifs.ElseCase.Accept(this)); } return(sb.ToString().Indent(indentLevel)); }
public override NodeFinderResult VisitIfExpr(AstIfExpr ifs, int i = 0) { if (GetRelativeLocation(ifs.Condition.Location, i) == RelativeLocation.Same) { return(ifs.Condition.Accept(this, i)); } if (GetRelativeLocation(ifs.IfCase.Location, i) == RelativeLocation.Same) { return(ifs.IfCase.Accept(this, i)); } if (ifs.ElseCase != null && GetRelativeLocation(ifs.ElseCase.Location, i) == RelativeLocation.Same) { return(ifs.ElseCase.Accept(this, i)); } return(new NodeFinderResult(ifs.Scope, expr: ifs)); }
public virtual ReturnType VisitIfExpr(AstIfExpr expr, DataType data = default) => default;