57 instantiations of CompatDifference
Microsoft.DotNet.ApiCompatibility (28)
CompatDifference.cs (1)
62
new
(MetadataInformation.DefaultLeft,
Rules\AssemblyIdentityMustMatch.cs (3)
42
differences.Add(new
CompatDifference
(
61
differences.Add(new
CompatDifference
(
176
new
(left,
Rules\AttributesMustMatch.cs (3)
42
DifferenceType.Changed => new
CompatDifference
(
49
DifferenceType.Added => new
CompatDifference
(
56
DifferenceType.Removed => new
CompatDifference
(
Rules\CannotAddAbstractMember.cs (1)
36
differences.Add(new
CompatDifference
(
Rules\CannotAddMemberToInterface.cs (1)
39
differences.Add(new
CompatDifference
(
Rules\CannotAddOrRemoveVirtualKeyword.cs (4)
38
differences.Add(new
CompatDifference
(
62
differences.Add(new
CompatDifference
(
80
differences.Add(new
CompatDifference
(
95
differences.Add(new
CompatDifference
(
Rules\CannotChangeGenericConstraints.cs (2)
108
differences.Add(new
CompatDifference
(
130
differences.Add(new
CompatDifference
(
Rules\CannotChangeParameterName.cs (1)
40
differences.Add(new
CompatDifference
(
Rules\CannotChangeVisibility.cs (2)
75
differences.Add(new
CompatDifference
(leftMetadata,
84
differences.Add(new
CompatDifference
(leftMetadata,
Rules\CannotRemoveBaseTypeOrInterface.cs (2)
62
differences.Add(new
CompatDifference
(
86
differences.Add(new
CompatDifference
(
Rules\CannotSealType.cs (2)
33
differences.Add(new
CompatDifference
(
43
differences.Add(new
CompatDifference
(
Rules\EnumsMustMatch.cs (2)
44
differences.Add(new
CompatDifference
(
76
differences.Add(new
CompatDifference
(
Rules\MembersMustExist.cs (4)
37
differences.Add(new
CompatDifference
(
47
differences.Add(new
CompatDifference
(
66
differences.Add(new
CompatDifference
(
79
differences.Add(new
CompatDifference
(
Microsoft.DotNet.ApiCompatibility.Tests (29)
CompatDifferenceTests.cs (1)
29
CompatDifference difference =
new
(left, right, diagId, message, type, memberId);
Rules\CannotAddAbstractMemberTests.cs (2)
153
new
CompatDifference
(left.MetadataInformation, right[1].MetadataInformation, DiagnosticIds.CannotAddAbstractMember, string.Empty, DifferenceType.Added, "M:CompatTests.First.FirstNested.SecondNested.SomeAbstractMethod"),
154
new
CompatDifference
(left.MetadataInformation, right[2].MetadataInformation, DiagnosticIds.CannotAddAbstractMember, string.Empty, DifferenceType.Added, "M:CompatTests.First.FirstNested.FirstNestedAbstract"),
Rules\CannotAddMemberToInterfaceTests.cs (2)
191
new
CompatDifference
(left.MetadataInformation, right[1].MetadataInformation, DiagnosticIds.CannotAddMemberToInterface, string.Empty, DifferenceType.Added, "E:CompatTests.IFoo.MyOtherEvent"),
192
new
CompatDifference
(left.MetadataInformation, right[2].MetadataInformation, DiagnosticIds.CannotAddMemberToInterface, string.Empty, DifferenceType.Added, "M:CompatTests.IFoo.MyOtherMethod"),
Rules\CannotRemoveBaseTypeOrInterfaceTests.cs (2)
274
new
CompatDifference
(leftContainer.MetadataInformation, right[1].MetadataInformation, DiagnosticIds.CannotRemoveBaseType, string.Empty, DifferenceType.Changed, "T:CompatTests.SecondBase"),
275
new
CompatDifference
(leftContainer.MetadataInformation, right[2].MetadataInformation, DiagnosticIds.CannotRemoveBaseInterface, string.Empty, DifferenceType.Changed, "T:CompatTests.First"),
Rules\CannotSealTypeTests.cs (3)
143
new
CompatDifference
(left.MetadataInformation, right.ElementAt(2).MetadataInformation, DiagnosticIds.CannotSealType, string.Empty, DifferenceType.Changed, "T:CompatTests.First"),
144
new
CompatDifference
(left.MetadataInformation, right.ElementAt(3).MetadataInformation, DiagnosticIds.CannotSealType, string.Empty, DifferenceType.Changed, "T:CompatTests.First"),
145
new
CompatDifference
(left.MetadataInformation, right.ElementAt(3).MetadataInformation, DiagnosticIds.MemberMustExist, string.Empty, DifferenceType.Removed, "M:CompatTests.First.#ctor"),
Rules\MembersMustExistTests.cs (4)
391
new
CompatDifference
(left.MetadataInformation, right.ElementAt(0).MetadataInformation, DiagnosticIds.MemberMustExist, string.Empty, DifferenceType.Removed, "F:CompatTests.First.FirstNested.SecondNested.ThirdNested.MyField"),
392
new
CompatDifference
(left.MetadataInformation, right.ElementAt(0).MetadataInformation, DiagnosticIds.MemberMustExist, string.Empty, DifferenceType.Removed, "M:CompatTests.First.FirstNested.SecondNested.MyMethod"),
393
new
CompatDifference
(left.MetadataInformation, right.ElementAt(1).MetadataInformation, DiagnosticIds.MemberMustExist, string.Empty, DifferenceType.Removed, "M:CompatTests.First.FirstNested.get_MyProperty"),
394
new
CompatDifference
(left.MetadataInformation, right.ElementAt(2).MetadataInformation, DiagnosticIds.MemberMustExist, string.Empty, DifferenceType.Removed, "M:CompatTests.First.FirstNested.SecondNested.MyMethod"),
Rules\MembersMustExistTests.Strict.cs (2)
329
new
CompatDifference
(left.MetadataInformation, right.ElementAt(0).MetadataInformation, DiagnosticIds.MemberMustExist, string.Empty, DifferenceType.Added, "F:CompatTests.First.FirstNested.SecondNested.ThirdNested.MyField"),
330
new
CompatDifference
(left.MetadataInformation, right.ElementAt(1).MetadataInformation, DiagnosticIds.MemberMustExist, string.Empty, DifferenceType.Added, "F:CompatTests.First.FirstNested.SecondNested.ThirdNested.MyField"),
Rules\TypeMustExistTests.cs (7)
340
new
CompatDifference
(left.MetadataInformation, right[1].MetadataInformation, DiagnosticIds.TypeMustExist, string.Empty, DifferenceType.Removed, "T:CompatTests.First"),
341
new
CompatDifference
(left.MetadataInformation, right[2].MetadataInformation, DiagnosticIds.TypeMustExist, string.Empty, DifferenceType.Removed, "T:CompatTests.Second"),
415
new
CompatDifference
(left.MetadataInformation, right[0].MetadataInformation, DiagnosticIds.TypeMustExist, string.Empty, DifferenceType.Removed, "T:CompatTests.First.FirstNested.SecondNested.ThirdNested"),
416
new
CompatDifference
(left.MetadataInformation, right[1].MetadataInformation, DiagnosticIds.TypeMustExist, string.Empty, DifferenceType.Removed, "T:CompatTests.First.FirstNested"),
417
new
CompatDifference
(left.MetadataInformation, right[2].MetadataInformation, DiagnosticIds.TypeMustExist, string.Empty, DifferenceType.Removed, "T:CompatTests.First.FirstNested.SecondNested"),
418
new
CompatDifference
(left.MetadataInformation, right[3].MetadataInformation, DiagnosticIds.TypeMustExist, string.Empty, DifferenceType.Removed, "T:CompatTests.First"),
502
new
CompatDifference
(left.MetadataInformation, right[1].MetadataInformation, DiagnosticIds.TypeMustExist, string.Empty, DifferenceType.Removed, "T:CompatTests.ForwardedTestType"),
Rules\TypeMustExistTests.Strict.cs (5)
257
new
CompatDifference
(left.MetadataInformation, right.ElementAt(1).MetadataInformation, DiagnosticIds.TypeMustExist, string.Empty, DifferenceType.Added, "T:CompatTests.Second"),
258
new
CompatDifference
(left.MetadataInformation, right.ElementAt(2).MetadataInformation, DiagnosticIds.TypeMustExist, string.Empty, DifferenceType.Added, "T:CompatTests.Third"),
322
new
CompatDifference
(left.MetadataInformation, right.First().MetadataInformation, DiagnosticIds.TypeMustExist, string.Empty, DifferenceType.Added, "T:CompatTests.First.FirstNested.SecondNested.ThirdNested"),
355
new
CompatDifference
(left.MetadataInformation, right.First().MetadataInformation, DiagnosticIds.TypeMustExist, string.Empty, DifferenceType.Added, "T:CompatTests.ForwardedTestType"),
356
new
CompatDifference
(left.MetadataInformation, right.ElementAt(2).MetadataInformation, DiagnosticIds.TypeMustExist, string.Empty, DifferenceType.Added, "T:CompatTests.ForwardedTestType"),
Runner\ApiCompatRunnerTests.cs (1)
24
new
CompatDifference
(left, right, "CP0001", "Invalid", DifferenceType.Removed, "X01")
472 references to CompatDifference
Microsoft.DotNet.ApiCompatibility (88)
ApiComparer.cs (10)
39
public IEnumerable<
CompatDifference
> GetDifferences(IAssemblySymbol left,
47
public IEnumerable<
CompatDifference
> GetDifferences(ElementContainer<IAssemblySymbol> left,
61
public IEnumerable<
CompatDifference
> GetDifferences(IEnumerable<ElementContainer<IAssemblySymbol>> left,
75
public IEnumerable<
CompatDifference
> GetDifferences(IEnumerable<IAssemblySymbol> left,
94
public IEnumerable<
CompatDifference
> GetDifferences(ElementContainer<IAssemblySymbol> left,
112
public IEnumerable<
CompatDifference
> GetDifferences(IEnumerable<ElementContainer<IAssemblySymbol>> left,
129
private static List<
CompatDifference
> SortCompatDifferencesByInputMetadata(ILookup<MetadataInformation,
CompatDifference
> compatDifferencesLookup,
133
List<
CompatDifference
> sortedCompatDifferences = [];
141
foreach (IGrouping<MetadataInformation,
CompatDifference
> compatDifferenceGroup in compatDifferencesLookup)
CompatDifference.cs (8)
18
public readonly struct CompatDifference(MetadataInformation left, MetadataInformation right, string diagnosticId, string message, DifferenceType type, string? memberId) : IDiagnostic, IEquatable<
CompatDifference
>
61
public static
CompatDifference
CreateWithDefaultMetadata(string diagnosticId, string message, DifferenceType type, string? memberId) =>
76
public bool Equals(
CompatDifference
other) =>
84
public override bool Equals(object? obj) => obj is
CompatDifference
difference && Equals(difference);
103
public static bool operator ==(
CompatDifference
left,
CompatDifference
right) => left.Equals(right);
106
public static bool operator !=(
CompatDifference
left,
CompatDifference
right) => !(left == right);
DifferenceVisitor.cs (4)
9
/// A visitor that traverses the mapping tree and stores found differences as <see cref="
CompatDifference
" /> items.
13
private readonly HashSet<
CompatDifference
> _compatDifferences = [];
16
public IEnumerable<
CompatDifference
> CompatDifferences => _compatDifferences;
99
foreach (
CompatDifference
item in mapper.GetDifferences())
IApiComparer.cs (6)
25
IEnumerable<
CompatDifference
> GetDifferences(IAssemblySymbol left, IAssemblySymbol right);
34
IEnumerable<
CompatDifference
> GetDifferences(ElementContainer<IAssemblySymbol> left, ElementContainer<IAssemblySymbol> right);
43
IEnumerable<
CompatDifference
> GetDifferences(ElementContainer<IAssemblySymbol> left, IReadOnlyList<ElementContainer<IAssemblySymbol>> right);
52
IEnumerable<
CompatDifference
> GetDifferences(IEnumerable<IAssemblySymbol> left, IEnumerable<IAssemblySymbol> right);
61
IEnumerable<
CompatDifference
> GetDifferences(IEnumerable<ElementContainer<IAssemblySymbol>> left, IEnumerable<ElementContainer<IAssemblySymbol>> right);
70
IEnumerable<
CompatDifference
> GetDifferences(IEnumerable<ElementContainer<IAssemblySymbol>> left, IReadOnlyList<IEnumerable<ElementContainer<IAssemblySymbol>>> right);
IDifferenceVisitor.cs (2)
14
/// A list of <see cref="
CompatDifference
"/> items which are associated with <see cref="MetadataInformation" />.
16
IEnumerable<
CompatDifference
> CompatDifferences { get; }
Mapping\ElementMapper.cs (2)
13
private IEnumerable<
CompatDifference
>? _differences;
75
public IEnumerable<
CompatDifference
> GetDifferences()
Mapping\IElementMapper.cs (2)
46
/// One list of <see cref="
CompatDifference
"/> per the number of right elements that the <see cref="IElementMapper{T}"/> contains.</returns>
47
IEnumerable<
CompatDifference
> GetDifferences();
MetadataInformation.cs (1)
8
/// and different list of <see cref="
CompatDifference
"/>.
Rules\AssemblyIdentityMustMatch.cs (2)
33
private void RunOnAssemblySymbol(IAssemblySymbol? left, IAssemblySymbol? right, MetadataInformation leftMetadata, MetadataInformation rightMetadata, bool singleAssembly, IList<
CompatDifference
> differences)
175
private static
CompatDifference
CreateIdentityDifference(MetadataInformation left, MetadataInformation right, string format, string leftProperty, string rightProperty, string leftName, string rightName, AssemblyIdentity identity) =>
Rules\AttributesMustMatch.cs (5)
26
private void AddDifference(IList<
CompatDifference
> differences,
40
CompatDifference
difference = dt switch
75
IList<
CompatDifference
> differences)
174
IList<
CompatDifference
> differences)
214
IList<
CompatDifference
> differences)
Rules\CannotAddAbstractMember.cs (1)
27
private void RunOnMemberMapperAction(ISymbol? left, ISymbol? right, ITypeSymbol leftContainingType, ITypeSymbol rightContainingType, MetadataInformation leftMetadata, MetadataInformation rightMetadata, IList<
CompatDifference
> differences)
Rules\CannotAddMemberToInterface.cs (1)
23
private void RunOnMemberSymbol(ISymbol? left, ISymbol? right, MetadataInformation leftMetadata, MetadataInformation rightMetadata, IList<
CompatDifference
> differences)
Rules\CannotAddOrRemoveVirtualKeyword.cs (1)
25
private void RunOnMemberSymbol(ISymbol? left, ISymbol? right, ITypeSymbol leftContainingType, ITypeSymbol rightContainingType, MetadataInformation leftMetadata, MetadataInformation rightMetadata, IList<
CompatDifference
> differences)
Rules\CannotChangeGenericConstraints.cs (3)
33
IList<
CompatDifference
> differences)
56
IList<
CompatDifference
> differences)
78
IList<
CompatDifference
> differences)
Rules\CannotChangeParameterName.cs (1)
24
IList<
CompatDifference
> differences)
Rules\CannotChangeVisibility.cs (3)
61
IList<
CompatDifference
> differences)
97
IList<
CompatDifference
> differences) => RunOnSymbol(left, right, leftMetadata, rightMetadata, differences);
105
IList<
CompatDifference
> differences) => RunOnSymbol(left, right, leftMetadata, rightMetadata, differences);
Rules\CannotRemoveBaseTypeOrInterface.cs (3)
23
private void RunOnTypeSymbol(ITypeSymbol? left, ITypeSymbol? right, MetadataInformation leftMetadata, MetadataInformation rightMetadata, IList<
CompatDifference
> differences)
43
private void ValidateBaseTypeNotRemoved(ITypeSymbol left, ITypeSymbol right, string leftName, string rightName, MetadataInformation leftMetadata, MetadataInformation rightMetadata, IList<
CompatDifference
> differences)
71
private void ValidateInterfaceNotRemoved(ITypeSymbol left, ITypeSymbol right, string leftName, string rightName, MetadataInformation leftMetadata, MetadataInformation rightMetadata, IList<
CompatDifference
> differences)
Rules\CannotSealType.cs (1)
23
private void RunOnTypeSymbol(ITypeSymbol? left, ITypeSymbol? right, MetadataInformation leftMetadata, MetadataInformation rightMetadata, IList<
CompatDifference
> differences)
Rules\EnumsMustMatch.cs (1)
21
private void RunOnTypeSymbol(ITypeSymbol? left, ITypeSymbol? right, MetadataInformation leftMetadata, MetadataInformation rightMetadata, IList<
CompatDifference
> differences)
Rules\IRuleRegistrationContext.cs (4)
18
void RegisterOnAssemblySymbolAction(Action<IAssemblySymbol?, IAssemblySymbol?, MetadataInformation, MetadataInformation, bool, IList<
CompatDifference
>> action);
24
void RegisterOnTypeSymbolAction(Action<ITypeSymbol?, ITypeSymbol?, MetadataInformation, MetadataInformation, IList<
CompatDifference
>> action);
30
void RegisterOnMemberSymbolAction(Action<ISymbol?, ISymbol?, MetadataInformation, MetadataInformation, IList<
CompatDifference
>> action);
38
void RegisterOnMemberSymbolAction(Action<ISymbol?, ISymbol?, ITypeSymbol, ITypeSymbol, MetadataInformation, MetadataInformation, IList<
CompatDifference
>> action);
Rules\IRuleRunner.cs (2)
26
/// One list of <see cref="
CompatDifference
"/> per the number of right elements that the <see cref="IElementMapper{T}"/> contains.
28
IEnumerable<
CompatDifference
> Run<T>(IElementMapper<T> mapper);
Rules\IRuleRunnerContext.cs (3)
13
void RunOnAssemblySymbolActions(IAssemblySymbol? left, IAssemblySymbol? right, MetadataInformation leftMetadata, MetadataInformation rightMetadata, bool isSingleAssembly, IList<
CompatDifference
> differences);
15
void RunOnTypeSymbolActions(ITypeSymbol? left, ITypeSymbol? right, MetadataInformation leftMetadata, MetadataInformation rightMetadata, IList<
CompatDifference
> differences);
17
void RunOnMemberSymbolActions(ISymbol? left, ISymbol? right, ITypeSymbol leftContainingType, ITypeSymbol rightContainingType, MetadataInformation leftMetadata, MetadataInformation rightMetadata, IList<
CompatDifference
> differences);
Rules\MembersMustExist.cs (3)
12
/// If the member doesn't exist on Right but it does on Left, it adds a <see cref="
CompatDifference
"/> to the list of differences.
33
private void RunOnTypeSymbol(ITypeSymbol? left, ITypeSymbol? right, MetadataInformation leftMetadata, MetadataInformation rightMetadata, IList<
CompatDifference
> differences)
60
private void RunOnMemberSymbol(ISymbol? left, ISymbol? right, ITypeSymbol leftContainingType, ITypeSymbol rightContainingType, MetadataInformation leftMetadata, MetadataInformation rightMetadata, IList<
CompatDifference
> differences)
Rules\RuleContext.cs (15)
13
private readonly List<Action<IAssemblySymbol?, IAssemblySymbol?, MetadataInformation, MetadataInformation, bool, IList<
CompatDifference
>>> _onAssemblySymbolActions = [];
14
private readonly List<Action<ITypeSymbol?, ITypeSymbol?, MetadataInformation, MetadataInformation, IList<
CompatDifference
>>> _onTypeSymbolActions = [];
15
private readonly List<Action<ISymbol?, ISymbol?, MetadataInformation, MetadataInformation, IList<
CompatDifference
>>> _onMemberSymbolActions = [];
16
private readonly List<Action<ISymbol?, ISymbol?, ITypeSymbol, ITypeSymbol, MetadataInformation, MetadataInformation, IList<
CompatDifference
>>> _onMemberSymbolWithContainingTypeActions = [];
19
public void RegisterOnAssemblySymbolAction(Action<IAssemblySymbol?, IAssemblySymbol?, MetadataInformation, MetadataInformation, bool, IList<
CompatDifference
>> action)
25
public void RegisterOnTypeSymbolAction(Action<ITypeSymbol?, ITypeSymbol?, MetadataInformation, MetadataInformation, IList<
CompatDifference
>> action)
31
public void RegisterOnMemberSymbolAction(Action<ISymbol?, ISymbol?, MetadataInformation, MetadataInformation, IList<
CompatDifference
>> action)
37
public void RegisterOnMemberSymbolAction(Action<ISymbol?, ISymbol?, ITypeSymbol, ITypeSymbol, MetadataInformation, MetadataInformation, IList<
CompatDifference
>> action)
43
public void RunOnAssemblySymbolActions(IAssemblySymbol? left, IAssemblySymbol? right, MetadataInformation leftMetadata, MetadataInformation rightMetadata, bool isSingleAssembly, IList<
CompatDifference
> differences)
45
foreach (Action<IAssemblySymbol?, IAssemblySymbol?, MetadataInformation, MetadataInformation, bool, IList<
CompatDifference
>> action in _onAssemblySymbolActions)
52
public void RunOnTypeSymbolActions(ITypeSymbol? left, ITypeSymbol? right, MetadataInformation leftMetadata, MetadataInformation rightMetadata, IList<
CompatDifference
> differences)
54
foreach (Action<ITypeSymbol?, ITypeSymbol?, MetadataInformation, MetadataInformation, IList<
CompatDifference
>> action in _onTypeSymbolActions)
61
public void RunOnMemberSymbolActions(ISymbol? left, ISymbol? right, ITypeSymbol leftContainingType, ITypeSymbol rightContainingType, MetadataInformation leftMetadata, MetadataInformation rightMetadata, IList<
CompatDifference
> differences)
63
foreach (Action<ISymbol?, ISymbol?, MetadataInformation, MetadataInformation, IList<
CompatDifference
>> action in _onMemberSymbolActions)
68
foreach (Action<ISymbol?, ISymbol?, ITypeSymbol, ITypeSymbol, MetadataInformation, MetadataInformation, IList<
CompatDifference
>> action in _onMemberSymbolWithContainingTypeActions)
Rules\RuleRunner.cs (2)
22
public IEnumerable<
CompatDifference
> Run<T>(IElementMapper<T> mapper)
24
List<
CompatDifference
> differences = [];
Runner\ApiCompatRunner.cs (2)
58
IEnumerable<
CompatDifference
> differences = apiComparer.GetDifferences(leftContainerList, rightContainersList);
66
foreach (
CompatDifference
difference in differenceGroup)
Microsoft.DotNet.ApiCompatibility.Tests (384)
CompatDifferenceTests.cs (13)
29
CompatDifference
difference = new(left, right, diagId, message, type, memberId);
43
CompatDifference
difference =
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.TypeMustExist, string.Empty, DifferenceType.Removed, "T:Foo");
44
CompatDifference
otherEqual =
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.TypeMustExist, string.Empty, DifferenceType.Removed, "T:Foo");
45
CompatDifference
differentDiagId =
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.CannotAddMemberToInterface, string.Empty, DifferenceType.Removed, "T:Foo");
46
CompatDifference
differentType =
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.TypeMustExist, string.Empty, DifferenceType.Added, "T:Foo");
47
CompatDifference
differentMemberId =
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.TypeMustExist, string.Empty, DifferenceType.Removed, "T:FooBar");
48
CompatDifference
differentMessage =
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.TypeMustExist, "Hello", DifferenceType.Removed, "T:Foo");
CustomSideNameTests.cs (6)
40
IEnumerable<
CompatDifference
> differences = differ.GetDifferences(new[] { left }, new[] { right });
74
IEnumerable<
CompatDifference
> differences = differ.GetDifferences(new[] { left }, new[] { right });
113
IEnumerable<
CompatDifference
> differences = differ.GetDifferences(new[] { left }, new[] { right });
196
IEnumerable<
CompatDifference
> differences = differ.GetDifferences(left, right);
199
foreach (
CompatDifference
difference in differences)
205
private void AssertNames(
CompatDifference
difference, string expectedLeftName, string expectedRightName, bool leftFirst = true)
Rules\AssemblyIdentityMustMatchTests.cs (19)
40
IEnumerable<
CompatDifference
> differences = differ.GetDifferences(left, right);
43
CompatDifference
expected =
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.AssemblyIdentityMustMatch, string.Empty, DifferenceType.Changed, "AssemblyB, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null");
60
IEnumerable<
CompatDifference
> differences = differ.GetDifferences(leftSymbol, rightSymbol);
63
CompatDifference
expected =
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.AssemblyIdentityMustMatch, string.Empty, DifferenceType.Changed, $"{leftSymbol.Name}, Version=0.0.0.0, Culture=de, PublicKeyToken=null");
80
IEnumerable<
CompatDifference
> differences = differ.GetDifferences(leftSymbol, rightSymbol);
84
CompatDifference
expected =
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.AssemblyIdentityMustMatch, string.Empty, DifferenceType.Changed, $"{rightSymbol.Name}, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null");
102
IEnumerable<
CompatDifference
> differences = differ.GetDifferences(leftSymbol, rightSymbol);
111
CompatDifference
expected =
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.AssemblyIdentityMustMatch, string.Empty, DifferenceType.Changed, $"{leftSymbol.Name}, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null");
131
IEnumerable<
CompatDifference
> differences = differ.GetDifferences(leftSymbol, rightSymbol);
149
IEnumerable<
CompatDifference
> differences = differ.GetDifferences(leftSymbol, rightSymbol);
154
CompatDifference
expected =
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.AssemblyIdentityMustMatch, string.Empty, DifferenceType.Changed, $"{rightSymbol.Name}, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null");
177
IEnumerable<
CompatDifference
> differences = differ.GetDifferences(leftSymbol, rightSymbol);
180
CompatDifference
expected =
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.AssemblyIdentityMustMatch, string.Empty, DifferenceType.Changed, $"{leftSymbol.Name}, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null");
Rules\AttributesMustMatchTests.cs (81)
31
public static TheoryData<string, string,
CompatDifference
[]> TypesCases => new()
69
new
CompatDifference
[] {}
106
new
CompatDifference
[] {
107
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.CannotRemoveAttribute, "", DifferenceType.Removed, "T:CompatTests.First:[T:System.SerializableAttribute]")
146
new
CompatDifference
[] {
147
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.CannotChangeAttribute, "", DifferenceType.Changed, "T:CompatTests.First:[T:CompatTests.FooAttribute]")
187
new
CompatDifference
[] {}
225
new
CompatDifference
[] {}
257
new
CompatDifference
[] {
258
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.CannotChangeAttribute, "", DifferenceType.Changed, "T:CompatTests.First:[T:CompatTests.FooAttribute]")
298
new
CompatDifference
[] {
299
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.CannotChangeAttribute, "", DifferenceType.Changed, "T:CompatTests.First:[T:CompatTests.FooAttribute]"),
304
public static TheoryData<string, string,
CompatDifference
[]> MembersCases => new() {
359
new
CompatDifference
[] {
360
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.CannotChangeAttribute, "", DifferenceType.Changed, "M:CompatTests.First.F:[T:CompatTests.FooAttribute]"),
361
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.CannotRemoveAttribute, "", DifferenceType.Removed, "M:CompatTests.First.F:[T:CompatTests.BarAttribute]"),
418
new
CompatDifference
[] {
419
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.CannotChangeAttribute, "", DifferenceType.Changed, "P:CompatTests.First.F:[T:CompatTests.FooAttribute]"),
420
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.CannotRemoveAttribute, "", DifferenceType.Removed, "P:CompatTests.First.F:[T:CompatTests.BarAttribute]"),
481
new
CompatDifference
[] {
482
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.CannotChangeAttribute, "", DifferenceType.Changed, "E:CompatTests.First.F:[T:CompatTests.FooAttribute]"),
483
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.CannotRemoveAttribute, "", DifferenceType.Removed, "E:CompatTests.First.F:[T:CompatTests.BarAttribute]"),
540
new
CompatDifference
[] {
541
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.CannotChangeAttribute, "", DifferenceType.Changed, "M:CompatTests.First.#ctor:[T:CompatTests.FooAttribute]"),
542
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.CannotRemoveAttribute, "", DifferenceType.Removed, "M:CompatTests.First.#ctor:[T:CompatTests.BarAttribute]"),
599
new
CompatDifference
[] {
600
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.CannotChangeAttribute, "", DifferenceType.Changed, "M:CompatTests.First.F->int:[T:CompatTests.FooAttribute]"),
601
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.CannotRemoveAttribute, "", DifferenceType.Removed, "M:CompatTests.First.F->int:[T:CompatTests.BarAttribute]"),
654
new
CompatDifference
[] {
655
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.CannotRemoveAttribute, "", DifferenceType.Removed, "M:CompatTests.First.F(System.Int32,System.String)$0:[T:CompatTests.BarAttribute]"),
656
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.CannotChangeAttribute, "", DifferenceType.Changed, "M:CompatTests.First.F(System.Int32,System.String)$1:[T:CompatTests.FooAttribute]"),
704
new
CompatDifference
[] {
705
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.CannotRemoveAttribute, "", DifferenceType.Removed, "T:CompatTests.First`2<0>:[T:CompatTests.BarAttribute]"),
706
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.CannotChangeAttribute, "", DifferenceType.Changed, "T:CompatTests.First`2<1>:[T:CompatTests.FooAttribute]"),
760
new
CompatDifference
[] {
761
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.CannotRemoveAttribute, "", DifferenceType.Removed, "M:CompatTests.First.F``2<0>:[T:CompatTests.BarAttribute]"),
762
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.CannotChangeAttribute, "", DifferenceType.Changed, "M:CompatTests.First.F``2<1>:[T:CompatTests.FooAttribute]"),
768
public static TheoryData<string, string,
CompatDifference
[]> StrictMode => new()
805
new
CompatDifference
[] {
806
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.CannotAddAttribute, "", DifferenceType.Added, "T:CompatTests.First:[T:System.SerializableAttribute]")
846
new
CompatDifference
[] {
847
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.CannotChangeAttribute, "", DifferenceType.Changed, "T:CompatTests.First:[T:CompatTests.FooAttribute]")
904
new
CompatDifference
[] {
905
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.CannotChangeAttribute, "", DifferenceType.Changed, "M:CompatTests.First.F:[T:CompatTests.FooAttribute]"),
906
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.CannotRemoveAttribute, "", DifferenceType.Removed, "M:CompatTests.First.F:[T:CompatTests.BarAttribute]"),
907
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.CannotAddAttribute, "", DifferenceType.Added, "M:CompatTests.First.F:[T:CompatTests.BazAttribute]")
964
new
CompatDifference
[] {
965
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.CannotChangeAttribute, "", DifferenceType.Changed, "P:CompatTests.First.F:[T:CompatTests.FooAttribute]"),
966
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.CannotRemoveAttribute, "", DifferenceType.Removed, "P:CompatTests.First.F:[T:CompatTests.BarAttribute]"),
967
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.CannotAddAttribute, "", DifferenceType.Added, "P:CompatTests.First.F:[T:CompatTests.BazAttribute]")
1028
new
CompatDifference
[] {
1029
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.CannotChangeAttribute, "", DifferenceType.Changed, "E:CompatTests.First.F:[T:CompatTests.FooAttribute]"),
1030
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.CannotRemoveAttribute, "", DifferenceType.Removed, "E:CompatTests.First.F:[T:CompatTests.BarAttribute]"),
1031
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.CannotAddAttribute, "", DifferenceType.Added, "E:CompatTests.First.F:[T:CompatTests.BazAttribute]")
1088
new
CompatDifference
[] {
1089
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.CannotChangeAttribute, "", DifferenceType.Changed, "M:CompatTests.First.#ctor:[T:CompatTests.FooAttribute]"),
1090
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.CannotRemoveAttribute, "", DifferenceType.Removed, "M:CompatTests.First.#ctor:[T:CompatTests.BarAttribute]"),
1091
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.CannotAddAttribute, "", DifferenceType.Added, "M:CompatTests.First.#ctor:[T:CompatTests.BazAttribute]")
1148
new
CompatDifference
[] {
1149
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.CannotChangeAttribute, "", DifferenceType.Changed, "M:CompatTests.First.F->int:[T:CompatTests.FooAttribute]"),
1150
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.CannotRemoveAttribute, "", DifferenceType.Removed, "M:CompatTests.First.F->int:[T:CompatTests.BarAttribute]"),
1151
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.CannotAddAttribute, "", DifferenceType.Added, "M:CompatTests.First.F->int:[T:CompatTests.BazAttribute]")
1204
new
CompatDifference
[] {
1205
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.CannotRemoveAttribute, "", DifferenceType.Removed, "M:CompatTests.First.F(System.Int32,System.String)$0:[T:CompatTests.BarAttribute]"),
1206
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.CannotAddAttribute, "", DifferenceType.Added, "M:CompatTests.First.F(System.Int32,System.String)$0:[T:CompatTests.BazAttribute]"),
1207
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.CannotChangeAttribute, "", DifferenceType.Changed, "M:CompatTests.First.F(System.Int32,System.String)$1:[T:CompatTests.FooAttribute]"),
1255
new
CompatDifference
[] {
1256
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.CannotRemoveAttribute, "", DifferenceType.Removed, "T:CompatTests.First`2<0>:[T:CompatTests.BarAttribute]"),
1257
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.CannotAddAttribute, "", DifferenceType.Added, "T:CompatTests.First`2<0>:[T:CompatTests.BazAttribute]"),
1258
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.CannotChangeAttribute, "", DifferenceType.Changed, "T:CompatTests.First`2<1>:[T:CompatTests.FooAttribute]"),
1312
new
CompatDifference
[] {
1313
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.CannotRemoveAttribute, "", DifferenceType.Removed, "M:CompatTests.First.F``2<0>:[T:CompatTests.BarAttribute]"),
1314
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.CannotAddAttribute, "", DifferenceType.Added, "M:CompatTests.First.F``2<0>:[T:CompatTests.BazAttribute]"),
1315
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.CannotChangeAttribute, "", DifferenceType.Changed, "M:CompatTests.First.F``2<1>:[T:CompatTests.FooAttribute]"),
1324
public void EnsureDiagnosticIsReported(string leftSyntax, string rightSyntax,
CompatDifference
[] expected)
1334
IEnumerable<
CompatDifference
> actual = differ.GetDifferences(left, right);
1341
public void EnsureStrictModeReported(string leftSyntax, string rightSyntax,
CompatDifference
[] expected)
1351
IEnumerable<
CompatDifference
> actual = differ.GetDifferences(left, right);
1400
IEnumerable<
CompatDifference
> actual = differ.GetDifferences(left, right);
1450
IEnumerable<
CompatDifference
> actual = differ.GetDifferences(left, right).ToArray();
1454
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.MemberMustExist, string.Empty, DifferenceType.Added, "F:CompatTests.FooAttribute.X"),
Rules\CannotAddAbstractMemberTests.cs (9)
24
IEnumerable<
CompatDifference
> differences = differ.GetDifferences(left, right);
26
CompatDifference
[] expected =
28
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.CannotAddAbstractMember, string.Empty, DifferenceType.Added, "M:CompatTests.First.SecondAbstract")
41
IEnumerable<
CompatDifference
> differences = differ.GetDifferences(left, right);
54
IEnumerable<
CompatDifference
> differences = differ.GetDifferences(left, right);
70
IEnumerable<
CompatDifference
> differences = differ.GetDifferences(left, right);
72
foreach (
CompatDifference
difference in differences)
149
IEnumerable<
CompatDifference
> differences = differ.GetDifferences(left, right);
151
CompatDifference
[] expectedDiffs =
Rules\CannotAddMemberToInterfaceTests.cs (10)
47
IEnumerable<
CompatDifference
> differences = differ.GetDifferences(left, right);
49
CompatDifference
[] expected =
51
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.CannotAddMemberToInterface, string.Empty, DifferenceType.Added, "M:CompatTests.IFoo.MyMethod"),
52
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.CannotAddMemberToInterface, string.Empty, DifferenceType.Added, "P:CompatTests.IFoo.MyPropertyWithoutDefaultImplementation"),
53
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.CannotAddMemberToInterface, string.Empty, DifferenceType.Added, "E:CompatTests.IFoo.MyEventWithoutImplementation"),
66
IEnumerable<
CompatDifference
> differences = differ.GetDifferences(left, right);
105
IEnumerable<
CompatDifference
> differences = differ.GetDifferences(left, right);
107
foreach (
CompatDifference
difference in differences)
187
IEnumerable<
CompatDifference
> differences = differ.GetDifferences(left, right);
189
CompatDifference
[] expectedDiffs =
Rules\CannotAddOrRemoveVirtualKeywordTests.cs (8)
23
private static
CompatDifference
[] CreateDifferences(params (DifferenceType dt, string memberId)[] args)
25
var differences = new
CompatDifference
[args.Length];
28
differences[i] =
CompatDifference
.CreateWithDefaultMetadata(
187
public static void EnsureDiagnosticIsReported(string leftSyntax, string rightSyntax, bool strictMode,
CompatDifference
[] expected)
193
IEnumerable<
CompatDifference
> differences = differ.GetDifferences(new[] { left }, new[] { right });
222
IEnumerable<
CompatDifference
> differences = differ.GetDifferences(left, right);
224
CompatDifference
[] expected = new[]
226
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.MemberMustExist, string.Empty, DifferenceType.Removed, "M:CompatTests.First.F"),
Rules\CannotChangeGenericConstraintsTests.cs (31)
41
private static readonly
CompatDifference
[] RemovedClassConstraintDifferences =
43
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.CannotChangeGenericConstraint, string.Empty, DifferenceType.Removed, "T:CompatTests.First`1``0:new()"),
44
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.CannotChangeGenericConstraint, string.Empty, DifferenceType.Removed, "T:CompatTests.Second`1``0:notnull"),
45
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.CannotChangeGenericConstraint, string.Empty, DifferenceType.Removed, "T:CompatTests.Third`1``0:class"),
46
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.CannotChangeGenericConstraint, string.Empty, DifferenceType.Removed, "T:CompatTests.Fourth`1``0:struct"),
47
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.CannotChangeGenericConstraint, string.Empty, DifferenceType.Removed, "T:CompatTests.Fifth`1``0:unmanaged"),
48
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.CannotChangeGenericConstraint, string.Empty, DifferenceType.Removed, "T:CompatTests.Sixth`1``0:T:System.Enum"),
49
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.CannotChangeGenericConstraint, string.Empty, DifferenceType.Removed, "T:CompatTests.Seventh`1``0:T:System.Runtime.Serialization.ISerializable")
51
private static readonly
CompatDifference
[] AddedClassConstraintDifferences = RemovedClassConstraintDifferences
52
.Select(d =>
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.CannotChangeGenericConstraint, string.Empty, DifferenceType.Added, d.ReferenceId)).ToArray();
86
private static readonly
CompatDifference
[] RemovedMethodConstraintDifferences =
88
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.CannotChangeGenericConstraint, string.Empty, DifferenceType.Removed, "M:CompatTests.C.First``1``0:new()"),
89
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.CannotChangeGenericConstraint, string.Empty, DifferenceType.Removed, "M:CompatTests.C.Second``1``0:notnull"),
90
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.CannotChangeGenericConstraint, string.Empty, DifferenceType.Removed, "M:CompatTests.C.Third``1``0:class"),
91
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.CannotChangeGenericConstraint, string.Empty, DifferenceType.Removed, "M:CompatTests.C.Fourth``1``0:struct"),
92
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.CannotChangeGenericConstraint, string.Empty, DifferenceType.Removed, "M:CompatTests.C.Fifth``1``0:unmanaged"),
93
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.CannotChangeGenericConstraint, string.Empty, DifferenceType.Removed, "M:CompatTests.C.Sixth``1``0:T:System.Enum"),
94
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.CannotChangeGenericConstraint, string.Empty, DifferenceType.Removed, "M:CompatTests.C.Seventh``1``0:T:System.Runtime.Serialization.ISerializable")
96
private static readonly
CompatDifference
[] AddedMethodConstraintDifferences = RemovedMethodConstraintDifferences
97
.Select(d =>
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.CannotChangeGenericConstraint, string.Empty, DifferenceType.Added, d.ReferenceId)).ToArray();
100
public static TheoryData<string, string,
CompatDifference
[]> TestCases => new()
120
Array.Empty<
CompatDifference
>()
127
Array.Empty<
CompatDifference
>()
178
Array.Empty<
CompatDifference
>()
185
Array.Empty<
CompatDifference
>()
190
Array.Empty<
CompatDifference
>()
194
public static TheoryData<string, string,
CompatDifference
[]> StrictMode => new()
215
public void EnsureDiagnosticIsReported(string leftSyntax, string rightSyntax,
CompatDifference
[] expected)
221
IEnumerable<
CompatDifference
> actual = differ.GetDifferences(left, right);
228
public void EnsureDiagnosticIsReportedInStrictMode(string leftSyntax, string rightSyntax,
CompatDifference
[] expected)
236
IEnumerable<
CompatDifference
> actual = differ.GetDifferences(left, right);
Rules\CannotChangeVisibilityTests.cs (33)
25
public static TheoryData<string, string,
CompatDifference
[]> TestCases => new()
41
new
CompatDifference
[] {
42
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.CannotReduceVisibility, string.Empty, DifferenceType.Changed, "T:CompatTests.First")
63
new
CompatDifference
[] {
64
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.CannotReduceVisibility, string.Empty, DifferenceType.Changed, "F:CompatTests.First.F")
85
new
CompatDifference
[] {
86
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.CannotReduceVisibility, string.Empty, DifferenceType.Changed, "F:CompatTests.First.F")
103
new
CompatDifference
[] {}
123
new
CompatDifference
[] {}
150
new
CompatDifference
[] {}
177
new
CompatDifference
[] {}
197
new
CompatDifference
[] {
198
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.CannotReduceVisibility, string.Empty, DifferenceType.Changed, "F:CompatTests.First.F")
203
public static TheoryData<string, string,
CompatDifference
[]> StrictMode => new()
219
new
CompatDifference
[] {
220
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.CannotReduceVisibility, string.Empty, DifferenceType.Changed, "T:CompatTests.First")
237
new
CompatDifference
[] {
238
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.CannotExpandVisibility, string.Empty, DifferenceType.Changed, "T:CompatTests.First")
259
new
CompatDifference
[] {
260
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.CannotExpandVisibility, string.Empty, DifferenceType.Changed, "F:CompatTests.First.F")
288
new
CompatDifference
[] {}
315
new
CompatDifference
[] {}
335
new
CompatDifference
[] {
336
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.CannotReduceVisibility, string.Empty, DifferenceType.Changed, "F:CompatTests.First.F")
341
public static TheoryData<string, string,
CompatDifference
[]> NoInternals => new()
357
new
CompatDifference
[] {}
377
new
CompatDifference
[] {}
383
public void EnsureDiagnosticIsReported(string leftSyntax, string rightSyntax,
CompatDifference
[] expected)
389
IEnumerable<
CompatDifference
> actual = differ.GetDifferences(left, right);
396
public void EnsureDiagnosticIsReportedInStrictMode(string leftSyntax, string rightSyntax,
CompatDifference
[] expected)
404
IEnumerable<
CompatDifference
> actual = differ.GetDifferences(left, right);
411
public void EnsureReportedInStrictModeWithoutInternalSymbols(string leftSyntax, string rightSyntax,
CompatDifference
[] expected)
419
IEnumerable<
CompatDifference
> actual = differ.GetDifferences(left, right);
Rules\CannotRemoveBaseTypeOrInterfaceTests.cs (13)
76
IEnumerable<
CompatDifference
> differences = differ.GetDifferences(left, right);
78
CompatDifference
[] expected = new[]
80
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.CannotRemoveBaseType, string.Empty, DifferenceType.Changed, "T:CompatTests.First"),
81
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.CannotRemoveBaseInterface, string.Empty, DifferenceType.Changed, "T:CompatTests.First"),
114
IEnumerable<
CompatDifference
> differences = differ.GetDifferences(left, right);
118
CompatDifference
[] expected = new[]
120
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.CannotRemoveBaseInterface, string.Empty, DifferenceType.Changed, "T:CompatTests.First")
153
CompatDifference
[] differences = differ.GetDifferences(left, right).ToArray();
155
CompatDifference
[] expected = new[]
157
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.CannotRemoveBaseType, string.Empty, DifferenceType.Changed, "T:CompatTests.First"),
158
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.CannotRemoveBaseInterface, string.Empty, DifferenceType.Changed, "T:CompatTests.First"),
270
IEnumerable<
CompatDifference
> differences = differ.GetDifferences(leftContainer, right);
272
CompatDifference
[] expectedDiffs =
Rules\CannotSealTypeTests.cs (14)
22
IEnumerable<
CompatDifference
> differences = differ.GetDifferences(left, right);
24
foreach (
CompatDifference
difference in differences)
38
IEnumerable<
CompatDifference
> differences = differ.GetDifferences(left, right);
40
CompatDifference
difference =
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.CannotSealType, string.Empty, DifferenceType.Changed, "T:CompatTests.First");
71
IEnumerable<
CompatDifference
> differences = differ.GetDifferences(left, right);
79
CompatDifference
[] expected = new[]
81
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.CannotSealType, string.Empty, DifferenceType.Changed, "T:CompatTests.First")
139
IEnumerable<
CompatDifference
> differences = differ.GetDifferences(left, right);
141
CompatDifference
[] expectedDiffs =
193
IEnumerable<
CompatDifference
> differences = differ.GetDifferences(leftContainer, right);
206
CompatDifference
[] differences = differ.GetDifferences(left, right).ToArray();
208
CompatDifference
expectedDifference =
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.CannotSealType, string.Empty, DifferenceType.Changed, "T:CompatTests.First");
Rules\EnumsMustMatchTests.cs (8)
44
IEnumerable<
CompatDifference
> differences = differ.GetDifferences(new[] { left }, new[] { right });
46
CompatDifference
[] expected = new[]
48
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.EnumValuesMustMatch, string.Empty, DifferenceType.Changed, "F:CompatTests.First.A"),
84
IEnumerable<
CompatDifference
> differences = differ.GetDifferences(new[] { left }, new[] { right });
119
IEnumerable<
CompatDifference
> differences = differ.GetDifferences(new[] { left }, new[] { right });
153
IEnumerable<
CompatDifference
> differences = differ.GetDifferences(new[] { left }, new[] { right });
155
CompatDifference
[] expected = new[]
157
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.EnumTypesMustMatch, string.Empty, DifferenceType.Changed, "T:CompatTests.First"),
Rules\MembersMustExistTests.cs (37)
47
IEnumerable<
CompatDifference
> differences = differ.GetDifferences(left, right);
49
CompatDifference
[] expected = new[]
51
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.MemberMustExist, string.Empty, DifferenceType.Removed, "M:CompatTests.First.ShouldReportMethod(System.String,System.String)"),
52
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.MemberMustExist, string.Empty, DifferenceType.Removed, "M:CompatTests.First.get_ShouldReportMissingProperty"),
53
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.MemberMustExist, string.Empty, DifferenceType.Removed, "M:CompatTests.First.get_Item(System.Int32)"),
54
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.MemberMustExist, string.Empty, DifferenceType.Removed, "M:CompatTests.First.add_ShouldReportMissingEvent(CompatTests.EventHandler)"),
55
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.MemberMustExist, string.Empty, DifferenceType.Removed, "M:CompatTests.First.remove_ShouldReportMissingEvent(CompatTests.EventHandler)"),
56
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.MemberMustExist, string.Empty, DifferenceType.Removed, "F:CompatTests.First.ReportMissingField"),
101
IEnumerable<
CompatDifference
> differences = differ.GetDifferences(new[] { left }, new[] { right });
137
IEnumerable<
CompatDifference
> differences = differ.GetDifferences(left, right);
139
CompatDifference
[] expected =
141
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.MemberMustExist, string.Empty, DifferenceType.Removed, "M:CompatTests.First.MultipleOverrides(System.String,System.String)"),
142
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.MemberMustExist, string.Empty, DifferenceType.Removed, "M:CompatTests.First.MultipleOverrides(System.String,System.Int32,System.String)"),
184
IEnumerable<
CompatDifference
> differences = differ.GetDifferences(left, right);
188
CompatDifference
[] expected =
190
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.MemberMustExist, string.Empty, DifferenceType.Removed, "M:CompatTests.First.MultipleOverrides(System.String,System.Int32,System.Int32)"),
191
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.MemberMustExist, string.Empty, DifferenceType.Removed, "M:CompatTests.First.set_InternalProperty(System.Int32)"),
227
IEnumerable<
CompatDifference
> differences = differ.GetDifferences(left, right);
259
IEnumerable<
CompatDifference
> differences = differ.GetDifferences(left, right);
291
IEnumerable<
CompatDifference
> differences = differ.GetDifferences(left, right);
293
CompatDifference
[] expected =
295
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.MemberMustExist, string.Empty, DifferenceType.Removed, "M:CompatTests.First.MyMethod(System.String)"),
296
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.MemberMustExist, string.Empty, DifferenceType.Removed, "M:CompatTests.First.MyOutMethod(System.String@)"),
297
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.MemberMustExist, string.Empty, DifferenceType.Removed, "M:CompatTests.First.MyRefMethod(System.String@)"),
387
IEnumerable<
CompatDifference
> differences = differ.GetDifferences(left, right);
389
CompatDifference
[] expectedDiffs =
429
IEnumerable<
CompatDifference
> differences = differ.GetDifferences(left, right);
458
IEnumerable<
CompatDifference
> differences = differ.GetDifferences(left, right);
460
CompatDifference
[] expected =
462
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.MemberMustExist, string.Empty, DifferenceType.Removed, "M:CompatTests.First.#ctor")
496
IEnumerable<
CompatDifference
> differences = differ.GetDifferences(left, right);
526
IEnumerable<
CompatDifference
> differences = differ.GetDifferences(left, right);
531
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.MemberMustExist, string.Empty, DifferenceType.Removed, "M:CompatTests.First.F(System.String)")
574
IEnumerable<
CompatDifference
> differences = differ.GetDifferences(left, right);
578
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.MemberMustExist, string.Empty, DifferenceType.Removed, "F:CompatTests.First.S"),
580
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.MemberMustExist, string.Empty, DifferenceType.Removed, "M:CompatTests.First.get_Prop"),
581
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.MemberMustExist, string.Empty, DifferenceType.Removed, "M:CompatTests.First.M")
Rules\MembersMustExistTests.Strict.cs (29)
47
IEnumerable<
CompatDifference
> differences = differ.GetDifferences(left, right);
49
CompatDifference
[] expected =
51
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.MemberMustExist, string.Empty, DifferenceType.Added, "M:CompatTests.First.ShouldReportMethod(System.String,System.String)"),
52
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.MemberMustExist, string.Empty, DifferenceType.Added, "M:CompatTests.First.get_ShouldReportMissingProperty"),
53
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.MemberMustExist, string.Empty, DifferenceType.Added, "M:CompatTests.First.get_Item(System.Int32)"),
54
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.MemberMustExist, string.Empty, DifferenceType.Added, "M:CompatTests.First.add_ShouldReportMissingEvent(CompatTests.EventHandler)"),
55
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.MemberMustExist, string.Empty, DifferenceType.Added, "M:CompatTests.First.remove_ShouldReportMissingEvent(CompatTests.EventHandler)"),
56
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.MemberMustExist, string.Empty, DifferenceType.Added, "F:CompatTests.First.ReportMissingField"),
100
IEnumerable<
CompatDifference
> differences = differ.GetDifferences(left, right);
136
IEnumerable<
CompatDifference
> differences = differ.GetDifferences(left, right);
138
CompatDifference
[] expected = new[]
140
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.MemberMustExist, string.Empty, DifferenceType.Added, "M:CompatTests.First.MultipleOverrides(System.String,System.String)"),
141
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.MemberMustExist, string.Empty, DifferenceType.Added, "M:CompatTests.First.MultipleOverrides(System.String,System.Int32,System.String)"),
184
IEnumerable<
CompatDifference
> differences = differ.GetDifferences(left, right);
188
CompatDifference
[] expected =
190
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.MemberMustExist, string.Empty, DifferenceType.Added, "M:CompatTests.First.MultipleOverrides(System.String,System.Int32,System.Int32)"),
191
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.MemberMustExist, string.Empty, DifferenceType.Added, "M:CompatTests.First.set_InternalProperty(System.Int32)"),
228
IEnumerable<
CompatDifference
> differences = differ.GetDifferences(left, right);
230
CompatDifference
[] expected =
232
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.MemberMustExist, string.Empty, DifferenceType.Removed, "M:CompatTests.First.MissingMethodRight"),
233
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.MemberMustExist, string.Empty, DifferenceType.Added, "M:CompatTests.First.MissingMethodLeft(System.String,System.String)"),
325
IEnumerable<
CompatDifference
> differences = differ.GetDifferences(left, right);
327
CompatDifference
[] expectedDiffs =
366
IEnumerable<
CompatDifference
> differences = differ.GetDifferences(left, right);
368
CompatDifference
[] expected =
370
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.MemberMustExist, string.Empty, DifferenceType.Removed, "F:CompatTests.First.A"),
371
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.MemberMustExist, string.Empty, DifferenceType.Removed, "F:CompatTests.First.B"),
372
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.MemberMustExist, string.Empty, DifferenceType.Added, "F:CompatTests.First.F"),
373
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.MemberMustExist, string.Empty, DifferenceType.Added, "F:CompatTests.First.E"),
Rules\ParameterNamesCannotChangeTests.cs (10)
14
public static TheoryData<string, string,
CompatDifference
[]> TestCases => new()
34
new
CompatDifference
[] {
35
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.CannotChangeParameterName, "", DifferenceType.Changed, "M:CompatTests.First.F(System.Int32,System.String)$0"),
36
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.CannotChangeParameterName, "", DifferenceType.Changed, "M:CompatTests.First.F(System.Int32,System.String)$1")
57
new
CompatDifference
[] {
58
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.CannotChangeParameterName, "", DifferenceType.Changed, "M:CompatTests.First.#ctor(System.Int32,System.String)$0"),
59
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.CannotChangeParameterName, "", DifferenceType.Changed, "M:CompatTests.First.#ctor(System.Int32,System.String)$1")
80
new
CompatDifference
[] {}
86
public void EnsureDiagnosticIsReported(string leftSyntax, string rightSyntax,
CompatDifference
[] expected)
92
IEnumerable<
CompatDifference
> actual = differ.GetDifferences(left, right);
Rules\TypeMustExistTests.cs (36)
41
IEnumerable<
CompatDifference
> differences = differ.GetDifferences(left, right);
43
CompatDifference
[] expected =
45
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.TypeMustExist, string.Empty, DifferenceType.Removed, "T:CompatTests.Second"),
46
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.TypeMustExist, string.Empty, DifferenceType.Removed, "T:CompatTests.MyStruct"),
47
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.TypeMustExist, string.Empty, DifferenceType.Removed, "T:CompatTests.MyDelegate"),
48
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.TypeMustExist, string.Empty, DifferenceType.Removed, "T:CompatTests.MyEnum"),
76
IEnumerable<
CompatDifference
> differences = differ.GetDifferences(left, right);
78
CompatDifference
[] expected =
80
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.TypeMustExist, string.Empty, DifferenceType.Removed, "T:A.B.C"),
105
IEnumerable<
CompatDifference
> differences = differ.GetDifferences(left, right);
107
CompatDifference
[] expected =
109
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.TypeMustExist, string.Empty, DifferenceType.Removed, "T:A.B"),
140
IEnumerable<
CompatDifference
> differences = differ.GetDifferences(left, right);
142
CompatDifference
[] expected =
144
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.TypeMustExist, string.Empty, DifferenceType.Removed, "T:CompatTests.ForwardedTestType")
200
IEnumerable<
CompatDifference
> differences = differ.GetDifferences(left, right);
202
CompatDifference
[] expected =
204
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.TypeMustExist, string.Empty, DifferenceType.Removed, "T:CompatTests.Second"),
205
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.TypeMustExist, string.Empty, DifferenceType.Removed, "T:CompatTests.Third"),
206
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.TypeMustExist, string.Empty, DifferenceType.Removed, "T:CompatTests.Fourth"),
207
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.TypeMustExist, string.Empty, DifferenceType.Removed, "T:CompatTests.MyEnum")
234
IEnumerable<
CompatDifference
> differences = differ.GetDifferences(left, right);
242
CompatDifference
[] expected =
244
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.TypeMustExist, string.Empty, DifferenceType.Removed, "T:CompatTests.InternalType")
284
IEnumerable<
CompatDifference
> differences = differ.GetDifferences(left, right);
286
List<
CompatDifference
> expected = new()
288
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.TypeMustExist, string.Empty, DifferenceType.Removed, "T:CompatTests.First.FirstNested"),
294
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.TypeMustExist, string.Empty, DifferenceType.Removed, "T:CompatTests.First.InternalNested.DoubleNested")
336
IEnumerable<
CompatDifference
> differences = differ.GetDifferences(left, right);
338
CompatDifference
[] expected =
411
IEnumerable<
CompatDifference
> differences = differ.GetDifferences(left, right);
413
CompatDifference
[] expected =
450
IEnumerable<
CompatDifference
> differences = differ.GetDifferences(left, right);
474
IEnumerable<
CompatDifference
> differences = differ.GetDifferences(left, right);
498
IEnumerable<
CompatDifference
> differences = differ.GetDifferences(left, right);
500
CompatDifference
[] expected =
Rules\TypeMustExistTests.Strict.cs (26)
40
IEnumerable<
CompatDifference
> differences = differ.GetDifferences(left, right);
42
CompatDifference
[] expected =
44
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.TypeMustExist, string.Empty, DifferenceType.Added, "T:CompatTests.Second"),
45
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.TypeMustExist, string.Empty, DifferenceType.Added, "T:CompatTests.MyStruct"),
79
IEnumerable<
CompatDifference
> differences = differ.GetDifferences(left, right);
81
CompatDifference
[] expected =
83
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.TypeMustExist, string.Empty, DifferenceType.Added, "T:CompatTests.ForwardedTestType")
139
IEnumerable<
CompatDifference
> differences = differ.GetDifferences(left, right);
141
CompatDifference
[] expected =
143
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.TypeMustExist, string.Empty, DifferenceType.Added, "T:CompatTests.Second"),
144
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.TypeMustExist, string.Empty, DifferenceType.Added, "T:CompatTests.Third"),
145
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.TypeMustExist, string.Empty, DifferenceType.Added, "T:CompatTests.Fourth"),
146
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.TypeMustExist, string.Empty, DifferenceType.Added, "T:CompatTests.MyEnum")
179
IEnumerable<
CompatDifference
> differences = differ.GetDifferences(left, right);
181
CompatDifference
[] expected =
183
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.TypeMustExist, string.Empty, DifferenceType.Added, "T:CompatTests.First.FirstNested"),
207
IEnumerable<
CompatDifference
> differences = differ.GetDifferences(left, right);
209
CompatDifference
[] expected =
211
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.TypeMustExist, string.Empty, DifferenceType.Removed, "T:CompatTests.LeftType"),
212
CompatDifference
.CreateWithDefaultMetadata(DiagnosticIds.TypeMustExist, string.Empty, DifferenceType.Added, "T:CompatTests.RightType"),
253
IEnumerable<
CompatDifference
> differences = differ.GetDifferences(left, right);
255
CompatDifference
[] expected =
318
IEnumerable<
CompatDifference
> differences = differ.GetDifferences(left, right);
320
CompatDifference
[] expected =
351
IEnumerable<
CompatDifference
> differences = differ.GetDifferences(left, right);
353
CompatDifference
[] expected =
Runner\ApiCompatRunnerTests.cs (1)
22
.Returns(new
CompatDifference
[]