public void WriteTo(TranslationWriter writer) { writer.WriteControlStatementToTranslation(_switch); _valueTranslation.WriteInParentheses(writer); writer.WriteOpeningBraceToTranslation(); for (var i = 0; ;) { var caseTestValueTranslations = _caseTestValueTranslations[i]; for (int j = 0, l = caseTestValueTranslations.Length; ;) { writer.WriteControlStatementToTranslation(_case); caseTestValueTranslations[j].WriteTo(writer); writer.WriteToTranslation(':'); writer.WriteNewLineToTranslation(); ++j; if (j == l) { break; } } WriteCaseBody(_caseTranslations[i], writer); ++i; if (i == _casesCount) { break; } writer.WriteNewLineToTranslation(); writer.WriteNewLineToTranslation(); } WriteDefaultIfPresent(writer); writer.WriteClosingBraceToTranslation(); }
public void WriteTo(TranslationWriter writer) { if (_writeBraces) { writer.WriteOpeningBraceToTranslation(_startOnNewLine); if (WriteEmptyCodeBlock(writer)) { return; } } if (_indentContents) { writer.Indent(); } if (_writeBraces && _ensureReturnKeyword && !_translation.IsMultiStatement()) { writer.WriteReturnToTranslation(); } _translation.WriteTo(writer); if (EnsureTerminated()) { writer.WriteToTranslation(';'); } if (_writeBraces) { writer.WriteClosingBraceToTranslation(); } if (_indentContents) { writer.Unindent(); } }