From d8ff8210c51b60df2c1ff466481cc461015462b5 Mon Sep 17 00:00:00 2001 From: Daniel Grunwald Date: Wed, 21 Jan 2009 18:55:55 +0000 Subject: [PATCH] Remove abstract/sealed modifiers from interface when extracting an interface from a class. git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/branches/3.0@3772 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61 --- .../RefactoringService/FindReferencesAndRenameHelper.cs | 2 +- .../Project/Src/Services/MessageService/IMessageService.cs | 2 +- .../Project/Src/Services/MessageService/MessageService.cs | 2 +- .../Project/Src/Refactoring/NRefactoryRefactoringProvider.cs | 4 ++++ 4 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/Main/Base/Project/Src/Services/RefactoringService/FindReferencesAndRenameHelper.cs b/src/Main/Base/Project/Src/Services/RefactoringService/FindReferencesAndRenameHelper.cs index 2dc6e5b5c7..4235d30ed7 100644 --- a/src/Main/Base/Project/Src/Services/RefactoringService/FindReferencesAndRenameHelper.cs +++ b/src/Main/Base/Project/Src/Services/RefactoringService/FindReferencesAndRenameHelper.cs @@ -54,7 +54,7 @@ namespace ICSharpCode.SharpDevelop.Refactoring 1, "${res:Global.ReplaceButtonText}", "${res:Global.AbortButtonText}"); - if (confirmReplace == 1) { + if (confirmReplace != 0) { return; } } diff --git a/src/Main/Core/Project/Src/Services/MessageService/IMessageService.cs b/src/Main/Core/Project/Src/Services/MessageService/IMessageService.cs index bd9fd54973..711362f8ac 100644 --- a/src/Main/Core/Project/Src/Services/MessageService/IMessageService.cs +++ b/src/Main/Core/Project/Src/Services/MessageService/IMessageService.cs @@ -48,7 +48,7 @@ namespace ICSharpCode.Core.Services /// Use -1 if you don't want to have a cancel button. /// /// The captions of the buttons. - /// The number of the button that was clicked. + /// The number of the button that was clicked, or -1 if the dialog was closed without clicking a button. int ShowCustomDialog(string caption, string dialogText, int acceptButtonIndex, int cancelButtonIndex, params string[] buttontexts); string ShowInputBox(string caption, string dialogText, string defaultValue); void ShowMessage(string message, string caption); diff --git a/src/Main/Core/Project/Src/Services/MessageService/MessageService.cs b/src/Main/Core/Project/Src/Services/MessageService/MessageService.cs index 0c07648b72..083b166266 100644 --- a/src/Main/Core/Project/Src/Services/MessageService/MessageService.cs +++ b/src/Main/Core/Project/Src/Services/MessageService/MessageService.cs @@ -142,7 +142,7 @@ namespace ICSharpCode.Core /// Use -1 if you don't want to have a cancel button. /// /// The captions of the buttons. - /// The number of the button that was clicked. + /// The number of the button that was clicked, or -1 if the dialog was closed without clicking a button. public static int ShowCustomDialog(string caption, string dialogText, int acceptButtonIndex, int cancelButtonIndex, params string[] buttontexts) { return ServiceManager.MessageService.ShowCustomDialog(caption, dialogText, acceptButtonIndex, cancelButtonIndex, buttontexts); diff --git a/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/Refactoring/NRefactoryRefactoringProvider.cs b/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/Refactoring/NRefactoryRefactoringProvider.cs index a8b42bc000..97ab793c07 100644 --- a/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/Refactoring/NRefactoryRefactoringProvider.cs +++ b/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/Refactoring/NRefactoryRefactoringProvider.cs @@ -96,6 +96,10 @@ namespace ICSharpCode.SharpDevelop.Dom.Refactoring public override string GenerateInterfaceForClass(string newInterfaceName, string existingCode, IList membersToKeep, IClass sourceClass, bool preserveComments) { Modifiers modifiers = CodeGenerator.ConvertModifier(sourceClass.Modifiers, new ClassFinder(membersToKeep[0])); + // keep only visibility modifiers and 'unsafe' modifier + // -> remove abstract,sealed,static + modifiers &= Modifiers.Visibility | Modifiers.Unsafe; + TypeDeclaration interfaceDef = new TypeDeclaration(modifiers, new List()); interfaceDef.Name = newInterfaceName; interfaceDef.Type = NR.Ast.ClassType.Interface;