Example #1
0
        private bool WriteEmptyCodeBlock(TranslationWriter writer)
        {
            if (_isEmptyTranslation)
            {
                writer.WriteClosingBraceToTranslation(startOnNewLine: false);
                return(true);
            }

            return(false);
        }
Example #2
0
        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();
        }
Example #3
0
        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();
            }
        }