未验证 提交 7d08ecde 编写于 作者: M Manish Vasani 提交者: GitHub

Merge pull request #24069 from mavasani/DiagnosticCreateCrash

Fix ArgumentException when creating diagnostic with effective severit…
// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using Roslyn.Test.Utilities;
using Xunit;
namespace Microsoft.CodeAnalysis.UnitTests.Diagnostics
{
public partial class DiagnosticCreationTests
{
[Fact, WorkItem(547049, "https://devdiv.visualstudio.com/DevDiv/_workitems?id=547049")]
public void TestDiagnosticCreationWithOverriddenSeverity()
{
var defaultSeverity = DiagnosticSeverity.Info;
var effectiveSeverity = DiagnosticSeverity.Error;
var descriptor = new DiagnosticDescriptor("ID", "Title", "MessageFormat", "Category", defaultSeverity, isEnabledByDefault: true);
var diagnostic = Diagnostic.Create(descriptor, Location.None, effectiveSeverity, additionalLocations: null, properties: null);
Assert.Equal(effectiveSeverity, diagnostic.Severity);
Assert.Equal(0, diagnostic.WarningLevel);
}
}
}
......@@ -139,7 +139,7 @@ public abstract partial class Diagnostic : IEquatable<Diagnostic>, IFormattable
throw new ArgumentNullException(nameof(descriptor));
}
var warningLevel = GetDefaultWarningLevel(descriptor.DefaultSeverity);
var warningLevel = GetDefaultWarningLevel(effectiveSeverity);
return SimpleDiagnostic.Create(
descriptor,
severity: effectiveSeverity,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册