Skip to content

Commit 17c970b

Browse files
In progress
1 parent 9177306 commit 17c970b

File tree

14 files changed

+106
-63
lines changed

14 files changed

+106
-63
lines changed

src/Analyzers/Core/CodeFixes/CodeFixes.projitems

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,11 @@
3737
<Compile Include="$(MSBuildThisFileDirectory)FileHeaders\AbstractFileHeaderCodeFixProvider.cs" />
3838
<Compile Include="$(MSBuildThisFileDirectory)ForEachCast\AbstractForEachCastCodeFixProvider.cs" />
3939
<Compile Include="$(MSBuildThisFileDirectory)Formatting\FormattingCodeFixProvider.cs" />
40+
<Compile Include="$(MSBuildThisFileDirectory)ImplementAbstractClass\AbstractImplementAbstractClassCodeFixProvider.cs" />
41+
<Compile Include="$(MSBuildThisFileDirectory)ImplementAbstractClass\ImplementAbstractClassData.cs" />
42+
<Compile Include="$(MSBuildThisFileDirectory)ImplementType\ImplementTypeInsertionBehavior.cs" />
43+
<Compile Include="$(MSBuildThisFileDirectory)ImplementType\ImplementTypeOptions.cs" />
44+
<Compile Include="$(MSBuildThisFileDirectory)ImplementType\ImplementTypePropertyGenerationBehavior.cs" />
4045
<Compile Include="$(MSBuildThisFileDirectory)Iterator\AbstractIteratorCodeFixProvider.cs" />
4146
<Compile Include="$(MSBuildThisFileDirectory)MakeFieldReadonly\AbstractMakeFieldReadonlyCodeFixProvider.cs" />
4247
<Compile Include="$(MSBuildThisFileDirectory)MakeMemberStatic\AbstractMakeMemberStaticCodeFixProvider.cs" />

src/Features/Core/Portable/ImplementAbstractClass/ImplementAbstractClassData.cs renamed to src/Analyzers/Core/CodeFixes/ImplementAbstractClass/ImplementAbstractClassData.cs

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
using Microsoft.CodeAnalysis;
1313
using Microsoft.CodeAnalysis.CodeActions;
1414
using Microsoft.CodeAnalysis.CodeGeneration;
15-
using Microsoft.CodeAnalysis.Editing;
15+
1616
using Microsoft.CodeAnalysis.ImplementInterface;
1717
using Microsoft.CodeAnalysis.ImplementType;
1818
using Microsoft.CodeAnalysis.LanguageService;
@@ -21,6 +21,12 @@
2121
using Microsoft.CodeAnalysis.Shared.Utilities;
2222
using Roslyn.Utilities;
2323

24+
#if CODE_STYLE
25+
namespace Microsoft.CodeAnalysis.Internal.Editing;
26+
#else
27+
namespace Microsoft.CodeAnalysis.Editing;
28+
#endif
29+
2430
namespace Microsoft.CodeAnalysis.ImplementAbstractClass;
2531

2632
internal sealed class ImplementAbstractClassData(

src/Workspaces/SharedUtilitiesAndExtensions/Compiler/Core/CodeCleanup/CodeCleanupOptions.cs

Lines changed: 0 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -43,24 +43,3 @@ public OrganizeImportsOptions GetOrganizeImportsOptions()
4343
};
4444
#endif
4545
}
46-
47-
internal static class CodeCleanupOptionsProviders
48-
{
49-
#if !CODE_STYLE
50-
public static CodeCleanupOptions GetCodeCleanupOptions(this IOptionsReader options, LanguageServices languageServices, bool? allowImportsInHiddenRegions = null)
51-
=> new()
52-
{
53-
FormattingOptions = options.GetSyntaxFormattingOptions(languageServices),
54-
SimplifierOptions = options.GetSimplifierOptions(languageServices),
55-
AddImportOptions = options.GetAddImportPlacementOptions(languageServices, allowImportsInHiddenRegions),
56-
DocumentFormattingOptions = options.GetDocumentFormattingOptions(),
57-
};
58-
59-
public static async ValueTask<CodeCleanupOptions> GetCodeCleanupOptionsAsync(this Document document, CancellationToken cancellationToken)
60-
{
61-
var configOptions = await document.GetAnalyzerConfigOptionsAsync(cancellationToken).ConfigureAwait(false);
62-
return configOptions.GetCodeCleanupOptions(document.Project.Services, document.AllowImportsInHiddenRegions());
63-
}
64-
#endif
65-
}
66-

src/Workspaces/SharedUtilitiesAndExtensions/Compiler/Core/CodeGeneration/CodeGenerationOptions.cs

Lines changed: 0 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -63,40 +63,3 @@ internal static CodeAndImportGenerationOptions GetDefault(LanguageServices langu
6363
};
6464
#endif
6565
}
66-
67-
internal static class CodeGenerationOptionsProviders
68-
{
69-
#if !CODE_STYLE
70-
public static CodeGenerationOptions GetCodeGenerationOptions(this IOptionsReader options, LanguageServices languageServices)
71-
=> languageServices.GetRequiredService<ICodeGenerationService>().GetCodeGenerationOptions(options);
72-
73-
public static CodeAndImportGenerationOptions GetCodeAndImportGenerationOptions(this IOptionsReader options, LanguageServices languageServices, bool? allowImportsInHiddenRegions = null)
74-
=> new()
75-
{
76-
GenerationOptions = options.GetCodeGenerationOptions(languageServices),
77-
AddImportOptions = options.GetAddImportPlacementOptions(languageServices, allowImportsInHiddenRegions)
78-
};
79-
80-
public static CleanCodeGenerationOptions GetCleanCodeGenerationOptions(this IOptionsReader options, LanguageServices languageServices, bool? allowImportsInHiddenRegions = null)
81-
=> new()
82-
{
83-
GenerationOptions = options.GetCodeGenerationOptions(languageServices),
84-
CleanupOptions = options.GetCodeCleanupOptions(languageServices, allowImportsInHiddenRegions)
85-
};
86-
87-
public static async ValueTask<CodeGenerationOptions> GetCodeGenerationOptionsAsync(this Document document, CancellationToken cancellationToken)
88-
{
89-
var configOptions = await document.GetAnalyzerConfigOptionsAsync(cancellationToken).ConfigureAwait(false);
90-
return configOptions.GetCodeGenerationOptions(document.Project.Services);
91-
}
92-
93-
public static async ValueTask<CodeGenerationContextInfo> GetCodeGenerationInfoAsync(this Document document, CodeGenerationContext context, CancellationToken cancellationToken)
94-
{
95-
Contract.ThrowIfNull(document.Project.ParseOptions);
96-
97-
var options = await GetCodeGenerationOptionsAsync(document, cancellationToken).ConfigureAwait(false);
98-
var service = document.Project.Services.GetRequiredService<ICodeGenerationService>();
99-
return service.GetInfo(context, options, document.Project.ParseOptions);
100-
}
101-
#endif
102-
}

src/Workspaces/SharedUtilitiesAndExtensions/Workspace/Core/AddImport/AddImportPlacementOptionsProviders.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,8 @@ public static bool AllowImportsInHiddenRegions(this Document document)
2121
=> document.Services.GetService<Host.ISpanMappingService>()?.SupportsMappingImportDirectives == true;
2222
#endif
2323

24-
#if !CODE_STYLE
2524
public static AddImportPlacementOptions GetAddImportPlacementOptions(this IOptionsReader options, Host.LanguageServices languageServices, bool? allowInHiddenRegions)
2625
=> languageServices.GetRequiredService<IAddImportsService>().GetAddImportOptions(options, allowInHiddenRegions ?? AddImportPlacementOptions.Default.AllowInHiddenRegions);
27-
#endif
2826

2927
public static async ValueTask<AddImportPlacementOptions> GetAddImportPlacementOptionsAsync(this Document document, CancellationToken cancellationToken)
3028
{
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
using Microsoft.CodeAnalysis.Options;
2+
using System.Threading;
3+
using System.Threading.Tasks;
4+
using System.Runtime.Serialization;
5+
using Microsoft.CodeAnalysis.Formatting;
6+
using Microsoft.CodeAnalysis.Simplification;
7+
using Microsoft.CodeAnalysis.AddImport;
8+
using Microsoft.CodeAnalysis.Options;
9+
using Roslyn.Utilities;
10+
using Microsoft.CodeAnalysis.Host;
11+
12+
namespace Microsoft.CodeAnalysis.CodeCleanup;
13+
14+
internal static class CodeCleanupOptionsProviders
15+
{
16+
public static CodeCleanupOptions GetCodeCleanupOptions(this IOptionsReader options, LanguageServices languageServices, bool? allowImportsInHiddenRegions = null)
17+
=> new()
18+
{
19+
FormattingOptions = options.GetSyntaxFormattingOptions(languageServices),
20+
SimplifierOptions = options.GetSimplifierOptions(languageServices),
21+
AddImportOptions = options.GetAddImportPlacementOptions(languageServices, allowImportsInHiddenRegions),
22+
DocumentFormattingOptions = options.GetDocumentFormattingOptions(),
23+
};
24+
25+
#if !CODE_STYLE
26+
public static async ValueTask<CodeCleanupOptions> GetCodeCleanupOptionsAsync(this Document document, CancellationToken cancellationToken)
27+
{
28+
var configOptions = await document.GetAnalyzerConfigOptionsAsync(cancellationToken).ConfigureAwait(false);
29+
return configOptions.GetCodeCleanupOptions(document.Project.Services, document.AllowImportsInHiddenRegions());
30+
}
31+
#endif
32+
}
33+

0 commit comments

Comments
 (0)