| File: src\runtime\src\tools\illink\src\ILLink.Shared\MessageFormat.cs | Web Access |
| Project: src\runtime\src\tools\illink\src\ILLink.RoslynAnalyzer\ILLink.RoslynAnalyzer.csproj (ILLink.RoslynAnalyzer) |
// Copyright (c) .NET Foundation and contributors. All rights reserved. // Licensed under the MIT license. See LICENSE file in the project root for full license information. // This is needed due to NativeAOT which doesn't enable nullable globally yet #nullable enable namespace ILLink.Shared { internal static class MessageFormat { public static string FormatRequiresAttributeMessageArg(string? message) { if (!string.IsNullOrEmpty(message)) return $" {message}{(message!.TrimEnd().EndsWith(".") ? "" : ".")}"; return string.Empty; } public static string FormatRequiresAttributeUrlArg(string? url) { if (!string.IsNullOrEmpty(url)) return $" {url}"; return string.Empty; } public static string FormatRequiresAttributeMismatch(bool memberHasAttribute, bool isInterface, params object[] args) { string format = (memberHasAttribute, isInterface) switch { (false, true) => SharedStrings.InterfaceRequiresMismatchMessage, (true, true) => SharedStrings.ImplementationRequiresMismatchMessage, (false, false) => SharedStrings.BaseRequiresMismatchMessage, (true, false) => SharedStrings.DerivedRequiresMismatchMessage }; return string.Format(format, args); } } }