public void WriteTo(TranslationWriter writer) { writer.WriteNewToTranslation(); _typeNameTranslation.WriteTo(writer); writer.WriteToTranslation('['); if (_boundTranslationCount != 0) { for (var i = 0; ;) { _boundTranslations[i].WriteTo(writer); ++i; if (i == _boundTranslationCount) { break; } writer.WriteToTranslation("[]"); } } writer.WriteToTranslation(']'); }
public void WriteTo(TranslationWriter writer) { writer.WriteNewToTranslation(); writer.WriteTypeNameToTranslation(nameof(DateTime)); writer.WriteToTranslation('('); writer.WriteToTranslation(_value.Year); WriteTwoDigitDatePart(_value.Month, writer); WriteTwoDigitDatePart(_value.Day, writer); if (_hasMilliseconds || _hasTime) { WriteTwoDigitDatePart(_value.Hour, writer); WriteTwoDigitDatePart(_value.Minute, writer); WriteTwoDigitDatePart(_value.Second, writer); if (_hasMilliseconds) { writer.WriteToTranslation(", "); writer.WriteToTranslation(_value.Millisecond); } } writer.WriteToTranslation(")"); }
public void WriteTo(TranslationWriter writer) { _subject.WriteTo(writer); writer.WriteToTranslation('['); _parameters.WithoutParentheses().WriteTo(writer); writer.WriteToTranslation(']'); }
private static bool TryWriteFactoryMethodCall( long value, double totalValue, string valueName, TranslationWriter writer) { if (value == 0) { return(false); } // ReSharper disable once CompareOfFloatsByEqualityOperator if (value != totalValue) { return(false); } var factoryMethodName = "From" + valueName; writer.WriteTypeNameToTranslation(nameof(TimeSpan)); writer.WriteDotToTranslation(); writer.WriteToTranslation(factoryMethodName, MethodName); writer.WriteToTranslation('('); writer.WriteToTranslation(value); writer.WriteToTranslation(')'); return(true); }
private void WriteGenericArgumentNamesIfNecessary(TranslationWriter writer) { if (_explicitGenericArgumentCount == 0) { return; } writer.WriteToTranslation('<'); for (var i = 0; ;) { _explicitGenericArguments[i].WriteTo(writer); ++i; if (i == _explicitGenericArgumentCount) { break; } writer.WriteToTranslation(", "); } writer.WriteToTranslation('>'); }
private void WriteSingleLineTernary(TranslationWriter writer) { TestTranslation.WriteInParenthesesIfRequired(writer, _context); writer.WriteToTranslation(" ? "); IfTrueTranslation.WriteTo(writer); writer.WriteToTranslation(" : "); IfFalseTranslation.WriteTo(writer); }
public void WriteTo(TranslationWriter writer) { writer.WriteControlStatementToTranslation("while "); writer.WriteToTranslation('('); writer.WriteKeywordToTranslation("true"); writer.WriteToTranslation(')'); _loopBodyTranslation.WriteTo(writer); }
public virtual void WriteTo(TranslationWriter writer) { writer.WriteToTranslation(" ("); _exceptionTypeTranslation.WriteTo(writer); writer.WriteSpaceToTranslation(); writer.WriteToTranslation(_variableName, Variable); writer.WriteToTranslation(')'); }
private static void WriteTimeSpanHoursMinutesSeconds(TranslationWriter writer, TimeSpan timeSpan) { writer.WriteToTranslation(timeSpan.Hours); writer.WriteToTranslation(", "); writer.WriteToTranslation(timeSpan.Minutes); writer.WriteToTranslation(", "); writer.WriteToTranslation(timeSpan.Seconds); }
public void WriteTo(TranslationWriter writer) { if (TryWriteFactoryMethodCall(_timeSpan.Days, _timeSpan.TotalDays, "Days", writer)) { return; } if (TryWriteFactoryMethodCall(_timeSpan.Hours, _timeSpan.TotalHours, "Hours", writer)) { return; } if (TryWriteFactoryMethodCall(_timeSpan.Minutes, _timeSpan.TotalMinutes, "Minutes", writer)) { return; } if (TryWriteFactoryMethodCall(_timeSpan.Seconds, _timeSpan.TotalSeconds, "Seconds", writer)) { return; } if (TryWriteFactoryMethodCall(_timeSpan.Milliseconds, _timeSpan.TotalMilliseconds, "Milliseconds", writer)) { return; } if ((_timeSpan.Days == 0) && (_timeSpan.Hours == 0) && (_timeSpan.Minutes == 0) && (_timeSpan.Seconds == 0)) { writer.WriteTypeNameToTranslation(nameof(TimeSpan)); writer.WriteDotToTranslation(); writer.WriteToTranslation("FromTicks", MethodName); writer.WriteToTranslation('('); writer.WriteToTranslation(Math.Floor(_timeSpan.TotalMilliseconds * 10000).ToString(CurrentCulture)); goto EndTranslation; } writer.WriteNewToTranslation(); writer.WriteTypeNameToTranslation(nameof(TimeSpan)); writer.WriteToTranslation('('); if (_timeSpan.Days == 0) { WriteTimeSpanHoursMinutesSeconds(writer, _timeSpan); goto EndTranslation; } writer.WriteToTranslation(_timeSpan.Days); writer.WriteToTranslation(", "); WriteTimeSpanHoursMinutesSeconds(writer, _timeSpan); if (_timeSpan.Milliseconds != 0) { writer.WriteToTranslation(", "); writer.WriteToTranslation(_timeSpan.Milliseconds); } EndTranslation: writer.WriteToTranslation(')'); }
private static void WriteTwoDigitDatePart(int datePart, TranslationWriter writer) { writer.WriteToTranslation(", "); if (datePart > 9) { writer.WriteToTranslation(datePart); return; } writer.WriteToTranslation(0); writer.WriteToTranslation(datePart); }
public void WriteTo(TranslationWriter writer) { for (var i = 0; ;) { var operandTranslation = _operandTranslations[i]; if ((operandTranslation.NodeType == ExpressionType.Conditional) || operandTranslation.IsAssignment()) { operandTranslation.WriteInParentheses(writer); } else { operandTranslation.WriteTo(writer); } ++i; if (i == _operandCount) { break; } writer.WriteToTranslation(" + "); } }
private void WriteMultiLineTernary(TranslationWriter writer) { TestTranslation.WriteInParenthesesIfRequired(writer, _context); writer.WriteNewLineToTranslation(); writer.Indent(); writer.WriteToTranslation("? "); IfTrueTranslation.WriteTo(writer); writer.WriteNewLineToTranslation(); writer.WriteToTranslation(": "); IfFalseTranslation.WriteTo(writer); writer.Unindent(); }
public void WriteTo(TranslationWriter writer) { if (_labelIsNamed) { writer.WriteToTranslation(_labelName); writer.WriteToTranslation(':'); } if (_labelHasNoValue) { return; } writer.WriteReturnToTranslation(); _labelValueTranslation.WriteTo(writer); writer.WriteToTranslation(';'); }
public void WriteTo(TranslationWriter writer) { _parameters.WriteTo(writer); writer.WriteToTranslation(_bodyTranslation.HasBraces ? " =>" : _fatArrow); _bodyTranslation.WriteTo(writer); }
public void WriteTo(TranslationWriter writer) { _binaryConditionLeftTranslation.WriteInParenthesesIfRequired(writer, _context); writer.WriteToTranslation(_binaryConditionOperator.TrimEnd()); writer.WriteNewLineToTranslation(); writer.Indent(); _binaryConditionRightTranslation.WriteInParenthesesIfRequired(writer, _context); writer.Unindent(); }
protected virtual void WriteStatementTo(TranslationWriter writer) { _statementTranslation.WriteTo(writer); if (_statementIsUnterminated && (DoNotTerminate == false)) { writer.WriteToTranslation(';'); } }
public void WriteTo(TranslationWriter writer) { if (_typeNameTranslation != null) { _typeNameTranslation.WriteTo(writer); writer.WriteSpaceToTranslation(); } writer.WriteToTranslation(_parameterName, Variable); }
public void WriteTo(TranslationWriter writer) { if (_subject != null) { _subject.WriteInParenthesesIfRequired(writer, _context); writer.WriteDotToTranslation(); } writer.WriteToTranslation(_memberName); }
public static void WriteClosingBraceToTranslation(this TranslationWriter writer, bool startOnNewLine = true) { if (startOnNewLine) { writer.WriteNewLineToTranslation(); } writer.Unindent(); writer.WriteToTranslation('}'); }
public static void WriteOpeningBraceToTranslation(this TranslationWriter writer, bool startOnNewLine = true) { if (startOnNewLine && writer.TranslationQuery(q => !q.TranslationEndsWith('{'))) { writer.WriteNewLineToTranslation(); } writer.WriteToTranslation('{'); writer.WriteNewLineToTranslation(); writer.Indent(); }
public void WriteTo(TranslationWriter writer) { if (_isEmpty) { return; } if (_hasVariables) { foreach (var parametersByType in _variables) { var parametersType = parametersByType.Key; var parameters = parametersByType.Value; parametersType.WriteTo(writer); writer.WriteSpaceToTranslation(); parameters.WriteTo(writer); writer.WriteToTranslation(';'); writer.WriteNewLineToTranslation(); } switch (_statements[0].NodeType) { case Conditional when !_statements[0].Expression.IsTernary(): case Switch: writer.WriteNewLineToTranslation(); break; } } for (var i = 0; ;) { _statements[i].WriteTo(writer); ++i; if (i == _statementCount) { break; } writer.WriteNewLineToTranslation(); } }
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(); } }
public void WriteTo(TranslationWriter writer) { writer.WriteToTranslation(_memberName); writer.WriteToTranslation(" = "); _value.WriteTo(writer); }
public void WriteTo(TranslationWriter writer) { writer.WriteToTranslation(_operator); _negatedValue.WriteInParenthesesIfRequired(writer, _context); }
public void WriteTo(TranslationWriter writer) { _subjectTranslation.WriteTo(writer); writer.WriteDotToTranslation(); writer.WriteToTranslation(_subjectMethodName, MethodName); }
public void WriteTo(TranslationWriter writer) { _operand.WriteTo(writer); writer.WriteToTranslation(_length); }
public void WriteTo(TranslationWriter writer) { switch (Count) { case 0: if (_parenthesesMode != ParenthesesMode.Never) { writer.WriteToTranslation(_openAndCloseParentheses); } return; case 1 when(_parenthesesMode != ParenthesesMode.Always): _parameterTranslations[0].WriteTo(writer); return; } if (_parenthesesMode != ParenthesesMode.Never) { writer.WriteToTranslation('('); } var writeParametersOnNewLines = WriteParametersOnNewLines(); if (writeParametersOnNewLines) { writer.WriteNewLineToTranslation(); writer.Indent(); } for (var i = 0; ;) { var parameterTranslation = _parameterTranslations[i]; if (writeParametersOnNewLines && (i == 0) && parameterTranslation.IsMultiStatement) { parameterTranslation.WithoutStartingNewLine(); } parameterTranslation.WriteTo(writer); ++i; if (i == Count) { break; } if (writeParametersOnNewLines) { writer.WriteToTranslation(','); if (!_parameterTranslations[i].IsMultiStatement) { writer.WriteNewLineToTranslation(); } continue; } writer.WriteToTranslation(", "); } if (_parenthesesMode != ParenthesesMode.Never) { writer.WriteToTranslation(')'); } if (writeParametersOnNewLines) { writer.Unindent(); } }
public void WriteTo(TranslationWriter writer) { _typeNameTranslation.WriteTo(writer); writer.WriteDotToTranslation(); writer.WriteToTranslation(_enumValue); }