From c26776aa3a0323527207d18155f8c4b7d49bca47 Mon Sep 17 00:00:00 2001 From: nogic1008 <24802730+nogic1008@users.noreply.github.com> Date: Mon, 9 Dec 2024 22:18:47 +0900 Subject: [PATCH 1/3] perf: use `Nullable.GetValueOrDefault()` instead of `Nullable.Value` --- .../Utf8StringWriter.AppendFormatted.cs | 175 +++++++++--------- .../Utf8StringWriter.AppendFormatted.tt | 12 +- .../Utf8StringWriter.cs | 8 +- 3 files changed, 98 insertions(+), 97 deletions(-) diff --git a/src/Utf8StringInterpolation/Utf8StringWriter.AppendFormatted.cs b/src/Utf8StringInterpolation/Utf8StringWriter.AppendFormatted.cs index b9bc0e8..171f7f5 100644 --- a/src/Utf8StringInterpolation/Utf8StringWriter.AppendFormatted.cs +++ b/src/Utf8StringInterpolation/Utf8StringWriter.AppendFormatted.cs @@ -10,15 +10,15 @@ public ref partial struct Utf8StringWriter [MethodImpl(MethodImplOptions.AggressiveInlining)] public void AppendFormatted(bool? value, int alignment = 0, string? format = null) { - if (value == null) + if (!value.HasValue) { if (alignment != 0) { - AppendFormatted("", alignment); // write only alignment + AppendWhitespace(alignment < 0 ? -alignment : alignment); } return; } - AppendFormatted(value.Value, alignment, format); + AppendFormatted(value.GetValueOrDefault(), alignment, format); } [MethodImpl(MethodImplOptions.AggressiveInlining)] @@ -96,15 +96,15 @@ void AppendFormattedAlignment(bool value, int alignment, string? format) [MethodImpl(MethodImplOptions.AggressiveInlining)] public void AppendFormatted(byte? value, int alignment = 0, string? format = null) { - if (value == null) + if (!value.HasValue) { if (alignment != 0) { - AppendFormatted("", alignment); // write only alignment + AppendWhitespace(alignment < 0 ? -alignment : alignment); } return; } - AppendFormatted(value.Value, alignment, format); + AppendFormatted(value.GetValueOrDefault(), alignment, format); } [MethodImpl(MethodImplOptions.AggressiveInlining)] @@ -182,15 +182,15 @@ void AppendFormattedAlignment(byte value, int alignment, string? format) [MethodImpl(MethodImplOptions.AggressiveInlining)] public void AppendFormatted(Decimal? value, int alignment = 0, string? format = null) { - if (value == null) + if (!value.HasValue) { if (alignment != 0) { - AppendFormatted("", alignment); // write only alignment + AppendWhitespace(alignment < 0 ? -alignment : alignment); } return; } - AppendFormatted(value.Value, alignment, format); + AppendFormatted(value.GetValueOrDefault(), alignment, format); } [MethodImpl(MethodImplOptions.AggressiveInlining)] @@ -268,15 +268,15 @@ void AppendFormattedAlignment(Decimal value, int alignment, string? format) [MethodImpl(MethodImplOptions.AggressiveInlining)] public void AppendFormatted(Double? value, int alignment = 0, string? format = null) { - if (value == null) + if (!value.HasValue) { if (alignment != 0) { - AppendFormatted("", alignment); // write only alignment + AppendWhitespace(alignment < 0 ? -alignment : alignment); } return; } - AppendFormatted(value.Value, alignment, format); + AppendFormatted(value.GetValueOrDefault(), alignment, format); } [MethodImpl(MethodImplOptions.AggressiveInlining)] @@ -354,15 +354,15 @@ void AppendFormattedAlignment(Double value, int alignment, string? format) [MethodImpl(MethodImplOptions.AggressiveInlining)] public void AppendFormatted(Guid? value, int alignment = 0, string? format = null) { - if (value == null) + if (!value.HasValue) { if (alignment != 0) { - AppendFormatted("", alignment); // write only alignment + AppendWhitespace(alignment < 0 ? -alignment : alignment); } return; } - AppendFormatted(value.Value, alignment, format); + AppendFormatted(value.GetValueOrDefault(), alignment, format); } [MethodImpl(MethodImplOptions.AggressiveInlining)] @@ -440,15 +440,15 @@ void AppendFormattedAlignment(Guid value, int alignment, string? format) [MethodImpl(MethodImplOptions.AggressiveInlining)] public void AppendFormatted(Int16? value, int alignment = 0, string? format = null) { - if (value == null) + if (!value.HasValue) { if (alignment != 0) { - AppendFormatted("", alignment); // write only alignment + AppendWhitespace(alignment < 0 ? -alignment : alignment); } return; } - AppendFormatted(value.Value, alignment, format); + AppendFormatted(value.GetValueOrDefault(), alignment, format); } [MethodImpl(MethodImplOptions.AggressiveInlining)] @@ -526,15 +526,15 @@ void AppendFormattedAlignment(Int16 value, int alignment, string? format) [MethodImpl(MethodImplOptions.AggressiveInlining)] public void AppendFormatted(Int32? value, int alignment = 0, string? format = null) { - if (value == null) + if (!value.HasValue) { if (alignment != 0) { - AppendFormatted("", alignment); // write only alignment + AppendWhitespace(alignment < 0 ? -alignment : alignment); } return; } - AppendFormatted(value.Value, alignment, format); + AppendFormatted(value.GetValueOrDefault(), alignment, format); } [MethodImpl(MethodImplOptions.AggressiveInlining)] @@ -612,15 +612,15 @@ void AppendFormattedAlignment(Int32 value, int alignment, string? format) [MethodImpl(MethodImplOptions.AggressiveInlining)] public void AppendFormatted(Int64? value, int alignment = 0, string? format = null) { - if (value == null) + if (!value.HasValue) { if (alignment != 0) { - AppendFormatted("", alignment); // write only alignment + AppendWhitespace(alignment < 0 ? -alignment : alignment); } return; } - AppendFormatted(value.Value, alignment, format); + AppendFormatted(value.GetValueOrDefault(), alignment, format); } [MethodImpl(MethodImplOptions.AggressiveInlining)] @@ -698,15 +698,15 @@ void AppendFormattedAlignment(Int64 value, int alignment, string? format) [MethodImpl(MethodImplOptions.AggressiveInlining)] public void AppendFormatted(SByte? value, int alignment = 0, string? format = null) { - if (value == null) + if (!value.HasValue) { if (alignment != 0) { - AppendFormatted("", alignment); // write only alignment + AppendWhitespace(alignment < 0 ? -alignment : alignment); } return; } - AppendFormatted(value.Value, alignment, format); + AppendFormatted(value.GetValueOrDefault(), alignment, format); } [MethodImpl(MethodImplOptions.AggressiveInlining)] @@ -784,15 +784,15 @@ void AppendFormattedAlignment(SByte value, int alignment, string? format) [MethodImpl(MethodImplOptions.AggressiveInlining)] public void AppendFormatted(Single? value, int alignment = 0, string? format = null) { - if (value == null) + if (!value.HasValue) { if (alignment != 0) { - AppendFormatted("", alignment); // write only alignment + AppendWhitespace(alignment < 0 ? -alignment : alignment); } return; } - AppendFormatted(value.Value, alignment, format); + AppendFormatted(value.GetValueOrDefault(), alignment, format); } [MethodImpl(MethodImplOptions.AggressiveInlining)] @@ -870,15 +870,15 @@ void AppendFormattedAlignment(Single value, int alignment, string? format) [MethodImpl(MethodImplOptions.AggressiveInlining)] public void AppendFormatted(UInt16? value, int alignment = 0, string? format = null) { - if (value == null) + if (!value.HasValue) { if (alignment != 0) { - AppendFormatted("", alignment); // write only alignment + AppendWhitespace(alignment < 0 ? -alignment : alignment); } return; } - AppendFormatted(value.Value, alignment, format); + AppendFormatted(value.GetValueOrDefault(), alignment, format); } [MethodImpl(MethodImplOptions.AggressiveInlining)] @@ -956,15 +956,15 @@ void AppendFormattedAlignment(UInt16 value, int alignment, string? format) [MethodImpl(MethodImplOptions.AggressiveInlining)] public void AppendFormatted(UInt32? value, int alignment = 0, string? format = null) { - if (value == null) + if (!value.HasValue) { if (alignment != 0) { - AppendFormatted("", alignment); // write only alignment + AppendWhitespace(alignment < 0 ? -alignment : alignment); } return; } - AppendFormatted(value.Value, alignment, format); + AppendFormatted(value.GetValueOrDefault(), alignment, format); } [MethodImpl(MethodImplOptions.AggressiveInlining)] @@ -1042,15 +1042,15 @@ void AppendFormattedAlignment(UInt32 value, int alignment, string? format) [MethodImpl(MethodImplOptions.AggressiveInlining)] public void AppendFormatted(UInt64? value, int alignment = 0, string? format = null) { - if (value == null) + if (!value.HasValue) { if (alignment != 0) { - AppendFormatted("", alignment); // write only alignment + AppendWhitespace(alignment < 0 ? -alignment : alignment); } return; } - AppendFormatted(value.Value, alignment, format); + AppendFormatted(value.GetValueOrDefault(), alignment, format); } [MethodImpl(MethodImplOptions.AggressiveInlining)] @@ -1128,15 +1128,15 @@ void AppendFormattedAlignment(UInt64 value, int alignment, string? format) [MethodImpl(MethodImplOptions.AggressiveInlining)] public void AppendFormatted(DateTime? value, int alignment = 0, string? format = null) { - if (value == null) + if (!value.HasValue) { if (alignment != 0) { - AppendFormatted("", alignment); // write only alignment + AppendWhitespace(alignment < 0 ? -alignment : alignment); } return; } - AppendFormatted(value.Value, alignment, format); + AppendFormatted(value.GetValueOrDefault(), alignment, format); } [MethodImpl(MethodImplOptions.AggressiveInlining)] @@ -1214,15 +1214,15 @@ void AppendFormattedAlignment(DateTime value, int alignment, string? format) [MethodImpl(MethodImplOptions.AggressiveInlining)] public void AppendFormatted(DateTimeOffset? value, int alignment = 0, string? format = null) { - if (value == null) + if (!value.HasValue) { if (alignment != 0) { - AppendFormatted("", alignment); // write only alignment + AppendWhitespace(alignment < 0 ? -alignment : alignment); } return; } - AppendFormatted(value.Value, alignment, format); + AppendFormatted(value.GetValueOrDefault(), alignment, format); } [MethodImpl(MethodImplOptions.AggressiveInlining)] @@ -1300,15 +1300,15 @@ void AppendFormattedAlignment(DateTimeOffset value, int alignment, string? forma [MethodImpl(MethodImplOptions.AggressiveInlining)] public void AppendFormatted(TimeSpan? value, int alignment = 0, string? format = null) { - if (value == null) + if (!value.HasValue) { if (alignment != 0) { - AppendFormatted("", alignment); // write only alignment + AppendWhitespace(alignment < 0 ? -alignment : alignment); } return; } - AppendFormatted(value.Value, alignment, format); + AppendFormatted(value.GetValueOrDefault(), alignment, format); } [MethodImpl(MethodImplOptions.AggressiveInlining)] @@ -1386,15 +1386,15 @@ void AppendFormattedAlignment(TimeSpan value, int alignment, string? format) [MethodImpl(MethodImplOptions.AggressiveInlining)] public void AppendFormatted(char? value, int alignment = 0, string? format = null) { - if (value == null) + if (!value.HasValue) { if (alignment != 0) { - AppendFormatted("", alignment); // write only alignment + AppendWhitespace(alignment < 0 ? -alignment : alignment); } return; } - AppendFormatted(value.Value, alignment, format); + AppendFormatted(value.GetValueOrDefault(), alignment, format); } [MethodImpl(MethodImplOptions.AggressiveInlining)] @@ -1473,15 +1473,15 @@ void AppendFormattedAlignment(char value, int alignment, string? format) [MethodImpl(MethodImplOptions.AggressiveInlining)] public void AppendFormatted(byte? value, int alignment = 0, string? format = null) { - if (value == null) + if (!value.HasValue) { if (alignment != 0) { - AppendFormatted("", alignment); // write only alignment + AppendWhitespace(alignment < 0 ? -alignment : alignment); } return; } - AppendFormatted(value.Value, alignment, format); + AppendFormatted(value.GetValueOrDefault(), alignment, format); } [MethodImpl(MethodImplOptions.AggressiveInlining)] @@ -1504,18 +1504,19 @@ public void AppendFormatted(byte value, int alignment = 0, string? format = null } } + [MethodImpl(MethodImplOptions.AggressiveInlining)] public void AppendFormatted(Decimal? value, int alignment = 0, string? format = null) { - if (value == null) + if (!value.HasValue) { if (alignment != 0) { - AppendFormatted("", alignment); // write only alignment + AppendWhitespace(alignment < 0 ? -alignment : alignment); } return; } - AppendFormatted(value.Value, alignment, format); + AppendFormatted(value.GetValueOrDefault(), alignment, format); } [MethodImpl(MethodImplOptions.AggressiveInlining)] @@ -1541,15 +1542,15 @@ public void AppendFormatted(Decimal value, int alignment = 0, string? format = n [MethodImpl(MethodImplOptions.AggressiveInlining)] public void AppendFormatted(Double? value, int alignment = 0, string? format = null) { - if (value == null) + if (!value.HasValue) { if (alignment != 0) { - AppendFormatted("", alignment); // write only alignment + AppendWhitespace(alignment < 0 ? -alignment : alignment); } return; } - AppendFormatted(value.Value, alignment, format); + AppendFormatted(value.GetValueOrDefault(), alignment, format); } [MethodImpl(MethodImplOptions.AggressiveInlining)] @@ -1575,15 +1576,15 @@ public void AppendFormatted(Double value, int alignment = 0, string? format = nu [MethodImpl(MethodImplOptions.AggressiveInlining)] public void AppendFormatted(Guid? value, int alignment = 0, string? format = null) { - if (value == null) + if (!value.HasValue) { if (alignment != 0) { - AppendFormatted("", alignment); // write only alignment + AppendWhitespace(alignment < 0 ? -alignment : alignment); } return; } - AppendFormatted(value.Value, alignment, format); + AppendFormatted(value.GetValueOrDefault(), alignment, format); } [MethodImpl(MethodImplOptions.AggressiveInlining)] @@ -1609,15 +1610,15 @@ public void AppendFormatted(Guid value, int alignment = 0, string? format = null [MethodImpl(MethodImplOptions.AggressiveInlining)] public void AppendFormatted(Int16? value, int alignment = 0, string? format = null) { - if (value == null) + if (!value.HasValue) { if (alignment != 0) { - AppendFormatted("", alignment); // write only alignment + AppendWhitespace(alignment < 0 ? -alignment : alignment); } return; } - AppendFormatted(value.Value, alignment, format); + AppendFormatted(value.GetValueOrDefault(), alignment, format); } [MethodImpl(MethodImplOptions.AggressiveInlining)] @@ -1643,15 +1644,15 @@ public void AppendFormatted(Int16 value, int alignment = 0, string? format = nul [MethodImpl(MethodImplOptions.AggressiveInlining)] public void AppendFormatted(Int32? value, int alignment = 0, string? format = null) { - if (value == null) + if (!value.HasValue) { if (alignment != 0) { - AppendFormatted("", alignment); // write only alignment + AppendWhitespace(alignment < 0 ? -alignment : alignment); } return; } - AppendFormatted(value.Value, alignment, format); + AppendFormatted(value.GetValueOrDefault(), alignment, format); } [MethodImpl(MethodImplOptions.AggressiveInlining)] @@ -1677,15 +1678,15 @@ public void AppendFormatted(Int32 value, int alignment = 0, string? format = nul [MethodImpl(MethodImplOptions.AggressiveInlining)] public void AppendFormatted(Int64? value, int alignment = 0, string? format = null) { - if (value == null) + if (!value.HasValue) { if (alignment != 0) { - AppendFormatted("", alignment); // write only alignment + AppendWhitespace(alignment < 0 ? -alignment : alignment); } return; } - AppendFormatted(value.Value, alignment, format); + AppendFormatted(value.GetValueOrDefault(), alignment, format); } [MethodImpl(MethodImplOptions.AggressiveInlining)] @@ -1711,15 +1712,15 @@ public void AppendFormatted(Int64 value, int alignment = 0, string? format = nul [MethodImpl(MethodImplOptions.AggressiveInlining)] public void AppendFormatted(SByte? value, int alignment = 0, string? format = null) { - if (value == null) + if (!value.HasValue) { if (alignment != 0) { - AppendFormatted("", alignment); // write only alignment + AppendWhitespace(alignment < 0 ? -alignment : alignment); } return; } - AppendFormatted(value.Value, alignment, format); + AppendFormatted(value.GetValueOrDefault(), alignment, format); } [MethodImpl(MethodImplOptions.AggressiveInlining)] @@ -1745,15 +1746,15 @@ public void AppendFormatted(SByte value, int alignment = 0, string? format = nul [MethodImpl(MethodImplOptions.AggressiveInlining)] public void AppendFormatted(Single? value, int alignment = 0, string? format = null) { - if (value == null) + if (!value.HasValue) { if (alignment != 0) { - AppendFormatted("", alignment); // write only alignment + AppendWhitespace(alignment < 0 ? -alignment : alignment); } return; } - AppendFormatted(value.Value, alignment, format); + AppendFormatted(value.GetValueOrDefault(), alignment, format); } [MethodImpl(MethodImplOptions.AggressiveInlining)] @@ -1779,15 +1780,15 @@ public void AppendFormatted(Single value, int alignment = 0, string? format = nu [MethodImpl(MethodImplOptions.AggressiveInlining)] public void AppendFormatted(UInt16? value, int alignment = 0, string? format = null) { - if (value == null) + if (!value.HasValue) { if (alignment != 0) { - AppendFormatted("", alignment); // write only alignment + AppendWhitespace(alignment < 0 ? -alignment : alignment); } return; } - AppendFormatted(value.Value, alignment, format); + AppendFormatted(value.GetValueOrDefault(), alignment, format); } [MethodImpl(MethodImplOptions.AggressiveInlining)] @@ -1813,15 +1814,15 @@ public void AppendFormatted(UInt16 value, int alignment = 0, string? format = nu [MethodImpl(MethodImplOptions.AggressiveInlining)] public void AppendFormatted(UInt32? value, int alignment = 0, string? format = null) { - if (value == null) + if (!value.HasValue) { if (alignment != 0) { - AppendFormatted("", alignment); // write only alignment + AppendWhitespace(alignment < 0 ? -alignment : alignment); } return; } - AppendFormatted(value.Value, alignment, format); + AppendFormatted(value.GetValueOrDefault(), alignment, format); } [MethodImpl(MethodImplOptions.AggressiveInlining)] @@ -1847,15 +1848,15 @@ public void AppendFormatted(UInt32 value, int alignment = 0, string? format = nu [MethodImpl(MethodImplOptions.AggressiveInlining)] public void AppendFormatted(UInt64? value, int alignment = 0, string? format = null) { - if (value == null) + if (!value.HasValue) { if (alignment != 0) { - AppendFormatted("", alignment); // write only alignment + AppendWhitespace(alignment < 0 ? -alignment : alignment); } return; } - AppendFormatted(value.Value, alignment, format); + AppendFormatted(value.GetValueOrDefault(), alignment, format); } [MethodImpl(MethodImplOptions.AggressiveInlining)] diff --git a/src/Utf8StringInterpolation/Utf8StringWriter.AppendFormatted.tt b/src/Utf8StringInterpolation/Utf8StringWriter.AppendFormatted.tt index 1cb3726..95602e2 100644 --- a/src/Utf8StringInterpolation/Utf8StringWriter.AppendFormatted.tt +++ b/src/Utf8StringInterpolation/Utf8StringWriter.AppendFormatted.tt @@ -33,15 +33,15 @@ public ref partial struct Utf8StringWriter [MethodImpl(MethodImplOptions.AggressiveInlining)] public void AppendFormatted(<#= x.type #>? value, int alignment = 0, string? format = null) { - if (value == null) + if (!value.HasValue) { if (alignment != 0) { - AppendFormatted("", alignment); // write only alignment + AppendWhitespace(alignment < 0 ? -alignment : alignment); } return; } - AppendFormatted(value.Value, alignment, format); + AppendFormatted(value.GetValueOrDefault(), alignment, format); } [MethodImpl(MethodImplOptions.AggressiveInlining)] @@ -122,15 +122,15 @@ public ref partial struct Utf8StringWriter [MethodImpl(MethodImplOptions.AggressiveInlining)] public void AppendFormatted(<#= x #>? value, int alignment = 0, string? format = null) { - if (value == null) + if (!value.HasValue) { if (alignment != 0) { - AppendFormatted("", alignment); // write only alignment + AppendWhitespace(alignment < 0 ? -alignment : alignment); } return; } - AppendFormatted(value.Value, alignment, format); + AppendFormatted(value.GetValueOrDefault(), alignment, format); } [MethodImpl(MethodImplOptions.AggressiveInlining)] diff --git a/src/Utf8StringInterpolation/Utf8StringWriter.cs b/src/Utf8StringInterpolation/Utf8StringWriter.cs index 3c93c6f..3a0c1c9 100644 --- a/src/Utf8StringInterpolation/Utf8StringWriter.cs +++ b/src/Utf8StringInterpolation/Utf8StringWriter.cs @@ -233,18 +233,18 @@ public void AppendFormatted(string value, int alignment = 0, string? format = nu } } - public void AppendFormatted(Nullable value, int alignment = 0, string? format = null) + public void AppendFormatted(T? value, int alignment = 0, string? format = null) where T : struct { - if (value == null) + if (!value.HasValue) { if (alignment != 0) { - AppendFormatted("", alignment); + AppendWhitespace(alignment < 0 ? -alignment : alignment); } return; } - AppendFormatted(value.Value, alignment, format); + AppendFormatted(value.GetValueOrDefault(), alignment, format); } void AppendFormattedCore(T value, int alignment = 0, string? format = null) From e553d876f0ec5b86d4fc0549a3aa68d339488911 Mon Sep 17 00:00:00 2001 From: nogic1008 <24802730+nogic1008@users.noreply.github.com> Date: Mon, 9 Dec 2024 22:21:06 +0900 Subject: [PATCH 2/3] style: replace tab to whitespace --- .../Utf8StringWriter.AppendFormatted.cs | 114 +++++++++--------- .../Utf8StringWriter.AppendFormatted.tt | 10 +- 2 files changed, 62 insertions(+), 62 deletions(-) diff --git a/src/Utf8StringInterpolation/Utf8StringWriter.AppendFormatted.cs b/src/Utf8StringInterpolation/Utf8StringWriter.AppendFormatted.cs index 171f7f5..5a21ee0 100644 --- a/src/Utf8StringInterpolation/Utf8StringWriter.AppendFormatted.cs +++ b/src/Utf8StringInterpolation/Utf8StringWriter.AppendFormatted.cs @@ -1894,68 +1894,68 @@ public void AppendFormatted(T value, int alignment = 0, string? format = null } #if !NET8_0_OR_GREATER else if (typeof(T) == typeof(byte)) - { + { AppendFormatted(Unsafe.As(ref value), alignment, format); - } + } else if (typeof(T) == typeof(Decimal)) - { + { AppendFormatted(Unsafe.As(ref value), alignment, format); - } + } else if (typeof(T) == typeof(Double)) - { + { AppendFormatted(Unsafe.As(ref value), alignment, format); - } + } else if (typeof(T) == typeof(Guid)) - { + { AppendFormatted(Unsafe.As(ref value), alignment, format); - } + } else if (typeof(T) == typeof(Int16)) - { + { AppendFormatted(Unsafe.As(ref value), alignment, format); - } + } else if (typeof(T) == typeof(Int32)) - { + { AppendFormatted(Unsafe.As(ref value), alignment, format); - } + } else if (typeof(T) == typeof(Int64)) - { + { AppendFormatted(Unsafe.As(ref value), alignment, format); - } + } else if (typeof(T) == typeof(SByte)) - { + { AppendFormatted(Unsafe.As(ref value), alignment, format); - } + } else if (typeof(T) == typeof(Single)) - { + { AppendFormatted(Unsafe.As(ref value), alignment, format); - } + } else if (typeof(T) == typeof(UInt16)) - { + { AppendFormatted(Unsafe.As(ref value), alignment, format); - } + } else if (typeof(T) == typeof(UInt32)) - { + { AppendFormatted(Unsafe.As(ref value), alignment, format); - } + } else if (typeof(T) == typeof(UInt64)) - { + { AppendFormatted(Unsafe.As(ref value), alignment, format); - } + } else if (typeof(T) == typeof(DateTime)) - { + { AppendFormatted(Unsafe.As(ref value), alignment, format); - } + } else if (typeof(T) == typeof(DateTimeOffset)) - { + { AppendFormatted(Unsafe.As(ref value), alignment, format); - } + } else if (typeof(T) == typeof(TimeSpan)) - { + { AppendFormatted(Unsafe.As(ref value), alignment, format); - } + } #else else if (typeof(T) == typeof(bool)) - { + { if (alignment == 0 && format == null) { AppendFormatted(Unsafe.As(ref value)); @@ -1964,9 +1964,9 @@ public void AppendFormatted(T value, int alignment = 0, string? format = null { AppendFormattedCore(value, alignment, format); } - } + } else if (typeof(T) == typeof(byte)) - { + { if (alignment == 0 && format == null) { AppendFormatted(Unsafe.As(ref value)); @@ -1975,9 +1975,9 @@ public void AppendFormatted(T value, int alignment = 0, string? format = null { AppendFormattedCore(value, alignment, format); } - } + } else if (typeof(T) == typeof(Decimal)) - { + { if (alignment == 0 && format == null) { AppendFormatted(Unsafe.As(ref value)); @@ -1986,9 +1986,9 @@ public void AppendFormatted(T value, int alignment = 0, string? format = null { AppendFormattedCore(value, alignment, format); } - } + } else if (typeof(T) == typeof(Double)) - { + { if (alignment == 0 && format == null) { AppendFormatted(Unsafe.As(ref value)); @@ -1997,9 +1997,9 @@ public void AppendFormatted(T value, int alignment = 0, string? format = null { AppendFormattedCore(value, alignment, format); } - } + } else if (typeof(T) == typeof(Guid)) - { + { if (alignment == 0 && format == null) { AppendFormatted(Unsafe.As(ref value)); @@ -2008,9 +2008,9 @@ public void AppendFormatted(T value, int alignment = 0, string? format = null { AppendFormattedCore(value, alignment, format); } - } + } else if (typeof(T) == typeof(Int16)) - { + { if (alignment == 0 && format == null) { AppendFormatted(Unsafe.As(ref value)); @@ -2019,9 +2019,9 @@ public void AppendFormatted(T value, int alignment = 0, string? format = null { AppendFormattedCore(value, alignment, format); } - } + } else if (typeof(T) == typeof(Int32)) - { + { if (alignment == 0 && format == null) { AppendFormatted(Unsafe.As(ref value)); @@ -2030,9 +2030,9 @@ public void AppendFormatted(T value, int alignment = 0, string? format = null { AppendFormattedCore(value, alignment, format); } - } + } else if (typeof(T) == typeof(Int64)) - { + { if (alignment == 0 && format == null) { AppendFormatted(Unsafe.As(ref value)); @@ -2041,9 +2041,9 @@ public void AppendFormatted(T value, int alignment = 0, string? format = null { AppendFormattedCore(value, alignment, format); } - } + } else if (typeof(T) == typeof(SByte)) - { + { if (alignment == 0 && format == null) { AppendFormatted(Unsafe.As(ref value)); @@ -2052,9 +2052,9 @@ public void AppendFormatted(T value, int alignment = 0, string? format = null { AppendFormattedCore(value, alignment, format); } - } + } else if (typeof(T) == typeof(Single)) - { + { if (alignment == 0 && format == null) { AppendFormatted(Unsafe.As(ref value)); @@ -2063,9 +2063,9 @@ public void AppendFormatted(T value, int alignment = 0, string? format = null { AppendFormattedCore(value, alignment, format); } - } + } else if (typeof(T) == typeof(UInt16)) - { + { if (alignment == 0 && format == null) { AppendFormatted(Unsafe.As(ref value)); @@ -2074,9 +2074,9 @@ public void AppendFormatted(T value, int alignment = 0, string? format = null { AppendFormattedCore(value, alignment, format); } - } + } else if (typeof(T) == typeof(UInt32)) - { + { if (alignment == 0 && format == null) { AppendFormatted(Unsafe.As(ref value)); @@ -2085,9 +2085,9 @@ public void AppendFormatted(T value, int alignment = 0, string? format = null { AppendFormattedCore(value, alignment, format); } - } + } else if (typeof(T) == typeof(UInt64)) - { + { if (alignment == 0 && format == null) { AppendFormatted(Unsafe.As(ref value)); @@ -2096,11 +2096,11 @@ public void AppendFormatted(T value, int alignment = 0, string? format = null { AppendFormattedCore(value, alignment, format); } - } + } #endif else { AppendFormattedCore(value, alignment, format); } } -} \ No newline at end of file +} diff --git a/src/Utf8StringInterpolation/Utf8StringWriter.AppendFormatted.tt b/src/Utf8StringInterpolation/Utf8StringWriter.AppendFormatted.tt index 95602e2..597d3e2 100644 --- a/src/Utf8StringInterpolation/Utf8StringWriter.AppendFormatted.tt +++ b/src/Utf8StringInterpolation/Utf8StringWriter.AppendFormatted.tt @@ -170,14 +170,14 @@ public ref partial struct Utf8StringWriter #if !NET8_0_OR_GREATER <# foreach(var x in generateTypes.Where(x => x.type is not "bool" and not "char")) { #> else if (typeof(T) == typeof(<#= x.type #>)) - { + { AppendFormatted(Unsafe.As>(ref value), alignment, format); - } + } <# } #> #else <# foreach(var x in utf8FormatterTypes) { #> else if (typeof(T) == typeof(<#= x #>)) - { + { if (alignment == 0 && format == null) { AppendFormatted(Unsafe.As>(ref value)); @@ -186,7 +186,7 @@ public ref partial struct Utf8StringWriter { AppendFormattedCore(value, alignment, format); } - } + } <# } #> #endif else @@ -194,4 +194,4 @@ public ref partial struct Utf8StringWriter AppendFormattedCore(value, alignment, format); } } -} \ No newline at end of file +} From 8e395c3ff9ea2e412b6ba5466248fabc9c649e6e Mon Sep 17 00:00:00 2001 From: nogic1008 <24802730+nogic1008@users.noreply.github.com> Date: Mon, 9 Dec 2024 22:24:35 +0900 Subject: [PATCH 3/3] fix: resolve mismatch between T4 template and generated code --- .../Utf8StringWriter.AppendFormatted.cs | 32 +++++++++---------- .../Utf8StringWriter.AppendFormatted.tt | 2 +- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/src/Utf8StringInterpolation/Utf8StringWriter.AppendFormatted.cs b/src/Utf8StringInterpolation/Utf8StringWriter.AppendFormatted.cs index 5a21ee0..9b2881d 100644 --- a/src/Utf8StringInterpolation/Utf8StringWriter.AppendFormatted.cs +++ b/src/Utf8StringInterpolation/Utf8StringWriter.AppendFormatted.cs @@ -41,7 +41,7 @@ public void AppendFormatted(bool value, int alignment = 0, string? format = null void AppendFormattedAlignment(bool value, int alignment, string? format) { - var bytesWritten = 0; + int bytesWritten; // add left whitespace if (alignment > 0) @@ -127,7 +127,7 @@ public void AppendFormatted(byte value, int alignment = 0, string? format = null void AppendFormattedAlignment(byte value, int alignment, string? format) { - var bytesWritten = 0; + int bytesWritten; // add left whitespace if (alignment > 0) @@ -213,7 +213,7 @@ public void AppendFormatted(Decimal value, int alignment = 0, string? format = n void AppendFormattedAlignment(Decimal value, int alignment, string? format) { - var bytesWritten = 0; + int bytesWritten; // add left whitespace if (alignment > 0) @@ -299,7 +299,7 @@ public void AppendFormatted(Double value, int alignment = 0, string? format = nu void AppendFormattedAlignment(Double value, int alignment, string? format) { - var bytesWritten = 0; + int bytesWritten; // add left whitespace if (alignment > 0) @@ -385,7 +385,7 @@ public void AppendFormatted(Guid value, int alignment = 0, string? format = null void AppendFormattedAlignment(Guid value, int alignment, string? format) { - var bytesWritten = 0; + int bytesWritten; // add left whitespace if (alignment > 0) @@ -471,7 +471,7 @@ public void AppendFormatted(Int16 value, int alignment = 0, string? format = nul void AppendFormattedAlignment(Int16 value, int alignment, string? format) { - var bytesWritten = 0; + int bytesWritten; // add left whitespace if (alignment > 0) @@ -557,7 +557,7 @@ public void AppendFormatted(Int32 value, int alignment = 0, string? format = nul void AppendFormattedAlignment(Int32 value, int alignment, string? format) { - var bytesWritten = 0; + int bytesWritten; // add left whitespace if (alignment > 0) @@ -643,7 +643,7 @@ public void AppendFormatted(Int64 value, int alignment = 0, string? format = nul void AppendFormattedAlignment(Int64 value, int alignment, string? format) { - var bytesWritten = 0; + int bytesWritten; // add left whitespace if (alignment > 0) @@ -729,7 +729,7 @@ public void AppendFormatted(SByte value, int alignment = 0, string? format = nul void AppendFormattedAlignment(SByte value, int alignment, string? format) { - var bytesWritten = 0; + int bytesWritten; // add left whitespace if (alignment > 0) @@ -815,7 +815,7 @@ public void AppendFormatted(Single value, int alignment = 0, string? format = nu void AppendFormattedAlignment(Single value, int alignment, string? format) { - var bytesWritten = 0; + int bytesWritten; // add left whitespace if (alignment > 0) @@ -901,7 +901,7 @@ public void AppendFormatted(UInt16 value, int alignment = 0, string? format = nu void AppendFormattedAlignment(UInt16 value, int alignment, string? format) { - var bytesWritten = 0; + int bytesWritten; // add left whitespace if (alignment > 0) @@ -987,7 +987,7 @@ public void AppendFormatted(UInt32 value, int alignment = 0, string? format = nu void AppendFormattedAlignment(UInt32 value, int alignment, string? format) { - var bytesWritten = 0; + int bytesWritten; // add left whitespace if (alignment > 0) @@ -1073,7 +1073,7 @@ public void AppendFormatted(UInt64 value, int alignment = 0, string? format = nu void AppendFormattedAlignment(UInt64 value, int alignment, string? format) { - var bytesWritten = 0; + int bytesWritten; // add left whitespace if (alignment > 0) @@ -1159,7 +1159,7 @@ public void AppendFormatted(DateTime value, int alignment = 0, string? format = void AppendFormattedAlignment(DateTime value, int alignment, string? format) { - var bytesWritten = 0; + int bytesWritten; // add left whitespace if (alignment > 0) @@ -1245,7 +1245,7 @@ public void AppendFormatted(DateTimeOffset value, int alignment = 0, string? for void AppendFormattedAlignment(DateTimeOffset value, int alignment, string? format) { - var bytesWritten = 0; + int bytesWritten; // add left whitespace if (alignment > 0) @@ -1331,7 +1331,7 @@ public void AppendFormatted(TimeSpan value, int alignment = 0, string? format = void AppendFormattedAlignment(TimeSpan value, int alignment, string? format) { - var bytesWritten = 0; + int bytesWritten; // add left whitespace if (alignment > 0) diff --git a/src/Utf8StringInterpolation/Utf8StringWriter.AppendFormatted.tt b/src/Utf8StringInterpolation/Utf8StringWriter.AppendFormatted.tt index 597d3e2..88b1567 100644 --- a/src/Utf8StringInterpolation/Utf8StringWriter.AppendFormatted.tt +++ b/src/Utf8StringInterpolation/Utf8StringWriter.AppendFormatted.tt @@ -64,7 +64,7 @@ public ref partial struct Utf8StringWriter void AppendFormattedAlignment(<#= x.type #> value, int alignment, string? format) { - var bytesWritten = 0; + int bytesWritten; // add left whitespace if (alignment > 0)