Skip to content

Commit 7547d65

Browse files
committed
Merge pull request #29 from sharwell/ctp6-updates
Visual Studio CTP 6 updates
2 parents 24efa29 + cb7f14c commit 7547d65

14 files changed

Lines changed: 129 additions & 153 deletions

OpenStackNetAnalyzers/OpenStackNetAnalyzers.Test/Helpers/DiagnosticVerifier.Helper.cs

Lines changed: 4 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -70,9 +70,8 @@ protected static async Task<ImmutableArray<Diagnostic>> GetSortedDiagnosticsFrom
7070
foreach (var project in projects)
7171
{
7272
var compilation = await project.GetCompilationAsync(cancellationToken).ConfigureAwait(false);
73-
var driver = AnalyzerDriver.Create(compilation, ImmutableArray.Create(analyzer), null, out compilation, cancellationToken);
74-
var discarded = compilation.GetDiagnostics(cancellationToken);
75-
var diags = await driver.GetDiagnosticsAsync().ConfigureAwait(false);
73+
var compilationWithAnalyzers = compilation.WithAnalyzers(ImmutableArray.Create(analyzer), null, cancellationToken);
74+
var diags = await compilationWithAnalyzers.GetAnalyzerDiagnosticsAsync().ConfigureAwait(false);
7675
foreach (var diag in diags)
7776
{
7877
if (diag.Location == Location.None || diag.Location.IsInMetadata)
@@ -106,7 +105,7 @@ protected static async Task<ImmutableArray<Diagnostic>> GetSortedDiagnosticsFrom
106105
/// <see cref="Diagnostic.Location"/>.</returns>
107106
private static Diagnostic[] SortDistinctDiagnostics(IEnumerable<Diagnostic> diagnostics)
108107
{
109-
return diagnostics.OrderBy(d => d.Location.SourceSpan.Start).Distinct(default(DiagnosticEqualityComparer)).ToArray();
108+
return diagnostics.OrderBy(d => d.Location.SourceSpan.Start).ToArray();
110109
}
111110

112111
#endregion
@@ -170,7 +169,7 @@ private static Project CreateProject(string[] sources, string language = Languag
170169

171170
var projectId = ProjectId.CreateNewId(debugName: TestProjectName);
172171

173-
var solution = new CustomWorkspace()
172+
var solution = new AdhocWorkspace()
174173
.CurrentSolution
175174
.AddProject(projectId, TestProjectName, TestProjectName, language)
176175
.AddMetadataReference(projectId, CorlibReference)
@@ -190,43 +189,5 @@ private static Project CreateProject(string[] sources, string language = Languag
190189
return solution.GetProject(projectId);
191190
}
192191
#endregion
193-
194-
/// <summary>
195-
/// A little helper to be able to use Enumerable.Distinct. Currently Roslyn does have a bug so that Diagnostic.GetHashCode()
196-
/// is not implemented correctly. <see href="https://github.com/dotnet/roslyn/issues/57"/>.
197-
/// </summary>
198-
struct DiagnosticEqualityComparer : IEqualityComparer<Diagnostic>
199-
{
200-
public bool Equals(Diagnostic x, Diagnostic y)
201-
{
202-
return (x == null && y == null)
203-
|| x.Equals(y);
204-
}
205-
206-
public int GetHashCode(Diagnostic obj)
207-
{
208-
return Combine(obj.Descriptor,
209-
Combine(obj.Location.GetHashCode(),
210-
Combine(obj.Severity.GetHashCode(), obj.WarningLevel)
211-
));
212-
}
213-
214-
int Combine<T>(T newKeyPart, int currentKey) where T : class
215-
{
216-
int hash = unchecked(currentKey * (int)0xA5555529);
217-
218-
if (newKeyPart != null)
219-
{
220-
return unchecked(hash + newKeyPart.GetHashCode());
221-
}
222-
223-
return hash;
224-
}
225-
int Combine(int newKey, int currentKey)
226-
{
227-
return unchecked((currentKey * (int)0xA5555529) + newKey);
228-
}
229-
}
230192
}
231193
}
232-

OpenStackNetAnalyzers/OpenStackNetAnalyzers.Test/OpenStackNetAnalyzers.Test.csproj

Lines changed: 43 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -34,53 +34,67 @@
3434
<Prefer32Bit>false</Prefer32Bit>
3535
</PropertyGroup>
3636
<ItemGroup>
37-
<Reference Include="Microsoft.CodeAnalysis">
38-
<HintPath>..\..\packages\Microsoft.CodeAnalysis.Common.1.0.0.0-beta2\lib\net45\Microsoft.CodeAnalysis.dll</HintPath>
37+
<Reference Include="Microsoft.CodeAnalysis, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
38+
<HintPath>..\..\packages\Microsoft.CodeAnalysis.Common.1.0.0-rc1\lib\net45\Microsoft.CodeAnalysis.dll</HintPath>
39+
<Private>True</Private>
3940
</Reference>
40-
<Reference Include="Microsoft.CodeAnalysis.CSharp">
41-
<HintPath>..\..\packages\Microsoft.CodeAnalysis.CSharp.1.0.0.0-beta2\lib\net45\Microsoft.CodeAnalysis.CSharp.dll</HintPath>
41+
<Reference Include="Microsoft.CodeAnalysis.CSharp, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
42+
<HintPath>..\..\packages\Microsoft.CodeAnalysis.CSharp.1.0.0-rc1\lib\net45\Microsoft.CodeAnalysis.CSharp.dll</HintPath>
43+
<Private>True</Private>
4244
</Reference>
43-
<Reference Include="Microsoft.CodeAnalysis.CSharp.Desktop">
44-
<HintPath>..\..\packages\Microsoft.CodeAnalysis.CSharp.1.0.0.0-beta2\lib\net45\Microsoft.CodeAnalysis.CSharp.Desktop.dll</HintPath>
45+
<Reference Include="Microsoft.CodeAnalysis.CSharp.Desktop, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
46+
<HintPath>..\..\packages\Microsoft.CodeAnalysis.CSharp.1.0.0-rc1\lib\net45\Microsoft.CodeAnalysis.CSharp.Desktop.dll</HintPath>
47+
<Private>True</Private>
4548
</Reference>
46-
<Reference Include="Microsoft.CodeAnalysis.CSharp.Workspaces">
47-
<HintPath>..\..\packages\Microsoft.CodeAnalysis.CSharp.Workspaces.1.0.0.0-beta2\lib\net45\Microsoft.CodeAnalysis.CSharp.Workspaces.dll</HintPath>
49+
<Reference Include="Microsoft.CodeAnalysis.CSharp.Workspaces, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
50+
<HintPath>..\..\packages\Microsoft.CodeAnalysis.CSharp.Workspaces.1.0.0-rc1\lib\net45\Microsoft.CodeAnalysis.CSharp.Workspaces.dll</HintPath>
51+
<Private>True</Private>
4852
</Reference>
49-
<Reference Include="Microsoft.CodeAnalysis.CSharp.Workspaces.Desktop">
50-
<HintPath>..\..\packages\Microsoft.CodeAnalysis.CSharp.Workspaces.1.0.0.0-beta2\lib\net45\Microsoft.CodeAnalysis.CSharp.Workspaces.Desktop.dll</HintPath>
53+
<Reference Include="Microsoft.CodeAnalysis.CSharp.Workspaces.Desktop, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
54+
<HintPath>..\..\packages\Microsoft.CodeAnalysis.CSharp.Workspaces.1.0.0-rc1\lib\net45\Microsoft.CodeAnalysis.CSharp.Workspaces.Desktop.dll</HintPath>
55+
<Private>True</Private>
5156
</Reference>
52-
<Reference Include="Microsoft.CodeAnalysis.Desktop">
53-
<HintPath>..\..\packages\Microsoft.CodeAnalysis.Common.1.0.0.0-beta2\lib\net45\Microsoft.CodeAnalysis.Desktop.dll</HintPath>
57+
<Reference Include="Microsoft.CodeAnalysis.Desktop, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
58+
<HintPath>..\..\packages\Microsoft.CodeAnalysis.Common.1.0.0-rc1\lib\net45\Microsoft.CodeAnalysis.Desktop.dll</HintPath>
59+
<Private>True</Private>
5460
</Reference>
55-
<Reference Include="Microsoft.CodeAnalysis.Workspaces">
56-
<HintPath>..\..\packages\Microsoft.CodeAnalysis.Workspaces.Common.1.0.0.0-beta2\lib\net45\Microsoft.CodeAnalysis.Workspaces.dll</HintPath>
61+
<Reference Include="Microsoft.CodeAnalysis.Workspaces, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
62+
<HintPath>..\..\packages\Microsoft.CodeAnalysis.Workspaces.Common.1.0.0-rc1\lib\net45\Microsoft.CodeAnalysis.Workspaces.dll</HintPath>
63+
<Private>True</Private>
5764
</Reference>
58-
<Reference Include="Microsoft.CodeAnalysis.Workspaces.Desktop">
59-
<HintPath>..\..\packages\Microsoft.CodeAnalysis.Workspaces.Common.1.0.0.0-beta2\lib\net45\Microsoft.CodeAnalysis.Workspaces.Desktop.dll</HintPath>
65+
<Reference Include="Microsoft.CodeAnalysis.Workspaces.Desktop, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
66+
<HintPath>..\..\packages\Microsoft.CodeAnalysis.Workspaces.Common.1.0.0-rc1\lib\net45\Microsoft.CodeAnalysis.Workspaces.Desktop.dll</HintPath>
67+
<Private>True</Private>
6068
</Reference>
6169
<Reference Include="System" />
62-
<Reference Include="System.Collections.Immutable, Version=1.1.32.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
70+
<Reference Include="System.Collections.Immutable, Version=1.1.33.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
71+
<HintPath>..\..\packages\System.Collections.Immutable.1.1.33-beta\lib\portable-net45+win8+wp8+wpa81\System.Collections.Immutable.dll</HintPath>
6372
<Private>True</Private>
64-
<HintPath>..\..\packages\System.Collections.Immutable.1.1.32-beta\lib\portable-net45+win8+wp8+wpa81\System.Collections.Immutable.dll</HintPath>
6573
</Reference>
66-
<Reference Include="System.Composition.AttributedModel">
74+
<Reference Include="System.Composition.AttributedModel, Version=1.0.27.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
6775
<HintPath>..\..\packages\Microsoft.Composition.1.0.27\lib\portable-net45+win8+wp8+wpa81\System.Composition.AttributedModel.dll</HintPath>
76+
<Private>True</Private>
6877
</Reference>
69-
<Reference Include="System.Composition.Convention">
78+
<Reference Include="System.Composition.Convention, Version=1.0.27.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
7079
<HintPath>..\..\packages\Microsoft.Composition.1.0.27\lib\portable-net45+win8+wp8+wpa81\System.Composition.Convention.dll</HintPath>
80+
<Private>True</Private>
7181
</Reference>
72-
<Reference Include="System.Composition.Hosting">
82+
<Reference Include="System.Composition.Hosting, Version=1.0.27.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
7383
<HintPath>..\..\packages\Microsoft.Composition.1.0.27\lib\portable-net45+win8+wp8+wpa81\System.Composition.Hosting.dll</HintPath>
84+
<Private>True</Private>
7485
</Reference>
75-
<Reference Include="System.Composition.Runtime">
86+
<Reference Include="System.Composition.Runtime, Version=1.0.27.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
7687
<HintPath>..\..\packages\Microsoft.Composition.1.0.27\lib\portable-net45+win8+wp8+wpa81\System.Composition.Runtime.dll</HintPath>
88+
<Private>True</Private>
7789
</Reference>
78-
<Reference Include="System.Composition.TypedParts">
90+
<Reference Include="System.Composition.TypedParts, Version=1.0.27.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
7991
<HintPath>..\..\packages\Microsoft.Composition.1.0.27\lib\portable-net45+win8+wp8+wpa81\System.Composition.TypedParts.dll</HintPath>
92+
<Private>True</Private>
8093
</Reference>
8194
<Reference Include="System.Core" />
82-
<Reference Include="System.Reflection.Metadata">
83-
<HintPath>..\..\packages\System.Reflection.Metadata.1.0.17-beta\lib\portable-net45+win8\System.Reflection.Metadata.dll</HintPath>
95+
<Reference Include="System.Reflection.Metadata, Version=1.0.18.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
96+
<HintPath>..\..\packages\System.Reflection.Metadata.1.0.18-beta\lib\portable-net45+win8\System.Reflection.Metadata.dll</HintPath>
97+
<Private>True</Private>
8498
</Reference>
8599
<Reference Include="System.Xml.Linq" />
86100
<Reference Include="System.Data.DataSetExtensions" />
@@ -106,6 +120,10 @@
106120
<Name>OpenStackNetAnalyzers</Name>
107121
</ProjectReference>
108122
</ItemGroup>
123+
<ItemGroup>
124+
<Analyzer Include="..\..\packages\Microsoft.CodeAnalysis.Analyzers.1.0.0-rc1\tools\analyzers\C#\Microsoft.CodeAnalysis.CSharp.Analyzers.dll" />
125+
<Analyzer Include="..\..\packages\Microsoft.CodeAnalysis.Analyzers.1.0.0-rc1\tools\analyzers\Microsoft.CodeAnalysis.Analyzers.dll" />
126+
</ItemGroup>
109127
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
110128
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
111129
Other similar extension points exist, see Microsoft.Common.targets.

OpenStackNetAnalyzers/OpenStackNetAnalyzers.Test/Verifiers/CodeFixVerifier.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ private async Task VerifyFixAsync(string language, DiagnosticAnalyzer analyzer,
9393
{
9494
var actions = new List<CodeAction>();
9595
var context = new CodeFixContext(document, analyzerDiagnostics[0], (a, d) => actions.Add(a), cancellationToken);
96-
await codeFixProvider.ComputeFixesAsync(context).ConfigureAwait(false);
96+
await codeFixProvider.RegisterCodeFixesAsync(context).ConfigureAwait(false);
9797

9898
if (!actions.Any())
9999
{
Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<packages>
3-
<package id="Microsoft.CodeAnalysis.Common" version="1.0.0.0-beta2" targetFramework="net45" />
4-
<package id="Microsoft.CodeAnalysis.CSharp" version="1.0.0.0-beta2" targetFramework="net45" />
5-
<package id="Microsoft.CodeAnalysis.CSharp.Workspaces" version="1.0.0.0-beta2" targetFramework="net45" />
6-
<package id="Microsoft.CodeAnalysis.Workspaces.Common" version="1.0.0.0-beta2" targetFramework="net45" />
7-
<package id="Microsoft.Composition" version="1.0.27" targetFramework="net45" />
8-
<package id="System.Collections.Immutable" version="1.1.32-beta" targetFramework="net45" />
9-
<package id="System.Reflection.Metadata" version="1.0.17-beta" targetFramework="net45" />
3+
<package id="Microsoft.CodeAnalysis.Analyzers" version="1.0.0-rc1" targetFramework="net45" userInstalled="true" />
4+
<package id="Microsoft.CodeAnalysis.Common" version="1.0.0-rc1" targetFramework="net45" userInstalled="true" />
5+
<package id="Microsoft.CodeAnalysis.CSharp" version="1.0.0-rc1" targetFramework="net45" userInstalled="true" />
6+
<package id="Microsoft.CodeAnalysis.CSharp.Workspaces" version="1.0.0-rc1" targetFramework="net45" userInstalled="true" />
7+
<package id="Microsoft.CodeAnalysis.Workspaces.Common" version="1.0.0-rc1" targetFramework="net45" userInstalled="true" />
8+
<package id="Microsoft.Composition" version="1.0.27" targetFramework="net45" userInstalled="true" />
9+
<package id="System.Collections.Immutable" version="1.1.33-beta" targetFramework="net45" userInstalled="true" />
10+
<package id="System.Reflection.Metadata" version="1.0.18-beta" targetFramework="net45" userInstalled="true" />
1011
</packages>

OpenStackNetAnalyzers/OpenStackNetAnalyzers/DocumentDelegatingApiCallCodeFix.cs

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,17 +20,14 @@ public class DocumentDelegatingApiCallCodeFix : CodeFixProvider
2020
private static readonly ImmutableArray<string> _fixableDiagnostics =
2121
ImmutableArray.Create(DocumentDelegatingApiCallAnalyzer.DiagnosticId);
2222

23-
public sealed override ImmutableArray<string> GetFixableDiagnosticIds()
24-
{
25-
return _fixableDiagnostics;
26-
}
23+
public sealed override ImmutableArray<string> FixableDiagnosticIds => _fixableDiagnostics;
2724

2825
public override FixAllProvider GetFixAllProvider()
2926
{
3027
return WellKnownFixAllProviders.BatchFixer;
3128
}
3229

33-
public override async Task ComputeFixesAsync(CodeFixContext context)
30+
public override async Task RegisterCodeFixesAsync(CodeFixContext context)
3431
{
3532
foreach (var diagnostic in context.Diagnostics)
3633
{
@@ -47,7 +44,7 @@ public override async Task ComputeFixesAsync(CodeFixContext context)
4744
continue;
4845

4946
string description = "Add documentation for delegating HTTP API call";
50-
context.RegisterFix(CodeAction.Create(description, cancellationToken => CreateChangedDocument(context, classDeclarationSyntax, cancellationToken)), diagnostic);
47+
context.RegisterCodeFix(CodeAction.Create(description, cancellationToken => CreateChangedDocument(context, classDeclarationSyntax, cancellationToken)), diagnostic);
5148
}
5249
}
5350

OpenStackNetAnalyzers/OpenStackNetAnalyzers/DocumentValueFromSummaryCodeFix.cs

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -19,17 +19,14 @@ public class DocumentValueFromSummaryCodeFix : CodeFixProvider
1919
private static readonly ImmutableArray<string> _fixableDiagnostics =
2020
ImmutableArray.Create(DocumentValueFromSummaryAnalyzer.DiagnosticId);
2121

22-
public sealed override ImmutableArray<string> GetFixableDiagnosticIds()
23-
{
24-
return _fixableDiagnostics;
25-
}
22+
public sealed override ImmutableArray<string> FixableDiagnosticIds => _fixableDiagnostics;
2623

2724
public override FixAllProvider GetFixAllProvider()
2825
{
2926
return WellKnownFixAllProviders.BatchFixer;
3027
}
3128

32-
public override async Task ComputeFixesAsync(CodeFixContext context)
29+
public override async Task RegisterCodeFixesAsync(CodeFixContext context)
3330
{
3431
foreach (var diagnostic in context.Diagnostics)
3532
{
@@ -46,7 +43,7 @@ public override async Task ComputeFixesAsync(CodeFixContext context)
4643
continue;
4744

4845
string description = "Document value from summary";
49-
context.RegisterFix(CodeAction.Create(description, cancellationToken => CreateChangedDocument(context, propertyDeclarationSyntax, cancellationToken)), diagnostic);
46+
context.RegisterCodeFix(CodeAction.Create(description, cancellationToken => CreateChangedDocument(context, propertyDeclarationSyntax, cancellationToken)), diagnostic);
5047
}
5148
}
5249

@@ -99,7 +96,7 @@ private async Task<Document> CreateChangedDocument(CodeFixContext context, Prope
9996
if (index >= 0)
10097
valueText = valueText.Remove(index, 5);
10198

102-
SyntaxToken replaced = SyntaxFactory.Token(getsToken.LeadingTrivia, getsToken.CSharpKind(), text, valueText, getsToken.TrailingTrivia);
99+
SyntaxToken replaced = SyntaxFactory.Token(getsToken.LeadingTrivia, getsToken.Kind(), text, valueText, getsToken.TrailingTrivia);
103100
summaryContent = summaryContent.Replace(firstText, firstText.ReplaceToken(getsToken, replaced));
104101
}
105102
}
@@ -148,7 +145,7 @@ private async Task<Document> CreateChangedDocument(CodeFixContext context, Prope
148145

149146
private bool IsContentElement(XmlNodeSyntax syntax)
150147
{
151-
switch (syntax.CSharpKind())
148+
switch (syntax.Kind())
152149
{
153150
case SyntaxKind.XmlCDataSection:
154151
case SyntaxKind.XmlElement:

OpenStackNetAnalyzers/OpenStackNetAnalyzers/DocumentationSyntaxExtensions.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,7 @@ public static SyntaxList<XmlNodeSyntax> WithoutFirstAndLastNewlines(this SyntaxL
163163
{
164164
SyntaxToken newFirstToken = SyntaxFactory.Token(
165165
firstTextToken.LeadingTrivia,
166-
firstTextToken.CSharpKind(),
166+
firstTextToken.Kind(),
167167
trimmed,
168168
firstTextToken.ValueText.TrimStart(),
169169
firstTextToken.TrailingTrivia);

OpenStackNetAnalyzers/OpenStackNetAnalyzers/ImplementBuilderPatternCodeFix.cs

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,18 +20,15 @@ public class ImplementBuilderPatternCodeFix : CodeFixProvider
2020
private static readonly ImmutableArray<string> _fixableDiagnostics =
2121
ImmutableArray.Create(ImplementBuilderPatternAnalyzer.DiagnosticId);
2222

23-
public sealed override ImmutableArray<string> GetFixableDiagnosticIds()
24-
{
25-
return _fixableDiagnostics;
26-
}
23+
public sealed override ImmutableArray<string> FixableDiagnosticIds => _fixableDiagnostics;
2724

2825
public override FixAllProvider GetFixAllProvider()
2926
{
3027
// This code fix can only be applied to one property at a time
3128
return null;
3229
}
3330

34-
public override async Task ComputeFixesAsync(CodeFixContext context)
31+
public override async Task RegisterCodeFixesAsync(CodeFixContext context)
3532
{
3633
foreach (var diagnostic in context.Diagnostics)
3734
{
@@ -52,7 +49,7 @@ public override async Task ComputeFixesAsync(CodeFixContext context)
5249
continue;
5350

5451
string description = string.Format("Implement builder method 'With{0}'", propertyDeclaration.Identifier.ValueText);
55-
context.RegisterFix(CodeAction.Create(description, cancellationToken => CreateChangedSolution(context, classDeclarationSyntax, propertyDeclaration, cancellationToken)), diagnostic);
52+
context.RegisterCodeFix(CodeAction.Create(description, cancellationToken => CreateChangedSolution(context, classDeclarationSyntax, propertyDeclaration, cancellationToken)), diagnostic);
5653
}
5754
}
5855

0 commit comments

Comments
 (0)