public override string ToCode(ToCodeFormat format) { StringBuilder sb = new StringBuilder(); if (Parser.Settings.LocalRenaming != LocalRenaming.KeepAll && Parser.Settings.IsModificationAllowed(TreeModifications.LocalRenaming)) { // we're hyper-crunching. // we want to output our label as per our nested level. // top-level is "a", next level is "b", etc. // we don't need to worry about collisions with variables. sb.Append(CrunchEnumerator.CrunchedLabel(m_nestCount)); } else { // not hypercrunching -- just output our label sb.Append(m_label); } sb.Append(':'); if (m_statement != null) { // don't sent the AlwaysBraces down the chain -- we're handling it here. // but send any other formats down -- we don't know why they were sent. sb.Append(m_statement.ToCode(format)); } return(sb.ToString()); }
public override string ToCode(ToCodeFormat format) { StringBuilder sb = new StringBuilder(); sb.Append("continue"); if (m_label != null) { sb.Append(' '); if (Parser.Settings.LocalRenaming != LocalRenaming.KeepAll && Parser.Settings.IsModificationAllowed(TreeModifications.LocalRenaming)) { // hypercrunched -- only depends on nesting level sb.Append(CrunchEnumerator.CrunchedLabel(m_nestLevel)); } else { // not hypercrunched -- just output label sb.Append(m_label); } } return(sb.ToString()); }