Skip to content
Merged
Show file tree
Hide file tree
Changes from 29 commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
fb29e24
Move code to code style layer
CyrusNajmabadi Jul 25, 2024
af096b3
In progress
CyrusNajmabadi Jul 25, 2024
7aa5839
In progress
CyrusNajmabadi Jul 25, 2024
0dfc68a
In progress
CyrusNajmabadi Jul 25, 2024
16fdb8e
In progress
CyrusNajmabadi Jul 25, 2024
5ed5da5
In progress
CyrusNajmabadi Jul 25, 2024
33bf8c1
In progress
CyrusNajmabadi Jul 25, 2024
ccd6e3c
In progress
CyrusNajmabadi Jul 25, 2024
7b13c56
In progress
CyrusNajmabadi Jul 25, 2024
4d73095
Merge remote-tracking branch 'upstream/main' into moveImplInterfaceDown
CyrusNajmabadi Jul 25, 2024
ae2f835
Move more down
CyrusNajmabadi Jul 25, 2024
a70dc8e
Move more down
CyrusNajmabadi Jul 25, 2024
329b0a9
Move more down
CyrusNajmabadi Jul 25, 2024
7428489
Fix
CyrusNajmabadi Jul 25, 2024
482b2ea
Fix
CyrusNajmabadi Jul 25, 2024
b1cb322
Fix
CyrusNajmabadi Jul 25, 2024
3a7cac8
Merge remote-tracking branch 'upstream/main' into moveImplInterfaceDown
CyrusNajmabadi Jul 25, 2024
d4a4fd2
Move down
CyrusNajmabadi Jul 25, 2024
0bd95b7
Add back
CyrusNajmabadi Jul 25, 2024
226e058
Use formatting instance
CyrusNajmabadi Jul 25, 2024
bc78310
Enable import adding
CyrusNajmabadi Jul 25, 2024
6e0ad8a
Fixes
CyrusNajmabadi Jul 25, 2024
d6bae2f
move more code into shared location
CyrusNajmabadi Jul 25, 2024
9c8c21f
Remove assembly name
CyrusNajmabadi Jul 25, 2024
d9f02af
test fixes
CyrusNajmabadi Jul 25, 2024
e484039
test fixes
CyrusNajmabadi Jul 25, 2024
eb88b49
Raw string
CyrusNajmabadi Jul 25, 2024
d6302ca
raw strings
CyrusNajmabadi Jul 25, 2024
becc961
raw strings
CyrusNajmabadi Jul 25, 2024
e8cc4c9
tests
CyrusNajmabadi Jul 25, 2024
64361dd
tests
CyrusNajmabadi Jul 25, 2024
287cd06
Merge remote-tracking branch 'upstream/main' into moveImplInterfaceDown
CyrusNajmabadi Jul 25, 2024
b963304
fix
CyrusNajmabadi Jul 25, 2024
bc5dcf5
lint
CyrusNajmabadi Jul 25, 2024
aec47e7
Update src/Workspaces/SharedUtilitiesAndExtensions/Workspace/Core/Wor…
CyrusNajmabadi Jul 25, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions src/Analyzers/CSharp/CodeFixes/CSharpCodeFixes.projitems
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,8 @@
<Compile Include="$(MSBuildThisFileDirectory)HideBase\HideBaseCodeFixProvider.AddNewKeywordAction.cs" />
<Compile Include="$(MSBuildThisFileDirectory)HideBase\HideBaseCodeFixProvider.cs" />
<Compile Include="$(MSBuildThisFileDirectory)ImplementAbstractClass\CSharpImplementAbstractClassCodeFixProvider.cs" />
<Compile Include="$(MSBuildThisFileDirectory)ImplementInterface\CSharpImplementInterfaceCodeFixProvider.cs" />
<Compile Include="$(MSBuildThisFileDirectory)ImplementInterface\CSharpImplementInterfaceService.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Iterator\CSharpAddYieldCodeFixProvider.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Iterator\CSharpChangeToIEnumerableCodeFixProvider.cs" />
<Compile Include="$(MSBuildThisFileDirectory)MakeAnonymousFunctionStatic\CSharpMakeAnonymousFunctionStaticCodeFixProvider.cs" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,28 +5,32 @@
#nullable disable

using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Composition;
using System.Threading;
using Microsoft.CodeAnalysis;
using Microsoft.CodeAnalysis.CSharp.CodeGeneration;
using Microsoft.CodeAnalysis.CSharp.Extensions;
using Microsoft.CodeAnalysis.CSharp.Formatting;
using Microsoft.CodeAnalysis.CSharp.Syntax;
using Microsoft.CodeAnalysis.Editing;
using Microsoft.CodeAnalysis.Formatting;
using Microsoft.CodeAnalysis.Host.Mef;
using Microsoft.CodeAnalysis.ImplementInterface;
using Microsoft.CodeAnalysis.Shared.Extensions;

namespace Microsoft.CodeAnalysis.CSharp.ImplementInterface;

[ExportLanguageService(typeof(IImplementInterfaceService), LanguageNames.CSharp), Shared]
internal class CSharpImplementInterfaceService : AbstractImplementInterfaceService
[method: ImportingConstructor]
[method: Obsolete(MefConstruction.ImportingConstructorMessage, error: true)]
internal sealed class CSharpImplementInterfaceService() : AbstractImplementInterfaceService
{
[ImportingConstructor]
[Obsolete(MefConstruction.ImportingConstructorMessage, error: true)]
public CSharpImplementInterfaceService()
{
}
protected override ISyntaxFormatting SyntaxFormatting
=> CSharpSyntaxFormatting.Instance;

protected override SyntaxGeneratorInternal SyntaxGeneratorInternal
=> CSharpSyntaxGeneratorInternal.Instance;

protected override string ToDisplayString(IMethodSymbol disposeImplMethod, SymbolDisplayFormat format)
=> SymbolDisplay.ToDisplayString(disposeImplMethod, format);
Expand Down Expand Up @@ -90,16 +94,16 @@ protected override SyntaxNode CreateFinalizer(
{
// ' Do not change this code...
// Dispose(false)
var disposeStatement = (StatementSyntax)AddComment(g,
string.Format(FeaturesResources.Do_not_change_this_code_Put_cleanup_code_in_0_method, disposeMethodDisplayString),
var disposeStatement = (StatementSyntax)AddComment(
string.Format(CodeFixesResources.Do_not_change_this_code_Put_cleanup_code_in_0_method, disposeMethodDisplayString),
g.ExpressionStatement(g.InvocationExpression(
g.IdentifierName(nameof(IDisposable.Dispose)),
g.Argument(DisposingName, RefKind.None, g.FalseLiteralExpression()))));

var methodDecl = SyntaxFactory.DestructorDeclaration(classType.Name).AddBodyStatements(disposeStatement);

return AddComment(g,
string.Format(FeaturesResources.TODO_colon_override_finalizer_only_if_0_has_code_to_free_unmanaged_resources, disposeMethodDisplayString),
return AddComment(
string.Format(CodeFixesResources.TODO_colon_override_finalizer_only_if_0_has_code_to_free_unmanaged_resources, disposeMethodDisplayString),
methodDecl);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,8 @@
<Compile Include="$(MSBuildThisFileDirectory)ImplementAbstractClass\ImplementAbstractClassTests.cs" />
<Compile Include="$(MSBuildThisFileDirectory)ImplementAbstractClass\ImplementAbstractClassTests_FixAllTests.cs" />
<Compile Include="$(MSBuildThisFileDirectory)ImplementAbstractClass\ImplementAbstractClassTests_ThroughMember.cs" />
<Compile Include="$(MSBuildThisFileDirectory)ImplementInterface\ImplementInterfaceTests.cs" />
<Compile Include="$(MSBuildThisFileDirectory)ImplementInterface\ImplementInterfaceTests_FixAllTests.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Iterator\AddYieldTests.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Iterator\ChangeToIEnumerableTests.cs" />
<Compile Include="$(MSBuildThisFileDirectory)MakeAnonymousFunctionStatic\MakeAnonymousFunctionStaticTests.cs" />
Expand Down
Loading