From 46b643a7d9d247d90320808708aff91557b85b83 Mon Sep 17 00:00:00 2001 From: prozolic <42107886+prozolic@users.noreply.github.com> Date: Sat, 15 Feb 2025 10:21:18 +0900 Subject: [PATCH] Fix ZLoggerMessageAttribute without parameters generate CS1522 warnings --- src/ZLogger.Generator/ZLoggerGenerator.Emitter.cs | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/ZLogger.Generator/ZLoggerGenerator.Emitter.cs b/src/ZLogger.Generator/ZLoggerGenerator.Emitter.cs index 810b1ff4..a8a79b17 100644 --- a/src/ZLogger.Generator/ZLoggerGenerator.Emitter.cs +++ b/src/ZLogger.Generator/ZLoggerGenerator.Emitter.cs @@ -253,50 +253,60 @@ public void WriteJsonParameterKeyValues(global::System.Text.Json.Utf8JsonWriter sb.AppendLine($$""" public ReadOnlySpan GetParameterKey(int index) { +{{If(methodParameters.Length > 0, $$""" switch (index) { {{ForEachLine(" ", methodParameters, (x, i) => $"case {i}: return \"{x.LinkedMessageSegment.GetPropertyName()}\"u8;")}} } +""")}} global::ZLogger.Internal.CodeGeneratorUtil.ThrowArgumentOutOfRangeException(); return default!; } public string GetParameterKeyAsString(int index) { +{{If(methodParameters.Length > 0, $$""" switch (index) { {{ForEachLine(" ", methodParameters, (x, i) => $"case {i}: return \"{x.LinkedMessageSegment.GetPropertyName()}\";")}} } +""")}} global::ZLogger.Internal.CodeGeneratorUtil.ThrowArgumentOutOfRangeException(); return default!; } public object GetParameterValue(int index) { +{{If(methodParameters.Length > 0, $$""" switch (index) { {{ForEachLine(" ", methodParameters, (x, i) => $"case {i}: return this.{x.LinkedMessageSegment.NameParameter}!;")}} } +""")}} global::ZLogger.Internal.CodeGeneratorUtil.ThrowArgumentOutOfRangeException(); return default!; } public T GetParameterValue(int index) { +{{If(methodParameters.Length > 0, $$""" switch (index) { {{ForEachLine(" ", methodParameters, (x, i) => $"case {i}: return Unsafe.As<{x.Symbol.Type.ToFullyQualifiedFormatString()}, T>(ref Unsafe.AsRef(in this.{x.LinkedMessageSegment.NameParameter}));")}} } +""")}} global::ZLogger.Internal.CodeGeneratorUtil.ThrowArgumentOutOfRangeException(); return default!; } public Type GetParameterType(int index) { +{{If(methodParameters.Length > 0, $$""" switch (index) { {{ForEachLine(" ", methodParameters, (x, i) => $"case {i}: return typeof({x.Symbol.Type.ToFullyQualifiedFormatString()});")}} } +""")}} global::ZLogger.Internal.CodeGeneratorUtil.ThrowArgumentOutOfRangeException(); return default!; } @@ -317,10 +327,12 @@ void EmitKeyValuePairEnumerator(LogMethodDeclaration method) { get { +{{If(methodParameters.Length > 0, $$""" switch (index) { {{ForEachLine(" ", methodParameters, (x, i) => $"case {i}: return new(\"{x.LinkedMessageSegment.GetPropertyName()}\", {x.LinkedMessageSegment.NameParameter});")}} } +""")}} global::ZLogger.Internal.CodeGeneratorUtil.ThrowArgumentOutOfRangeException(); return default!; }