Browse Source

Fixed forum-17250: Refactor->Rename does not work on local variables, method parameters and constructor calls.

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/branches/2.1@2538 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Daniel Grunwald 18 years ago
parent
commit
e11e1322bc
  1. 6
      src/Main/Base/Project/Src/Services/RefactoringService/LocalVariableRefactoring.cs
  2. 29
      src/Main/Base/Project/Src/Services/RefactoringService/RefactorMenu.cs

6
src/Main/Base/Project/Src/Services/RefactoringService/LocalVariableRefactoring.cs

@ -29,7 +29,11 @@ namespace ICSharpCode.SharpDevelop.Refactoring @@ -29,7 +29,11 @@ namespace ICSharpCode.SharpDevelop.Refactoring
{
public override void Run()
{
LocalResolveResult local = (LocalResolveResult)Owner;
Run((LocalResolveResult)Owner);
}
public static void Run(LocalResolveResult local)
{
string newName = MessageService.ShowInputBox("${res:SharpDevelop.Refactoring.Rename}", "${res:SharpDevelop.Refactoring.RenameMemberText}", local.Field.Name);
if (!FindReferencesAndRenameHelper.CheckName(newName, local.Field.Name)) return;

29
src/Main/Base/Project/Src/Services/RefactoringService/RefactorMenu.cs

@ -114,18 +114,13 @@ namespace ICSharpCode.SharpDevelop.Refactoring @@ -114,18 +114,13 @@ namespace ICSharpCode.SharpDevelop.Refactoring
ResolveResult rr = ResolveAtCaret(textEditor);
if (rr is MixedResolveResult) rr = (rr as MixedResolveResult).PrimaryResult;
if (rr is TypeResolveResult) {
IClass c = (rr as TypeResolveResult).ResolvedClass;
if (c == null) {
ShowUnknownSymbolError();
} else if (c.CompilationUnit.FileName == null) {
ShowNoUserCodeError();
} else {
FindReferencesAndRenameHelper.RenameClass(c);
}
Rename((rr as TypeResolveResult).ResolvedClass);
} else if (rr is MemberResolveResult) {
Rename((rr as MemberResolveResult).ResolvedMember);
} else if (rr is MethodResolveResult) {
Rename((rr as MethodResolveResult).GetMethodIfSingleOverload());
} else if (rr is LocalResolveResult) {
RenameLocalVariableCommand.Run(rr as LocalResolveResult);
} else {
ShowUnknownSymbolError();
}
@ -147,7 +142,23 @@ namespace ICSharpCode.SharpDevelop.Refactoring @@ -147,7 +142,23 @@ namespace ICSharpCode.SharpDevelop.Refactoring
} else if (member.DeclaringType.CompilationUnit.FileName == null) {
ShowNoUserCodeError();
} else {
FindReferencesAndRenameHelper.RenameMember(member);
IMethod method = member as IMethod;
if (method != null && method.IsConstructor) {
Rename(method.DeclaringType);
} else {
FindReferencesAndRenameHelper.RenameMember(member);
}
}
}
static void Rename(IClass c)
{
if (c == null) {
ShowUnknownSymbolError();
} else if (c.CompilationUnit.FileName == null) {
ShowNoUserCodeError();
} else {
FindReferencesAndRenameHelper.RenameClass(c);
}
}
}

Loading…
Cancel
Save