/
githubmirror
/
roslyn
Обзор
Документация
Войти
/
githubmirror
/
roslyn
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/Features/DiagnosticsTestUtilities/CodeActions/CSharpVerifierHelper.cs
37 строк
2 KB
Cyrus Najmabadi
Use file scoped namespaces. (#77854)
27 мар 2025, 09:55
Не верифицирован
27 мар 2025, 09:55
98d41b8
Код
Авторство
О чём код?
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. #nullable disable using System; using System.Collections.Immutable; using Microsoft.CodeAnalysis.CSharp; namespace Microsoft.CodeAnalysis.Editor.UnitTests.CodeActions; internal static class CSharpVerifierHelper { /// <summary> /// By default, the compiler reports diagnostics for nullable reference types at /// <see cref="DiagnosticSeverity.Warning"/>, and the analyzer test framework defaults to only validating /// diagnostics at <see cref="DiagnosticSeverity.Error"/>. This map contains all compiler diagnostic IDs /// related to nullability mapped to <see cref="ReportDiagnostic.Error"/>, which is then used to enable all /// of these warnings for default validation during analyzer and code fix tests. /// </summary> internal static ImmutableDictionary<string, ReportDiagnostic> NullableWarnings { get; } = GetNullableWarningsFromCompiler(); private static ImmutableDictionary<string, ReportDiagnostic> GetNullableWarningsFromCompiler() { string[] args = ["/warnaserror:nullable"]; var commandLineArguments = CSharpCommandLineParser.Default.Parse(args, baseDirectory: Environment.CurrentDirectory, sdkDirectory: Environment.CurrentDirectory); var nullableWarnings = commandLineArguments.CompilationOptions.SpecificDiagnosticOptions; // Workaround for https://github.com/dotnet/roslyn/issues/41610 nullableWarnings = nullableWarnings .SetItem("CS8632", ReportDiagnostic.Error) .SetItem("CS8669", ReportDiagnostic.Error); return nullableWarnings; } }