From f934c9aeb66fb0131af2923b783c8f90de9710af Mon Sep 17 00:00:00 2001 From: Mansheng Yang Date: Fri, 1 Jun 2012 08:31:57 +0800 Subject: [PATCH] [CodeAction] ConvertExplicitToImplicitImplementation: make implicit implementation public --- .../ConvertExplicitToImplicitImplementationAction.cs | 5 +++++ .../ConvertExplicitToImplicitImplementationTests.cs | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/ICSharpCode.NRefactory.CSharp/Refactoring/CodeActions/ConvertExplicitToImplicitImplementationAction.cs b/ICSharpCode.NRefactory.CSharp/Refactoring/CodeActions/ConvertExplicitToImplicitImplementationAction.cs index 0cdc005d04..d429d4f829 100644 --- a/ICSharpCode.NRefactory.CSharp/Refactoring/CodeActions/ConvertExplicitToImplicitImplementationAction.cs +++ b/ICSharpCode.NRefactory.CSharp/Refactoring/CodeActions/ConvertExplicitToImplicitImplementationAction.cs @@ -57,6 +57,11 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring { var implicitImpl = (MethodDeclaration)node.Clone (); implicitImpl.PrivateImplementationType = AstType.Null; + + // remove visibility modifier, in case the code contains error + implicitImpl.Modifiers &= ~Modifiers.VisibilityMask; + + implicitImpl.Modifiers |= Modifiers.Public; script.Replace (node, implicitImpl); }); } diff --git a/ICSharpCode.NRefactory.Tests/CSharp/CodeActions/ConvertExplicitToImplicitImplementationTests.cs b/ICSharpCode.NRefactory.Tests/CSharp/CodeActions/ConvertExplicitToImplicitImplementationTests.cs index 5486559e59..13d2cf8b80 100644 --- a/ICSharpCode.NRefactory.Tests/CSharp/CodeActions/ConvertExplicitToImplicitImplementationTests.cs +++ b/ICSharpCode.NRefactory.Tests/CSharp/CodeActions/ConvertExplicitToImplicitImplementationTests.cs @@ -52,7 +52,7 @@ interface ITest } class TestClass : ITest { - void Method () + public void Method () { } }");