Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 318510 - [refactoring] Implement Rename in Workspace quick fix
Summary: [refactoring] Implement Rename in Workspace quick fix
Status: RESOLVED FIXED
Alias: None
Product: CDT
Classification: Tools
Component: cdt-refactoring (show other bugs)
Version: 7.0   Edit
Hardware: PC All
: P3 enhancement (vote)
Target Milestone: 8.0   Edit
Assignee: Sergey Prigogin CLA
QA Contact: Emanuel Graf CLA
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-06-30 14:18 EDT by Sergey Prigogin CLA
Modified: 2010-09-14 12:08 EDT (History)
2 users (show)

See Also:


Attachments
Proposed implementation (185.57 KB, patch)
2010-08-29 23:51 EDT, Sergey Prigogin CLA
eclipse.sprigogin: iplog-
Details | Diff
Final implementation. (212.35 KB, patch)
2010-09-12 01:20 EDT, Sergey Prigogin CLA
eclipse.sprigogin: iplog-
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Sergey Prigogin CLA 2010-06-30 14:18:59 EDT
Implement JDT-style Rename in Workspace quick fix.
Comment 1 Sergey Prigogin CLA 2010-08-29 23:51:46 EDT
Created attachment 177698 [details]
Proposed implementation

A review of the implementation will be appreciated. I'm particularly interested in  Markus' opinion on the changes in ASTManager.
Comment 2 Sergey Prigogin CLA 2010-09-01 02:27:54 EDT
Markus, could you please review changes in ASTManager. Thanks.
Comment 3 Sergey Prigogin CLA 2010-09-12 01:20:15 EDT
Created attachment 178696 [details]
Final implementation.
Comment 4 Sergey Prigogin CLA 2010-09-12 01:22:19 EDT
Fixed in HEAD > 20100911.
Comment 5 CDT Genie CLA 2010-09-12 02:23:03 EDT
*** cdt cvs genie on behalf of sprigogin ***
Bug 318510 - Lightweight rename refactoring.

[*] CRenameProcessor.java 1.6 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/all/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/rename/CRenameProcessor.java?root=Tools_Project&r1=1.5&r2=1.6
[*] RenameMessages.java 1.3 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/all/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/rename/RenameMessages.java?root=Tools_Project&r1=1.2&r2=1.3
[*] CRenameProcessorDelegate.java 1.10 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/all/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/rename/CRenameProcessorDelegate.java?root=Tools_Project&r1=1.9&r2=1.10
[+] CRenameRefactoringPreferences.java  http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/all/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/rename/CRenameRefactoringPreferences.java?root=Tools_Project&revision=1.1&view=markup
[*] CRenameRefactoringInputPage.java 1.8 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/all/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/rename/CRenameRefactoringInputPage.java?root=Tools_Project&r1=1.7&r2=1.8
[*] CRenameLocalProcessor.java 1.6 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/all/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/rename/CRenameLocalProcessor.java?root=Tools_Project&r1=1.5&r2=1.6
[+] RenameInformationPopup.java  http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/all/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/rename/RenameInformationPopup.java?root=Tools_Project&revision=1.1&view=markup
[*] CRenameIncludeProcessor.java 1.4 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/all/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/rename/CRenameIncludeProcessor.java?root=Tools_Project&r1=1.3&r2=1.4
[*] CRenameGlobalProcessor.java 1.3 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/all/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/rename/CRenameGlobalProcessor.java?root=Tools_Project&r1=1.2&r2=1.3
[*] ASTManager.java 1.21 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/all/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/rename/ASTManager.java?root=Tools_Project&r1=1.20&r2=1.21
[*] CRefactory.java 1.9 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/all/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/rename/CRefactory.java?root=Tools_Project&r1=1.8&r2=1.9
[*] CRenameRefactoring.java 1.2 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/all/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/rename/CRenameRefactoring.java?root=Tools_Project&r1=1.1&r2=1.2
[+] RenameLinkedMode.java  http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/all/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/rename/RenameLinkedMode.java?root=Tools_Project&revision=1.1&view=markup
[+] RenameSupport.java  http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/all/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/rename/RenameSupport.java?root=Tools_Project&revision=1.1&view=markup
[*] RenameMessages.properties 1.3 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/all/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/rename/RenameMessages.properties?root=Tools_Project&r1=1.2&r2=1.3

[*] Messages.properties 1.2 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/all/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/Messages.properties?root=Tools_Project&r1=1.1&r2=1.2
[*] Messages.java 1.6 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/all/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/Messages.java?root=Tools_Project&r1=1.5&r2=1.6
[+] IScheduledRefactoring.java  http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/all/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/IScheduledRefactoring.java?root=Tools_Project&revision=1.1&view=markup
[+] RefactoringSavePreferences.java  http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/all/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/RefactoringSavePreferences.java?root=Tools_Project&revision=1.1&view=markup
[*] CRefactoringDescription.java 1.2 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/all/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/CRefactoringDescription.java?root=Tools_Project&r1=1.1&r2=1.2
[+] RefactoringStarter.java  http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/all/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/RefactoringStarter.java?root=Tools_Project&revision=1.1&view=markup
[+] ChangeExceptionHandler.java  http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/all/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/ChangeExceptionHandler.java?root=Tools_Project&revision=1.1&view=markup
[+] RefactoringSaveHelper.java  http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/all/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/RefactoringSaveHelper.java?root=Tools_Project&revision=1.1&view=markup
[+] RefactoringExecutionHelper.java  http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/all/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/RefactoringExecutionHelper.java?root=Tools_Project&revision=1.1&view=markup
[+] RefactoringAvailabilityTester.java  http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/all/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/refactoring/RefactoringAvailabilityTester.java?root=Tools_Project&revision=1.1&view=markup

[*] CCorrectionAssistant.java 1.8 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/all/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/correction/CCorrectionAssistant.java?root=Tools_Project&r1=1.7&r2=1.8
[*] CorrectionCommandHandler.java 1.8 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/all/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/correction/CorrectionCommandHandler.java?root=Tools_Project&r1=1.7&r2=1.8
[*] CorrectionMessages.properties 1.4 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/all/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/correction/CorrectionMessages.properties?root=Tools_Project&r1=1.3&r2=1.4
[*] CorrectionMessages.java 1.4 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/all/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/correction/CorrectionMessages.java?root=Tools_Project&r1=1.3&r2=1.4
[*] QuickAssistProcessor.java 1.2 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/all/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/correction/QuickAssistProcessor.java?root=Tools_Project&r1=1.1&r2=1.2

[*] PreferencesMessages.java 1.46 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/all/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/preferences/PreferencesMessages.java?root=Tools_Project&r1=1.45&r2=1.46
[*] PreferencesMessages.properties 1.96 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/all/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/preferences/PreferencesMessages.properties?root=Tools_Project&r1=1.95&r2=1.96
[*] CPluginPreferencePage.java 1.30 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/all/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/preferences/CPluginPreferencePage.java?root=Tools_Project&r1=1.29&r2=1.30

[*] ActionMessages.java 1.12 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/all/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/actions/ActionMessages.java?root=Tools_Project&r1=1.11&r2=1.12
[*] WorkbenchRunnableAdapter.java 1.9 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/all/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/actions/WorkbenchRunnableAdapter.java?root=Tools_Project&r1=1.8&r2=1.9
[*] ActionMessages.properties 1.20 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/all/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/actions/ActionMessages.properties?root=Tools_Project&r1=1.19&r2=1.20
[*] ActionUtil.java 1.7 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/all/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/actions/ActionUtil.java?root=Tools_Project&r1=1.6&r2=1.7

[+] RenameRefactoringProposal.java  http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/all/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/correction/proposals/RenameRefactoringProposal.java?root=Tools_Project&revision=1.1&view=markup

[*] CEditor.java 1.217 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/all/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/editor/CEditor.java?root=Tools_Project&r1=1.216&r2=1.217

[*] OpenAction.java 1.12 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/all/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/actions/OpenAction.java?root=Tools_Project&r1=1.11&r2=1.12

[*] CRenameAction.java 1.4 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/all/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/refactoring/actions/CRenameAction.java?root=Tools_Project&r1=1.3&r2=1.4
[*] RefactoringAction.java 1.7 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/all/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/refactoring/actions/RefactoringAction.java?root=Tools_Project&r1=1.6&r2=1.7

[*] Strings.java 1.4 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/all/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/corext/util/Strings.java?root=Tools_Project&r1=1.3&r2=1.4

[*] CUIPlugin.java 1.95 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/all/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/CUIPlugin.java?root=Tools_Project&r1=1.94&r2=1.95
[*] PreferenceConstants.java 1.61 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/all/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/PreferenceConstants.java?root=Tools_Project&r1=1.60&r2=1.61

[+] BasicElementLabels.java  http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/all/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/viewsupport/BasicElementLabels.java?root=Tools_Project&revision=1.1&view=markup

[*] CPluginImages.java 1.92 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/all/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/CPluginImages.java?root=Tools_Project&r1=1.91&r2=1.92

[*] EditorUtility.java 1.71 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/all/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/util/EditorUtility.java?root=Tools_Project&r1=1.70&r2=1.71

[*] AssistQuickFixTest.java 1.4 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/all/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/quickfix/AssistQuickFixTest.java?root=Tools_Project&r1=1.3&r2=1.4
Comment 6 Marc-André Laperle CLA 2010-09-13 13:04:57 EDT
Hi Sergey. I just updated to HEAD and I can't rename (alt+shift+r) a simple variable. Maybe a file was not committed? Am I missing something?

int main()
{
  int foo; <-- rename
  foo;
}

Caused by: java.lang.NumberFormatException: There is no setting associated with the key "scope"
	at org.eclipse.jface.dialogs.DialogSettings.getInt(DialogSettings.java:185)
	at org.eclipse.cdt.internal.ui.refactoring.rename.CRenameRefactoringPreferences.getInt(CRenameRefactoringPreferences.java:53)
	at org.eclipse.cdt.internal.ui.refactoring.rename.RenameLinkedMode.undoAndCreateRenameSupport(RenameLinkedMode.java:429)
	at org.eclipse.cdt.internal.ui.refactoring.rename.RenameLinkedMode.doRename(RenameLinkedMode.java:325)
	at org.eclipse.cdt.internal.ui.refactoring.rename.RenameLinkedMode$EditorSynchronizer.left(RenameLinkedMode.java:106)
...
Comment 7 Sergey Prigogin CLA 2010-09-13 13:11:12 EDT
(In reply to comment #6)
The new code is not defensive enough. Will fix shortly.
Comment 8 Sergey Prigogin CLA 2010-09-13 14:34:32 EDT
(In reply to comment #7)
> (In reply to comment #6)
> The new code is not defensive enough. Will fix shortly.

Fixed.
Comment 10 Marc-André Laperle CLA 2010-09-14 12:08:33 EDT
(In reply to comment #8)
> Fixed.

Thanks for working on this, it's a nice feature. I will do some real world testing and report any problems.