diff --git a/src/libraries/Microsoft.Extensions.Logging.Abstractions/gen/LoggerMessageGenerator.Emitter.cs b/src/libraries/Microsoft.Extensions.Logging.Abstractions/gen/LoggerMessageGenerator.Emitter.cs index d075aa4bf45857..e78cc9a676b239 100644 --- a/src/libraries/Microsoft.Extensions.Logging.Abstractions/gen/LoggerMessageGenerator.Emitter.cs +++ b/src/libraries/Microsoft.Extensions.Logging.Abstractions/gen/LoggerMessageGenerator.Emitter.cs @@ -206,7 +206,7 @@ private void GenFieldAssignments(LoggerMethod lm, string nestedIndentation) { foreach (LoggerParameter p in lm.TemplateParameters) { - _builder.AppendLine($" {nestedIndentation}this._{p.Name} = {p.Name};"); + _builder.AppendLine($" {nestedIndentation}this._{p.Name} = {p.CodeName};"); } } @@ -265,7 +265,7 @@ private void GenCallbackArguments(LoggerMethod lm) { foreach (LoggerParameter p in lm.TemplateParameters) { - _builder.Append($"{p.Name}, "); + _builder.Append($"{p.CodeName}, "); } } @@ -323,7 +323,7 @@ private void GenParameters(LoggerMethod lm) { _builder.Append($"{p.Qualifier} "); } - _builder.Append($"{p.Type} {p.Name}"); + _builder.Append($"{p.Type} {p.CodeName}"); } } @@ -341,7 +341,7 @@ private void GenArguments(LoggerMethod lm) _builder.Append(", "); } - _builder.Append($"{p.Type} {p.Name}"); + _builder.Append($"{p.Type} {p.CodeName}"); } } @@ -357,7 +357,7 @@ private void GenHolder(LoggerMethod lm) _builder.Append(", "); } - _builder.Append(p.Name); + _builder.Append(p.CodeName); } _builder.Append(')'); diff --git a/src/libraries/Microsoft.Extensions.Logging.Abstractions/gen/LoggerMessageGenerator.Parser.cs b/src/libraries/Microsoft.Extensions.Logging.Abstractions/gen/LoggerMessageGenerator.Parser.cs index dbd59c7df16e5a..22ee4d13ef1caf 100644 --- a/src/libraries/Microsoft.Extensions.Logging.Abstractions/gen/LoggerMessageGenerator.Parser.cs +++ b/src/libraries/Microsoft.Extensions.Logging.Abstractions/gen/LoggerMessageGenerator.Parser.cs @@ -306,6 +306,15 @@ public IReadOnlyList GetLogClasses(IEnumerable 0) + { + ParameterSyntax paramSyntax = paramSymbol.DeclaringSyntaxReferences[0].GetSyntax(_cancellationToken) as ParameterSyntax; + if (paramSyntax != null && !string.IsNullOrEmpty(paramSyntax.Identifier.Text)) + { + needsAtSign = paramSyntax.Identifier.Text[0] == '@'; + } + } if (string.IsNullOrWhiteSpace(paramName)) { // semantic problem, just bail quietly @@ -339,6 +348,7 @@ public IReadOnlyList GetLogClasses(IEnumerable