From 4ba0da9e58bd4ce459db0960b88d06d12ea0d5c2 Mon Sep 17 00:00:00 2001 From: martincostello Date: Sun, 22 Aug 2021 10:55:57 +0100 Subject: [PATCH] Handle file-scoped namespaces Handle namespace not being emitted when file-scoped namespaces are used for a log class. Relates to #57880. --- eng/Versions.props | 4 ++-- .../gen/LoggerMessageGenerator.Parser.cs | 6 ++++-- .../LoggerMessageGeneratorEmitterTests.cs | 14 ++++++++++++++ .../LoggerMessageGeneratorParserTests.cs | 18 ++++++++++++++++++ 4 files changed, 38 insertions(+), 4 deletions(-) diff --git a/eng/Versions.props b/eng/Versions.props index e62a923332f94f..8e8427bece0f2a 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -42,8 +42,8 @@ - 3.9.0 - 3.9.0 + 4.0.0-3.final + 4.0.0-3.final 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 4a995039104b9d..625ecf438c4862 100644 --- a/src/libraries/Microsoft.Extensions.Logging.Abstractions/gen/LoggerMessageGenerator.Parser.cs +++ b/src/libraries/Microsoft.Extensions.Logging.Abstractions/gen/LoggerMessageGenerator.Parser.cs @@ -408,11 +408,13 @@ public IReadOnlyList GetLogClasses(IEnumerable diagnostics = await RunGenerator(@" + using Microsoft.Extensions.Logging; + + namespace MyLibrary; + + internal partial class Logger + { + [LoggerMessage(EventId = 1, Level = LogLevel.Information, Message = ""Hello {Name}!"")] + public static partial void Greeting(ILogger logger, string name); + } + "); + + Assert.Empty(diagnostics); + } + [Theory] [InlineData("false")] [InlineData("true")]