public string ReaderFriendly(int indent) { string toWrite = string.Empty; string tabs = Friendly.tabs(indent); if (Friendly.IsAlwaysTrue(If.Id)) { toWrite = $"{Then.ReaderFriendly(indent)}"; } else { toWrite = $"{tabs}IF...\n{If.ReaderFriendly(indent)}\n{tabs}THEN...\n{Then.ReaderFriendly(indent)}"; } return(toWrite); }
public string ReaderFriendly(int indent) { string toReturn = string.Empty; string tabs = Friendly.tabs(indent); string tabsPlus = Friendly.tabs(indent + 1); if (Friendly.IsAlwaysTrue(First.Id) && Friendly.IsAlwaysTrue(Second.Id)) { toReturn = new TrueExpression().ReaderFriendly(indent); } if (Friendly.IsAlwaysTrue(First.Id)) { if (!TrueCondition) { toReturn = $"{Friendly.tabs(indent)}NOT (\n"; } toReturn = toReturn + Second.ReaderFriendly(indent + ((TrueCondition) ? 0 : 1)); if (!TrueCondition) { toReturn += $"\n{Friendly.tabs(indent)})"; } } else if (Friendly.IsAlwaysTrue(Second.Id)) { if (!TrueCondition) { toReturn = $"{Friendly.tabs(indent)}NOT (\n"; } toReturn = toReturn + First.ReaderFriendly(indent + ((TrueCondition) ? 0 : 1)); if (!TrueCondition) { toReturn += $"\n{Friendly.tabs(indent)})"; } } else { string negate = TrueCondition ? "" : "NOT "; toReturn = $"{tabs}{negate}(\n{First.ReaderFriendly(indent + 1)}\n{tabsPlus}{Condition.ToUpper()}\n{Second.ReaderFriendly(indent + 1)}\n{tabs})"; } return(toReturn); }