public override void GenerateCode(StringBuilder sb, int tabsOffset) { if (Attribute != null) { Attribute.GenerateCode(sb, tabsOffset); } sb.Append('\t', tabsOffset); sb.Append("if("); Condition.GenerateCode(sb, 0); sb.Append(')'); sb.AppendLine(); int tabs = (OnTrue is BlockStatement) ? tabsOffset : tabsOffset + 1; OnTrue.GenerateCode(sb, tabs); sb.AppendLine(); if (OnFalse != null) { sb.Append('\t', tabsOffset); sb.Append("else"); tabs = (OnFalse is BlockStatement) ? tabsOffset : tabsOffset + 1; if (OnFalse is SelectionStatement) { sb.Append(' '); } else { sb.AppendLine(); } OnFalse.GenerateCode(sb, tabs); } }
public override void GenerateCode(StringBuilder sb, int tabsOffset) { Condition.GenerateCode(sb, tabsOffset); sb.Append('?'); OnTrue.GenerateCode(sb, 0); sb.Append(':'); OnFalse.GenerateCode(sb, 0); }